From 26972544a294acf93780ca8caecbc4f104da0438 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 9 Feb 2024 13:58:43 -0800 Subject: [PATCH 01/58] merge --- Directory.Build.props | 2 + FSharp.Compiler.Service.sln.DotSettings | 2 +- FSharpBuild.Directory.Build.props | 4 +- .../.FSharp.Compiler.Service/8.0.300.md | 1 + docs/release-notes/.FSharp.Core/8.0.200.md | 1 + docs/release-notes/.FSharp.Core/8.0.300.md | 6 +- src/Compiler/AbstractIL/il.fs | 1 + src/Compiler/Checking/CheckBasics.fs | 6 +- src/Compiler/Checking/CheckBasics.fsi | 4 + .../Checking/CheckComputationExpressions.fs | 2 +- src/Compiler/Checking/CheckDeclarations.fs | 76 +- src/Compiler/Checking/CheckDeclarations.fsi | 2 + src/Compiler/Checking/CheckExpressions.fs | 21 +- src/Compiler/Checking/CheckExpressions.fsi | 3 +- .../Checking/CheckIncrementalClasses.fs | 16 +- src/Compiler/Checking/NicePrint.fs | 4 +- src/Compiler/Checking/PostInferenceChecks.fs | 13 +- src/Compiler/Checking/PostInferenceChecks.fsi | 1 + src/Compiler/Checking/SignatureConformance.fs | 2 +- src/Compiler/Checking/SignatureHash.fs | 2 +- src/Compiler/Checking/TailCallChecks.fs | 2 +- src/Compiler/Checking/import.fs | 4 +- src/Compiler/CodeGen/IlxGen.fs | 653 +- src/Compiler/Driver/CompilerConfig.fs | 4 + src/Compiler/Driver/CompilerConfig.fsi | 4 + src/Compiler/Driver/CompilerImports.fs | 4 +- src/Compiler/Driver/CompilerOptions.fs | 11 + src/Compiler/Driver/ParseAndCheckInputs.fs | 4 + src/Compiler/FSComp.txt | 2 +- src/Compiler/Interactive/fsi.fs | 5 +- .../Optimize/InnerLambdasToTopLevelFuncs.fs | 42 +- src/Compiler/Optimize/Optimizer.fs | 199 +- src/Compiler/Symbols/Symbols.fs | 20 +- src/Compiler/TypedTree/TcGlobals.fs | 7 +- src/Compiler/TypedTree/TypedTree.fs | 106 +- src/Compiler/TypedTree/TypedTree.fsi | 39 +- src/Compiler/TypedTree/TypedTreeBasics.fs | 61 +- src/Compiler/TypedTree/TypedTreeBasics.fsi | 2 - src/Compiler/TypedTree/TypedTreeOps.fs | 49 +- src/Compiler/TypedTree/TypedTreeOps.fsi | 6 + src/Compiler/TypedTree/TypedTreePickle.fs | 4 +- src/Compiler/xlf/FSComp.txt.cs.xlf | 10 +- src/Compiler/xlf/FSComp.txt.de.xlf | 10 +- src/Compiler/xlf/FSComp.txt.es.xlf | 10 +- src/Compiler/xlf/FSComp.txt.fr.xlf | 10 +- src/Compiler/xlf/FSComp.txt.it.xlf | 10 +- src/Compiler/xlf/FSComp.txt.ja.xlf | 10 +- src/Compiler/xlf/FSComp.txt.ko.xlf | 10 +- src/Compiler/xlf/FSComp.txt.pl.xlf | 10 +- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 10 +- src/Compiler/xlf/FSComp.txt.ru.xlf | 10 +- src/Compiler/xlf/FSComp.txt.tr.xlf | 10 +- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 10 +- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 10 +- src/FSharp.Core/array.fs | 2 + src/FSharp.Core/fslib-extra-pervasives.fs | 3 +- src/FSharp.Core/fslib-extra-pervasives.fsi | 6 +- src/FSharp.Core/printf.fs | 18 +- tests/AheadOfTime/Trimming/check.ps1 | 6 +- .../fsc/misc/compiler_help_output.bsl | 1 + .../AttributeUsage/AttributeUsage.fs | 2 +- .../BasicGrammarElements/MethodResolution.fs | 192 +- .../StaticLet/StaticLetInGenericRecords.fs | 2 +- .../StaticLetInGenericRecordsILtest.fs | 2 +- .../StaticLet/StaticLetInUnionsAndRecords.fs | 240 +- .../RecursiveSafetyAnalysis.fs | 2 +- .../AsyncExpressionStepping.fs | 45 + .../AsyncExpressionSteppingTest1.fs | 0 ...yncExpressionSteppingTest1.fs.il.debug.bsl | 0 ...cExpressionSteppingTest1.fs.il.release.bsl | 0 .../AsyncExpressionSteppingTest2.fs | 0 ...yncExpressionSteppingTest2.fs.il.debug.bsl | 0 ...cExpressionSteppingTest2.fs.il.release.bsl | 0 .../AsyncExpressionSteppingTest3.fs | 0 ...yncExpressionSteppingTest3.fs.il.debug.bsl | 0 ...cExpressionSteppingTest3.fs.il.release.bsl | 0 .../AsyncExpressionSteppingTest4.fs | 0 ...yncExpressionSteppingTest4.fs.il.debug.bsl | 0 ...cExpressionSteppingTest4.fs.il.release.bsl | 0 .../AsyncExpressionSteppingTest5.fs | 0 ...yncExpressionSteppingTest5.fs.il.debug.bsl | 0 ...cExpressionSteppingTest5.fs.il.release.bsl | 0 .../AsyncExpressionSteppingTest6.fs | 0 ...yncExpressionSteppingTest6.fs.il.debug.bsl | 0 ...cExpressionSteppingTest6.fs.il.release.bsl | 0 .../AsyncExpressionStepping.fs | 5 +- .../AsyncExpressionSteppingTest1.fs | 11 + ...yncExpressionSteppingTest1.fs.il.debug.bsl | 186 + ...cExpressionSteppingTest1.fs.il.release.bsl | 186 + .../AsyncExpressionSteppingTest2.fs | 11 + ...yncExpressionSteppingTest2.fs.il.debug.bsl | 284 + ...cExpressionSteppingTest2.fs.il.release.bsl | 284 + .../AsyncExpressionSteppingTest3.fs | 12 + ...yncExpressionSteppingTest3.fs.il.debug.bsl | 249 + ...cExpressionSteppingTest3.fs.il.release.bsl | 246 + .../AsyncExpressionSteppingTest4.fs | 15 + ...yncExpressionSteppingTest4.fs.il.debug.bsl | 395 + ...cExpressionSteppingTest4.fs.il.release.bsl | 386 + .../AsyncExpressionSteppingTest5.fs | 13 + ...yncExpressionSteppingTest5.fs.il.debug.bsl | 447 ++ ...cExpressionSteppingTest5.fs.il.release.bsl | 438 + .../AsyncExpressionSteppingTest6.fs | 22 + ...yncExpressionSteppingTest6.fs.il.debug.bsl | 818 ++ ...cExpressionSteppingTest6.fs.il.release.bsl | 788 ++ .../AttributeTargets.fs | 31 + .../{ => RealInternalSignatureOff}/Default.fs | 0 .../Default.fs.il.debug.bsl | 0 .../Default.fs.il.release.bsl | 0 .../{ => RealInternalSignatureOff}/Field.fs | 0 .../Field.fs.il.debug.bsl | 0 .../Field.fs.il.release.bsl | 0 .../Property.fs | 0 .../Property.fs.il.debug.bsl | 0 .../Property.fs.il.release.bsl | 0 .../AttributeTargets.fs | 5 +- .../RealInternalSignatureOn/Default.fs | 12 + .../Default.fs.il.debug.bsl | 129 + .../Default.fs.il.release.bsl | 129 + .../RealInternalSignatureOn/Field.fs | 12 + .../Field.fs.il.debug.bsl | 128 + .../Field.fs.il.release.bsl | 128 + .../RealInternalSignatureOn/Property.fs | 13 + .../Property.fs.il.debug.bsl | 128 + .../Property.fs.il.release.bsl | 128 + .../EmittedIL/ByRefTests.fs | 3 + .../CCtorDUWithMember.fs | 47 + .../CCtorDUWithMember01.fs | 0 .../CCtorDUWithMember01a.fs | 0 .../CCtorDUWithMember01a.fs.il.net472.bsl | 0 .../CCtorDUWithMember01a.fs.il.netcore.bsl | 0 .../CCtorDUWithMember02.fs | 0 .../CCtorDUWithMember02a.fs | 0 .../CCtorDUWithMember02a.fs.il.bsl | 0 .../CCtorDUWithMember03.fs | 0 .../CCtorDUWithMember03a.fs | 0 .../CCtorDUWithMember03a.fs.il.bsl | 0 .../CCtorDUWithMember04.fs | 0 .../CCtorDUWithMember04a.fs | 0 .../CCtorDUWithMember04a.fs.il.bsl | 0 .../CCtorDUWithMember.fs | 5 +- .../CCtorDUWithMember01.fs} | 0 .../CCtorDUWithMember01a.fs | 8 + .../CCtorDUWithMember01a.fs.il.net472.bsl | 618 ++ .../CCtorDUWithMember01a.fs.il.netcore.bsl | 526 ++ .../CCtorDUWithMember02.fs} | 0 .../CCtorDUWithMember02a.fs | 9 + .../CCtorDUWithMember02a.fs.il.bsl | 189 + .../CCtorDUWithMember03.fs} | 0 .../CCtorDUWithMember03a.fs | 3 + .../CCtorDUWithMember03a.fs.il.bsl | 133 + .../CCtorDUWithMember04.fs | 3 + .../CCtorDUWithMember04a.fs | 3 + .../CCtorDUWithMember04a.fs.il.bsl | 119 + .../CompiledNameAttribute.fs | 11 +- ...meAttribute04_RealInternalSignatureOff.fs} | 0 ...ternalSignatureOff.fs.il.net472.debug.bsl} | 0 ...rnalSignatureOff.fs.il.net472.release.bsl} | 0 ...ernalSignatureOff.fs.il.netcore.debug.bsl} | 0 ...nalSignatureOff.fs.il.netcore.release.bsl} | 776 +- ...NameAttribute04_RealInternalSignatureOn.fs | 51 + ...InternalSignatureOn.fs.il.net472.debug.bsl | 387 + ...ternalSignatureOn.fs.il.net472.release.bsl | 387 + ...nternalSignatureOn.fs.il.netcore.debug.bsl | 388 + ...ernalSignatureOn.fs.il.netcore.release.bsl | 388 + .../CompilerGeneratedAttributeOnAccessors.fs | 11 +- .../ComputationExpressions.fs | 72 +- .../EmittedIL/FixedBindings/FixedBindings.fs | 4 +- .../ForEachOnArray01.fs | 0 .../ForEachOnArray01.fs.il.bsl | 0 .../ForEachOnList01.fs | 0 .../ForEachOnList01.fs.il.net472.debug.bsl | 0 .../ForEachOnList01.fs.il.net472.release.bsl | 0 .../ForEachOnList01.fs.il.netcore.debug.bsl | 0 .../ForEachOnList01.fs.il.netcore.release.bsl | 0 .../ForEachOnString01.fs | 0 .../ForEachOnString01.fs.il.net472.debug.bsl | 0 ...ForEachOnString01.fs.il.net472.release.bsl | 0 .../ForEachOnString01.fs.il.netcore.debug.bsl | 0 ...orEachOnString01.fs.il.netcore.release.bsl | 0 .../RealInternalSignatureOff/ForLoop.fs | 133 + .../NoAllocationOfTuple01.fs | 0 .../NoAllocationOfTuple01.fs.il.bsl | 0 .../NoIEnumerable01.fsx | 0 .../NoIEnumerable01.fsx.il.net472.debug.bsl | 0 .../NoIEnumerable01.fsx.il.net472.release.bsl | 0 .../NoIEnumerable01.fsx.il.netcore.debug.bsl | 0 ...NoIEnumerable01.fsx.il.netcore.release.bsl | 0 .../NoIEnumerable02.fsx | 0 .../NoIEnumerable02.fsx.il.net472.debug.bsl | 0 .../NoIEnumerable02.fsx.il.net472.release.bsl | 0 .../NoIEnumerable02.fsx.il.netcore.debug.bsl | 0 ...NoIEnumerable02.fsx.il.netcore.release.bsl | 0 .../NoIEnumerable03.fsx | 0 .../NoIEnumerable03.fsx.il.net472.debug.bsl | 0 .../NoIEnumerable03.fsx.il.net472.release.bsl | 0 .../NoIEnumerable03.fsx.il.netcore.debug.bsl | 0 ...NoIEnumerable03.fsx.il.netcore.release.bsl | 0 .../NonTrivialBranchingBindingInEnd01.fs | 0 ...onTrivialBranchingBindingInEnd01.fs.il.bsl | 0 ...ivialBranchingBindingInEnd01.fs.opt.il.bsl | 0 .../NonTrivialBranchingBindingInEnd02.fs | 0 ...onTrivialBranchingBindingInEnd02.fs.il.bsl | 0 ...ivialBranchingBindingInEnd02.fs.opt.il.bsl | 0 .../NonTrivialBranchingBindingInEnd03.fs | 0 ...onTrivialBranchingBindingInEnd03.fs.il.bsl | 0 ...ivialBranchingBindingInEnd03.fs.opt.il.bsl | 0 .../NonTrivialBranchingBindingInEnd04.fs | 0 ...onTrivialBranchingBindingInEnd04.fs.il.bsl | 0 ...ivialBranchingBindingInEnd04.fs.opt.il.bsl | 0 .../NonTrivialBranchingBindingInEnd05.fs | 0 ...onTrivialBranchingBindingInEnd05.fs.il.bsl | 0 ...ivialBranchingBindingInEnd05.fs.opt.il.bsl | 0 .../ZeroToArrLength01.fs | 0 .../ZeroToArrLength01.fs.il.bsl | 0 .../ZeroToArrLength02.fs | 0 .../ZeroToArrLength02.fs.il.bsl | 0 .../ForEachOnArray01.fs | 8 + .../ForEachOnArray01.fs.il.bsl | 99 + .../ForEachOnList01.fs | 51 + .../ForEachOnList01.fs.il.net472.debug.bsl | 465 ++ .../ForEachOnList01.fs.il.net472.release.bsl | 485 ++ .../ForEachOnList01.fs.il.netcore.debug.bsl | 465 ++ .../ForEachOnList01.fs.il.netcore.release.bsl | 485 ++ .../ForEachOnString01.fs | 67 + .../ForEachOnString01.fs.il.net472.debug.bsl | 556 ++ ...ForEachOnString01.fs.il.net472.release.bsl | 571 ++ .../ForEachOnString01.fs.il.netcore.debug.bsl | 556 ++ ...orEachOnString01.fs.il.netcore.release.bsl | 571 ++ .../{ => RealInternalSignatureOn}/ForLoop.fs | 5 +- .../NoAllocationOfTuple01.fs | 11 + .../NoAllocationOfTuple01.fs.il.bsl | 108 + .../NoIEnumerable01.fsx | 8 + .../NoIEnumerable01.fsx.il.net472.debug.bsl | 96 + .../NoIEnumerable01.fsx.il.net472.release.bsl | 106 + .../NoIEnumerable01.fsx.il.netcore.debug.bsl | 96 + ...NoIEnumerable01.fsx.il.netcore.release.bsl | 106 + .../NoIEnumerable02.fsx | 8 + .../NoIEnumerable02.fsx.il.net472.debug.bsl | 96 + .../NoIEnumerable02.fsx.il.net472.release.bsl | 106 + .../NoIEnumerable02.fsx.il.netcore.debug.bsl | 96 + ...NoIEnumerable02.fsx.il.netcore.release.bsl | 106 + .../NoIEnumerable03.fsx | 9 + .../NoIEnumerable03.fsx.il.net472.debug.bsl | 98 + .../NoIEnumerable03.fsx.il.net472.release.bsl | 108 + .../NoIEnumerable03.fsx.il.netcore.debug.bsl | 98 + ...NoIEnumerable03.fsx.il.netcore.release.bsl | 108 + .../NonTrivialBranchingBindingInEnd01.fs | 12 + ...onTrivialBranchingBindingInEnd01.fs.il.bsl | 195 + ...ivialBranchingBindingInEnd01.fs.opt.il.bsl | 195 + .../NonTrivialBranchingBindingInEnd02.fs | 12 + ...onTrivialBranchingBindingInEnd02.fs.il.bsl | 193 + ...ivialBranchingBindingInEnd02.fs.opt.il.bsl | 193 + .../NonTrivialBranchingBindingInEnd03.fs | 11 + ...onTrivialBranchingBindingInEnd03.fs.il.bsl | 281 + ...ivialBranchingBindingInEnd03.fs.opt.il.bsl | 281 + .../NonTrivialBranchingBindingInEnd04.fs | 11 + ...onTrivialBranchingBindingInEnd04.fs.il.bsl | 281 + ...ivialBranchingBindingInEnd04.fs.opt.il.bsl | 281 + .../NonTrivialBranchingBindingInEnd05.fs | 12 + ...onTrivialBranchingBindingInEnd05.fs.il.bsl | 234 + ...ivialBranchingBindingInEnd05.fs.opt.il.bsl | 234 + .../ZeroToArrLength01.fs | 7 + .../ZeroToArrLength01.fs.il.bsl | 91 + .../ZeroToArrLength02.fs | 7 + .../ZeroToArrLength02.fs.il.bsl | 99 + ... => GenIter04_RealInternalSignatureOff.fs} | 0 ...Iter04_RealInternalSignatureOff.fs.il.bsl} | 7 +- .../GenIter04_RealInternalSignatureOn.fs | 4 + ...enIter04_RealInternalSignatureOn.fs.il.bsl | 158 + .../GeneratedIterators/GeneratedIterators.fs | 12 +- .../EmittedIL/Inlining/Inlining.fs | 59 +- ...fs => Match01_RealInternalSignatureOff.fs} | 0 ...ternalSignatureOff.fs.il.net472.debug.bsl} | 532 +- ...rnalSignatureOff.fs.il.net472.release.bsl} | 532 +- ...ernalSignatureOff.fs.il.netcore.debug.bsl} | 526 +- ...nalSignatureOff.fs.il.netcore.release.bsl} | 526 +- .../Match01_RealInternalSignatureOn.fs | 18 + ...InternalSignatureOn.fs.il.net472.debug.bsl | 1590 ++++ ...ternalSignatureOn.fs.il.net472.release.bsl | 1601 ++++ ...nternalSignatureOn.fs.il.netcore.debug.bsl | 1498 ++++ ...ernalSignatureOn.fs.il.netcore.release.bsl | 1509 ++++ .../ListExpressionStepping.fs | 54 + .../ListExpressionStepping01.fs | 0 .../ListExpressionStepping01.fs.il.bsl | 0 .../ListExpressionStepping02.fs | 0 .../ListExpressionStepping02.fs.il.bsl | 0 .../ListExpressionStepping03.fs | 0 .../ListExpressionStepping03.fs.il.bsl | 0 .../ListExpressionStepping04.fs | 0 .../ListExpressionStepping04.fs.il.bsl | 0 .../ListExpressionStepping05.fs | 0 .../ListExpressionStepping05.fs.il.bsl | 0 .../ListExpressionStepping06.fs | 0 .../ListExpressionStepping06.fs.il.bsl | 0 .../ListExpressionStepping.fs | 5 +- .../ListExpressionStepping01.fs | 8 + .../ListExpressionStepping01.fs.il.bsl | 130 + .../ListExpressionStepping02.fs | 30 + .../ListExpressionStepping02.fs.il.bsl | 448 ++ .../ListExpressionStepping03.fs | 12 + .../ListExpressionStepping03.fs.il.bsl | 151 + .../ListExpressionStepping04.fs | 14 + .../ListExpressionStepping04.fs.il.bsl | 162 + .../ListExpressionStepping05.fs | 17 + .../ListExpressionStepping05.fs.il.bsl | 182 + .../ListExpressionStepping06.fs | 14 + .../ListExpressionStepping06.fs.il.bsl | 247 + .../AbstractClass.fs | 0 .../AbstractClass.fs.il.bsl | 0 .../AnonRecd.fs | 0 .../AnonRecd.fs.il.net472.bsl | 0 .../AnonRecd.fs.il.netcore.bsl | 0 .../ArgumentNamesInClosures01.fs | 0 .../ArgumentNamesInClosures01.fs.il.bsl | 0 .../CodeGenRenamings01.fs | 0 .../CodeGenRenamings01.fs.il.bsl | 0 .../CustomAttributeGenericParameter01.fs | 0 ...ustomAttributeGenericParameter01.fs.il.bsl | 0 .../Decimal01.fs | 0 .../Decimal01.fs.il.net472.bsl | 0 .../Decimal01.fs.il.netcore.bsl | 0 .../EntryPoint01.fs | 0 .../EntryPoint01.fs.il.bsl | 0 .../EqualsOnUnions01.fs | 0 .../EqualsOnUnions01.fs.il.net472.debug.bsl | 0 .../EqualsOnUnions01.fs.il.net472.release.bsl | 0 .../EqualsOnUnions01.fs.il.netcore.debug.bsl | 0 ...EqualsOnUnions01.fs.il.netcore.release.bsl | 0 .../ForLoop01.fs | 0 .../ForLoop01.fs.il.bsl | 0 .../ForLoop02.fs | 0 .../ForLoop02.fs.il.bsl | 0 .../ForLoop03.fs | 0 .../GeneralizationOnUnions01.fs | 0 .../GeneralizationOnUnions01.fs.il.net472.bsl | 0 ...GeneralizationOnUnions01.fs.il.netcore.bsl | 0 .../GenericTypeStaticField.fs | 0 .../GenericTypeStaticField.fs.il.bsl | 0 .../IfThenElse01.fs | 0 .../IfThenElse01.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Int64.fs | 0 .../LetIfThenElse01.fs | 0 .../LetIfThenElse01.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Lock01.fs | 0 .../Lock01.fs.il.net472.bsl | 0 .../Lock01.fs.il.netcore.bsl | 0 .../{ => RealInternalSignatureOff}/Marshal.fs | 0 .../Marshal.fs.il.bsl | 0 .../MethodImplNoInline.fs | 0 .../MethodImplNoInline02.fs | 0 .../MethodImplNoInline02.fs.il.bsl | 0 .../Misc/RealInternalSignatureOff/Misc.fs | 222 + .../ModuleWithExpression01.fs | 0 .../ModuleWithExpression01.fs.il.bsl | 0 .../NoBoxingOnDispose01.fs | 0 .../NoBoxingOnDispose01.fs.il.net472.bsl | 0 .../NoBoxingOnDispose01.fs.il.netcore.bsl | 0 .../NonEscapingArguments02.fs | 0 .../NonEscapingArguments02.fs.il.bsl | 0 .../PreserveSig.fs | 0 .../PreserveSig.fs.il.bsl | 0 .../Seq_for_all01.fs | 0 .../Seq_for_all01.fs.il.bsl | 0 .../Structs01.fs | 0 .../Structs01.fs.il.debug.bsl | 0 .../Structs01.fs.il.release.bsl | 604 +- .../Structs02.fs | 0 .../Structs02.fs.il.debug.bsl | 0 .../Structs02.fs.il.release.bsl | 0 .../Structs02_asNetStandard20.fs | 0 .../Structs02_asNetStandard20.fs.il.debug.bsl | 0 ...tructs02_asNetStandard20.fs.il.release.bsl | 0 .../StructsAsArrayElements01.fs | 0 .../StructsAsArrayElements01.fs.il.debug.bsl | 0 ...StructsAsArrayElements01.fs.il.release.bsl | 0 .../TryWith_NoFilterBlocks01.fs | 0 .../TryWith_NoFilterBlocks01.fs.il.bsl | 0 .../RealInternalSignatureOn/AbstractClass.fs | 8 + .../AbstractClass.fs.il.bsl | 113 + .../Misc/RealInternalSignatureOn/AnonRecd.fs | 10 + .../AnonRecd.fs.il.net472.bsl | 598 ++ .../AnonRecd.fs.il.netcore.bsl | 504 ++ .../ArgumentNamesInClosures01.fs | 43 + .../ArgumentNamesInClosures01.fs.il.bsl | 171 + .../CodeGenRenamings01.fs | 39 + .../CodeGenRenamings01.fs.il.bsl | 687 ++ .../CustomAttributeGenericParameter01.fs | 6 + ...ustomAttributeGenericParameter01.fs.il.bsl | 82 + .../Misc/RealInternalSignatureOn/Decimal01.fs | 6 + .../Decimal01.fs.il.net472.bsl | 85 + .../Decimal01.fs.il.netcore.bsl | 85 + .../RealInternalSignatureOn/EntryPoint01.fs | 8 + .../EntryPoint01.fs.il.bsl | 114 + .../EqualsOnUnions01.fs | 7 + .../EqualsOnUnions01.fs.il.net472.debug.bsl | 990 +++ .../EqualsOnUnions01.fs.il.net472.release.bsl | 957 +++ .../EqualsOnUnions01.fs.il.netcore.debug.bsl | 896 +++ ...EqualsOnUnions01.fs.il.netcore.release.bsl | 863 ++ .../Misc/RealInternalSignatureOn/ForLoop01.fs | 6 + .../ForLoop01.fs.il.bsl | 103 + .../Misc/RealInternalSignatureOn/ForLoop02.fs | 7 + .../ForLoop02.fs.il.bsl | 90 + .../Misc/RealInternalSignatureOn/ForLoop03.fs | 14 + .../GeneralizationOnUnions01.fs | 11 + .../GeneralizationOnUnions01.fs.il.net472.bsl | 523 ++ ...GeneralizationOnUnions01.fs.il.netcore.bsl | 429 + .../GenericTypeStaticField.fs | 8 + .../GenericTypeStaticField.fs.il.bsl | 183 + .../RealInternalSignatureOn/IfThenElse01.fs | 7 + .../IfThenElse01.fs.il.bsl | 205 + .../Misc/RealInternalSignatureOn/Int64.fs | 4 + .../LetIfThenElse01.fs | 12 + .../LetIfThenElse01.fs.il.bsl | 160 + .../Misc/RealInternalSignatureOn/Lock01.fs | 20 + .../Lock01.fs.il.net472.bsl | 120 + .../Lock01.fs.il.netcore.bsl | 120 + .../Misc/RealInternalSignatureOn/Marshal.fs | 6 + .../RealInternalSignatureOn/Marshal.fs.il.bsl | 97 + .../MethodImplNoInline.fs | 11 + .../MethodImplNoInline02.fs | 11 + .../MethodImplNoInline02.fs.il.bsl | 91 + .../{ => RealInternalSignatureOn}/Misc.fs | 5 +- .../ModuleWithExpression01.fs | 9 + .../ModuleWithExpression01.fs.il.bsl | 97 + .../NoBoxingOnDispose01.fs | 7 + .../NoBoxingOnDispose01.fs.il.net472.bsl | 102 + .../NoBoxingOnDispose01.fs.il.netcore.bsl | 101 + .../NonEscapingArguments02.fs | 7 + .../NonEscapingArguments02.fs.il.bsl | 102 + .../RealInternalSignatureOn/PreserveSig.fs | 7 + .../PreserveSig.fs.il.bsl | 69 + .../RealInternalSignatureOn/Seq_for_all01.fs | 7 + .../Seq_for_all01.fs.il.bsl | 145 + .../Misc/RealInternalSignatureOn/Structs01.fs | 14 + .../Structs01.fs.il.debug.bsl | 335 + .../Structs01.fs.il.release.bsl | 302 + .../Misc/RealInternalSignatureOn/Structs02.fs | 18 + .../Structs02.fs.il.debug.bsl | 387 + .../Structs02.fs.il.release.bsl | 354 + .../Structs02_asNetStandard20.fs | 18 + .../Structs02_asNetStandard20.fs.il.debug.bsl | 402 + ...tructs02_asNetStandard20.fs.il.release.bsl | 369 + .../StructsAsArrayElements01.fs | 24 + .../StructsAsArrayElements01.fs.il.debug.bsl | 359 + ...StructsAsArrayElements01.fs.il.release.bsl | 326 + .../TryWith_NoFilterBlocks01.fs | 7 + .../TryWith_NoFilterBlocks01.fs.il.bsl | 97 + .../Linq101Aggregates01.fs | 0 ...Linq101Aggregates01.fs.il.net472.debug.bsl | 0 ...nq101Aggregates01.fs.il.net472.release.bsl | 0 ...inq101Aggregates01.fs.il.netcore.debug.bsl | 0 ...q101Aggregates01.fs.il.netcore.release.bsl | 0 .../Linq101ElementOperators01.fs | 0 ...1ElementOperators01.fs.il.net472.debug.bsl | 0 ...lementOperators01.fs.il.net472.release.bsl | 0 ...ElementOperators01.fs.il.netcore.debug.bsl | 0 ...ementOperators01.fs.il.netcore.release.bsl | 0 .../Linq101Grouping01.fs | 0 .../Linq101Grouping01.fs.il.net472.debug.bsl | 0 ...Linq101Grouping01.fs.il.net472.release.bsl | 0 .../Linq101Grouping01.fs.il.netcore.debug.bsl | 0 ...inq101Grouping01.fs.il.netcore.release.bsl | 0 .../Linq101Joins01.fs | 0 .../Linq101Joins01.fs.il.net472.debug.bsl | 0 .../Linq101Joins01.fs.il.net472.release.bsl | 0 .../Linq101Joins01.fs.il.netcore.debug.bsl | 0 .../Linq101Joins01.fs.il.netcore.release.bsl | 0 .../Linq101Ordering01.fs | 0 .../Linq101Ordering01.fs.il.net472.debug.bsl | 0 ...Linq101Ordering01.fs.il.net472.release.bsl | 0 .../Linq101Ordering01.fs.il.netcore.debug.bsl | 0 ...inq101Ordering01.fs.il.netcore.release.bsl | 0 .../Linq101Partitioning01.fs | 0 ...nq101Partitioning01.fs.il.net472.debug.bsl | 0 ...101Partitioning01.fs.il.net472.release.bsl | 0 ...q101Partitioning01.fs.il.netcore.debug.bsl | 0 ...01Partitioning01.fs.il.netcore.release.bsl | 0 .../Linq101Quantifiers01.fs | 0 ...inq101Quantifiers01.fs.il.net472.debug.bsl | 0 ...q101Quantifiers01.fs.il.net472.release.bsl | 0 ...nq101Quantifiers01.fs.il.netcore.debug.bsl | 0 ...101Quantifiers01.fs.il.netcore.release.bsl | 0 .../Linq101Select01.fs | 0 .../Linq101Select01.fs.il.net472.debug.bsl | 0 .../Linq101Select01.fs.il.net472.release.bsl | 0 .../Linq101Select01.fs.il.netcore.debug.bsl | 0 .../Linq101Select01.fs.il.netcore.release.bsl | 0 .../Linq101SetOperators01.fs | 0 ...nq101SetOperators01.fs.il.net472.debug.bsl | 0 ...101SetOperators01.fs.il.net472.release.bsl | 0 ...q101SetOperators01.fs.il.netcore.debug.bsl | 0 ...01SetOperators01.fs.il.netcore.release.bsl | 0 .../Linq101Where01.fs | 0 .../Linq101Where01.fs.il.net472.debug.bsl | 0 .../Linq101Where01.fs.il.net472.release.bsl | 0 .../Linq101Where01.fs.il.netcore.debug.bsl | 0 .../Linq101Where01.fs.il.netcore.release.bsl | 0 .../QueryExpressionStepping.fs | 85 + .../{ => RealInternalSignatureOff}/Utils.fs | 0 .../Linq101Aggregates01.fs | 117 + ...Linq101Aggregates01.fs.il.net472.debug.bsl | 7117 +++++++++++++++++ ...nq101Aggregates01.fs.il.net472.release.bsl | 7081 ++++++++++++++++ ...inq101Aggregates01.fs.il.netcore.debug.bsl | 7117 +++++++++++++++++ ...q101Aggregates01.fs.il.netcore.release.bsl | 7081 ++++++++++++++++ .../Linq101ElementOperators01.fs | 55 + ...1ElementOperators01.fs.il.net472.debug.bsl | 1493 ++++ ...lementOperators01.fs.il.net472.release.bsl | 1493 ++++ ...ElementOperators01.fs.il.netcore.debug.bsl | 1493 ++++ ...ementOperators01.fs.il.netcore.release.bsl | 1493 ++++ .../Linq101Grouping01.fs | 58 + .../Linq101Grouping01.fs.il.net472.debug.bsl | 1540 ++++ ...Linq101Grouping01.fs.il.net472.release.bsl | 1540 ++++ .../Linq101Grouping01.fs.il.netcore.debug.bsl | 1540 ++++ ...inq101Grouping01.fs.il.netcore.release.bsl | 1540 ++++ .../RealInternalSignatureOn/Linq101Joins01.fs | 43 + .../Linq101Joins01.fs.il.net472.debug.bsl | 1318 +++ .../Linq101Joins01.fs.il.net472.release.bsl | 1318 +++ .../Linq101Joins01.fs.il.netcore.debug.bsl | 1318 +++ .../Linq101Joins01.fs.il.netcore.release.bsl | 1318 +++ .../Linq101Ordering01.fs | 64 + .../Linq101Ordering01.fs.il.net472.debug.bsl | 1874 +++++ ...Linq101Ordering01.fs.il.net472.release.bsl | 1874 +++++ .../Linq101Ordering01.fs.il.netcore.debug.bsl | 1874 +++++ ...inq101Ordering01.fs.il.netcore.release.bsl | 1874 +++++ .../Linq101Partitioning01.fs | 54 + ...nq101Partitioning01.fs.il.net472.debug.bsl | 1887 +++++ ...101Partitioning01.fs.il.net472.release.bsl | 1887 +++++ ...q101Partitioning01.fs.il.netcore.debug.bsl | 1887 +++++ ...01Partitioning01.fs.il.netcore.release.bsl | 1887 +++++ .../Linq101Quantifiers01.fs | 43 + ...inq101Quantifiers01.fs.il.net472.debug.bsl | 1414 ++++ ...q101Quantifiers01.fs.il.net472.release.bsl | 1414 ++++ ...nq101Quantifiers01.fs.il.netcore.debug.bsl | 1414 ++++ ...101Quantifiers01.fs.il.netcore.release.bsl | 1414 ++++ .../Linq101Select01.fs | 116 + .../Linq101Select01.fs.il.net472.debug.bsl | 3852 +++++++++ .../Linq101Select01.fs.il.net472.release.bsl | 3816 +++++++++ .../Linq101Select01.fs.il.netcore.debug.bsl | 3852 +++++++++ .../Linq101Select01.fs.il.netcore.release.bsl | 3816 +++++++++ .../Linq101SetOperators01.fs | 40 + ...nq101SetOperators01.fs.il.net472.debug.bsl | 1439 ++++ ...101SetOperators01.fs.il.net472.release.bsl | 1439 ++++ ...q101SetOperators01.fs.il.netcore.debug.bsl | 1439 ++++ ...01SetOperators01.fs.il.netcore.release.bsl | 1439 ++++ .../RealInternalSignatureOn/Linq101Where01.fs | 55 + .../Linq101Where01.fs.il.net472.debug.bsl | 1255 +++ .../Linq101Where01.fs.il.net472.release.bsl | 1255 +++ .../Linq101Where01.fs.il.netcore.debug.bsl | 1255 +++ .../Linq101Where01.fs.il.netcore.release.bsl | 1255 +++ .../QueryExpressionStepping.fs | 5 +- .../RealInternalSignatureOn/Utils.fs | 227 + .../ClassTypeInitialization.fs | 833 ++ .../ClassTypeVisibility.fs | 3291 ++++++++ .../ClassTypeVisibilityModuleRoot.fs | 880 ++ .../ClassTypeVisibilityModuleRootWithFsi.fs | 1158 +++ .../ClassTypeVisibilityNamespaceRoot.fs | 890 +++ ...ClassTypeVisibilityNamespaceRootWithFsi.fs | 1161 +++ .../ModuleInitialization.fs | 588 ++ .../RealInternalSignature/ModuleVisibility.fs | 10 + .../RealInternalSignature.fs | 1255 +++ .../SeqExpressionStepping.fs | 61 + .../SeqExpressionSteppingTest01.fs | 0 .../SeqExpressionSteppingTest01.fs.il.bsl | 0 .../SeqExpressionSteppingTest02.fs | 0 .../SeqExpressionSteppingTest02.fs.il.bsl | 0 .../SeqExpressionSteppingTest03.fs | 0 .../SeqExpressionSteppingTest03.fs.il.bsl | 0 .../SeqExpressionSteppingTest04.fs | 0 .../SeqExpressionSteppingTest04.fs.il.bsl | 0 .../SeqExpressionSteppingTest05.fs | 0 .../SeqExpressionSteppingTest05.fs.il.bsl | 0 .../SeqExpressionSteppingTest06.fs | 0 .../SeqExpressionSteppingTest06.fs.il.bsl | 0 .../SeqExpressionSteppingTest07.fs | 0 ...ssionSteppingTest07.fs.il.net472.debug.bsl | 0 ...ionSteppingTest07.fs.il.net472.release.bsl | 0 ...sionSteppingTest07.fs.il.netcore.debug.bsl | 0 ...onSteppingTest07.fs.il.netcore.release.bsl | 0 .../SeqExpressionStepping.fs | 5 +- .../SeqExpressionSteppingTest01.fs | 8 + .../SeqExpressionSteppingTest01.fs.il.bsl | 263 + .../SeqExpressionSteppingTest02.fs | 10 + .../SeqExpressionSteppingTest02.fs.il.bsl | 291 + .../SeqExpressionSteppingTest03.fs | 13 + .../SeqExpressionSteppingTest03.fs.il.bsl | 299 + .../SeqExpressionSteppingTest04.fs | 15 + .../SeqExpressionSteppingTest04.fs.il.bsl | 342 + .../SeqExpressionSteppingTest05.fs | 18 + .../SeqExpressionSteppingTest05.fs.il.bsl | 449 ++ .../SeqExpressionSteppingTest06.fs | 15 + .../SeqExpressionSteppingTest06.fs.il.bsl | 512 ++ .../SeqExpressionSteppingTest07.fs | 75 + ...ssionSteppingTest07.fs.il.net472.debug.bsl | 830 ++ ...ionSteppingTest07.fs.il.net472.release.bsl | 830 ++ ...sionSteppingTest07.fs.il.netcore.debug.bsl | 831 ++ ...onSteppingTest07.fs.il.netcore.release.bsl | 831 ++ .../SerializableAttribute.fs | 45 + .../ToplevelModule.fs | 0 .../ToplevelModule.fs.il.net472.debug.bsl | 0 .../ToplevelModule.fs.il.net472.release.bsl | 0 .../ToplevelModule.fs.il.netcore.debug.bsl | 0 .../ToplevelModule.fs.il.netcore.release.bsl | 0 .../ToplevelModule60.fs | 0 .../ToplevelModule60.fs.il.net472.debug.bsl | 0 .../ToplevelModule60.fs.il.net472.release.bsl | 0 .../ToplevelModule60.fs.il.netcore.debug.bsl | 0 ...ToplevelModule60.fs.il.netcore.release.bsl | 0 .../ToplevelNamespace.fs | 0 .../ToplevelNamespace.fs.il.net472.debug.bsl | 0 ...ToplevelNamespace.fs.il.net472.release.bsl | 0 .../ToplevelNamespace.fs.il.netcore.debug.bsl | 0 ...oplevelNamespace.fs.il.netcore.release.bsl | 0 .../ToplevelNamespace60.fs | 0 ...ToplevelNamespace60.fs.il.net472.debug.bsl | 0 ...plevelNamespace60.fs.il.net472.release.bsl | 0 ...oplevelNamespace60.fs.il.netcore.debug.bsl | 0 ...levelNamespace60.fs.il.netcore.release.bsl | 0 .../SerializableAttribute.fs | 5 +- .../RealInternalSignatureOn/ToplevelModule.fs | 22 + .../ToplevelModule.fs.il.net472.debug.bsl | 1639 ++++ .../ToplevelModule.fs.il.net472.release.bsl | 1543 ++++ .../ToplevelModule.fs.il.netcore.debug.bsl | 1547 ++++ .../ToplevelModule.fs.il.netcore.release.bsl | 1451 ++++ .../ToplevelModule60.fs | 22 + .../ToplevelModule60.fs.il.net472.debug.bsl | 1613 ++++ .../ToplevelModule60.fs.il.net472.release.bsl | 1517 ++++ .../ToplevelModule60.fs.il.netcore.debug.bsl | 1521 ++++ ...ToplevelModule60.fs.il.netcore.release.bsl | 1425 ++++ .../ToplevelNamespace.fs | 29 + .../ToplevelNamespace.fs.il.net472.debug.bsl | 2351 ++++++ ...ToplevelNamespace.fs.il.net472.release.bsl | 2207 +++++ .../ToplevelNamespace.fs.il.netcore.debug.bsl | 2259 ++++++ ...oplevelNamespace.fs.il.netcore.release.bsl | 2115 +++++ .../ToplevelNamespace60.fs | 29 + ...ToplevelNamespace60.fs.il.net472.debug.bsl | 2312 ++++++ ...plevelNamespace60.fs.il.net472.release.bsl | 2168 +++++ ...oplevelNamespace60.fs.il.netcore.debug.bsl | 2220 +++++ ...levelNamespace60.fs.il.netcore.release.bsl | 2076 +++++ .../LetBinding01.fs | 0 .../LetBinding01.fs.il.bsl | 0 .../RealInternalSignatureOff/StaticInit.fs | 44 + .../StaticInit_Class01.fs | 0 .../StaticInit_Class01.fs.il.bsl | 262 +- .../StaticInit_Module01.fs | 0 .../StaticInit_Module01.fs.il.bsl | 0 .../StaticInit_Struct01.fs | 0 ...StaticInit_Struct01.fs.il.net472.debug.bsl | 0 ...aticInit_Struct01.fs.il.net472.release.bsl | 0 ...taticInit_Struct01.fs.il.netcore.debug.bsl | 0 ...ticInit_Struct01.fs.il.netcore.release.bsl | 652 +- .../RealInternalSignatureOn/LetBinding01.fs | 6 + .../LetBinding01.fs.il.bsl | 110 + .../StaticInit.fs | 5 +- .../StaticInit_Class01.fs | 8 + .../StaticInit_Class01.fs.il.bsl | 156 + .../StaticInit_Module01.fs | 8 + .../StaticInit_Module01.fs.il.bsl | 196 + .../StaticInit_Struct01.fs | 8 + ...StaticInit_Struct01.fs.il.net472.debug.bsl | 372 + ...aticInit_Struct01.fs.il.net472.release.bsl | 345 + ...taticInit_Struct01.fs.il.netcore.debug.bsl | 372 + ...ticInit_Struct01.fs.il.netcore.release.bsl | 345 + ...atsAndDoubles.fs => FloatsAndDoubles_1.fs} | 0 ...bsl => FloatsAndDoubles_1.fs.il.debug.bsl} | 0 ...l => FloatsAndDoubles_1.fs.il.release.bsl} | 0 .../EmittedIL/Structure/FloatsAndDoubles_2.fs | 39 + .../FloatsAndDoubles_2.fs.il.debug.bsl | 1449 ++++ .../FloatsAndDoubles_2.fs.il.release.bsl | 1383 ++++ .../EmittedIL/Structure/Structure.fs | 14 +- ...tFunction09b4_RealInternalSignatureOff.fs} | 0 ...on09b4_RealInternalSignatureOff.fs.il.bsl} | 0 ...estFunction09b4_RealInternalSignatureOn.fs | 14 + ...tion09b4_RealInternalSignatureOn.fs.il.bsl | 129 + ...estFunction22_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 .../TestFunction22_RealInternalSignatureOn.fs | 3 + ...2_RealInternalSignatureOn.fs.il.net472.bsl | 89 + ..._RealInternalSignatureOn.fs.il.netcore.bsl | 90 + ...stFunction22b_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 ...TestFunction22b_RealInternalSignatureOn.fs | 3 + ...b_RealInternalSignatureOn.fs.il.net472.bsl | 89 + ..._RealInternalSignatureOn.fs.il.netcore.bsl | 90 + ...stFunction22c_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 ...TestFunction22c_RealInternalSignatureOn.fs | 3 + ...c_RealInternalSignatureOn.fs.il.net472.bsl | 89 + ..._RealInternalSignatureOn.fs.il.netcore.bsl | 90 + ...stFunction22d_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 ...TestFunction22d_RealInternalSignatureOn.fs | 3 + ...d_RealInternalSignatureOn.fs.il.net472.bsl | 89 + ..._RealInternalSignatureOn.fs.il.netcore.bsl | 90 + ...stFunction22e_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 ...TestFunction22e_RealInternalSignatureOn.fs | 4 + ...e_RealInternalSignatureOn.fs.il.net472.bsl | 94 + ..._RealInternalSignatureOn.fs.il.netcore.bsl | 95 + ...stFunction22f_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 ...TestFunction22f_RealInternalSignatureOn.fs | 5 + ...ction22f_RealInternalSignatureOn.fs.il.bsl | 109 + ...f_RealInternalSignatureOn.fs.il.net472.bsl | 108 + ...RealInternalSignatureOn.fs.il.netcore .bsl | 90 + ...stFunction22g_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 ...TestFunction22g_RealInternalSignatureOn.fs | 3 + ...g_RealInternalSignatureOn.fs.il.net472.bsl | 98 + ..._RealInternalSignatureOn.fs.il.netcore.bsl | 99 + ...stFunction22h_RealInternalSignatureOff.fs} | 0 ...RealInternalSignatureOff.fs.il.net472.bsl} | 0 ...ealInternalSignatureOff.fs.il.netcore.bsl} | 0 ...TestFunction22h_RealInternalSignatureOn.fs | 37 + ...ction22h_RealInternalSignatureOn.fs.il.bsl | 337 + ...h_RealInternalSignatureOn.fs.il.net472.bsl | 336 + ...RealInternalSignatureOn.fs.il.netcore .bsl | 337 + .../EmittedIL/TestFunctions/TestFunctions.fs | 152 +- ...> Verify13043_RealInternalSignatureOff.fs} | 0 ..._RealInternalSignatureOff.fs.il.debug.bsl} | 105 +- ...ealInternalSignatureOff.fs.il.release.bsl} | 105 +- .../Verify13043_RealInternalSignatureOn.fs | 44 + ...43_RealInternalSignatureOn.fs.il.debug.bsl | 415 + ..._RealInternalSignatureOn.fs.il.release.bsl | 415 + .../OptionalArg01.fs | 0 .../OptionalArg01.fs.il.net472.bsl | 0 .../OptionalArg01.fs.il.netcore.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple01.fs | 0 .../Tuple01.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple02.fs | 0 .../Tuple02.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple03.fs | 0 .../Tuple03.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple04.fs | 0 .../Tuple04.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple05.fs | 0 .../Tuple05.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple06.fs | 0 .../Tuple06.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple07.fs | 0 .../Tuple07.fs.il.bsl | 0 .../{ => RealInternalSignatureOff}/Tuple08.fs | 0 .../Tuple08.fs.il.bsl | 0 .../TupleElimination.fs | 0 .../TupleElimination.fs.il.net472.bsl | 0 .../TupleElimination.fs.il.netcore.bsl | 0 .../TupleMonster.fs | 0 .../TupleMonster.fs.il.bsl | 0 .../Tuples/RealInternalSignatureOff/Tuples.fs | 91 + .../ValueTupleAliasConstructor.fs | 0 ...alueTupleAliasConstructor.fs.il.net472.bsl | 0 ...lueTupleAliasConstructor.fs.il.netcore.bsl | 0 .../RealInternalSignatureOn/OptionalArg01.fs | 46 + .../OptionalArg01.fs.il.net472.bsl | 622 ++ .../OptionalArg01.fs.il.netcore.bsl | 621 ++ .../Tuples/RealInternalSignatureOn/Tuple01.fs | 3 + .../RealInternalSignatureOn/Tuple01.fs.il.bsl | 65 + .../Tuples/RealInternalSignatureOn/Tuple02.fs | 3 + .../RealInternalSignatureOn/Tuple02.fs.il.bsl | 93 + .../Tuples/RealInternalSignatureOn/Tuple03.fs | 3 + .../RealInternalSignatureOn/Tuple03.fs.il.bsl | 95 + .../Tuples/RealInternalSignatureOn/Tuple04.fs | 3 + .../RealInternalSignatureOn/Tuple04.fs.il.bsl | 97 + .../Tuples/RealInternalSignatureOn/Tuple05.fs | 3 + .../RealInternalSignatureOn/Tuple05.fs.il.bsl | 99 + .../Tuples/RealInternalSignatureOn/Tuple06.fs | 3 + .../RealInternalSignatureOn/Tuple06.fs.il.bsl | 101 + .../Tuples/RealInternalSignatureOn/Tuple07.fs | 3 + .../RealInternalSignatureOn/Tuple07.fs.il.bsl | 103 + .../Tuples/RealInternalSignatureOn/Tuple08.fs | 3 + .../RealInternalSignatureOn/Tuple08.fs.il.bsl | 106 + .../TupleElimination.fs | 23 + .../TupleElimination.fs.il.net472.bsl | 245 + .../TupleElimination.fs.il.netcore.bsl | 244 + .../RealInternalSignatureOn/TupleMonster.fs | 3 + .../TupleMonster.fs.il.bsl | 144 + .../{ => RealInternalSignatureOn}/Tuples.fs | 5 +- .../ValueTupleAliasConstructor.fs | 3 + ...alueTupleAliasConstructor.fs.il.net472.bsl | 93 + ...lueTupleAliasConstructor.fs.il.netcore.bsl | 93 + .../EmittedIL/operators/Operators.fs | 18 +- ...al_comparison_RealInternalSignatureOff.fs} | 0 ...ternalSignatureOff.fs.il.net472.debug.bsl} | 4 +- ...rnalSignatureOff.fs.il.net472.release.bsl} | 4 +- ...ernalSignatureOff.fs.il.netcore.debug.bsl} | 4 +- ...nalSignatureOff.fs.il.netcore.release.bsl} | 4 +- ...imal_comparison_RealInternalSignatureOn.fs | 11 + ...InternalSignatureOn.fs.il.net472.debug.bsl | 275 + ...ternalSignatureOn.fs.il.net472.release.bsl | 275 + ...nternalSignatureOn.fs.il.netcore.debug.bsl | 275 + ...ernalSignatureOn.fs.il.netcore.release.bsl | 275 + .../FSharp.Compiler.ComponentTests.fsproj | 42 +- .../Miscellaneous/FsharpSuiteMigrated.fs | 2 +- .../Miscellaneous/MigratedCoreTests.fs | 2 +- .../access.fsx | 446 +- .../TypeChecks/Graph/Scenarios.fs | 1 + ...dowFunctionPropertyWithExtensionMethod.fsx | 0 ...ionPropertyWithExtensionMethod.fsx.err.bsl | 0 ...ionPropertyWithExtensionMethod.fsx.il.bsl} | 0 ...hadowFunctionPropertyWithTypeExtension.fsx | 0 ...ctionPropertyWithTypeExtension.fsx.err.bsl | 0 ...ctionPropertyWithTypeExtension.fsx.il.bsl} | 0 ...adowIndexedPropertyWithExtensionMethod.fsx | 0 ...xedPropertyWithExtensionMethod.fsx.err.bsl | 0 ...xedPropertyWithExtensionMethod.fsx.il.bsl} | 0 ...ShadowIndexedPropertyWithTypeExtension.fsx | 0 ...dexedPropertyWithTypeExtension.fsx.err.bsl | 0 ...dexedPropertyWithTypeExtension.fsx.il.bsl} | 0 .../PropertyShadowing/E_NoChangeForEvent.fsx | 0 .../E_NoChangeForEvent.fsx.err.bsl | 0 .../E_NoChangeForEvent.fsx.il.bsl} | 0 .../PropertyShadowing/LinqCount.fsx | 0 .../PropertyShadowing/LinqCount.fsx.il.bsl | 0 .../LinqCount.fsx.il.net472.bsl | 0 .../LinqCount.fsx.il.netcore.bsl | 0 .../LinqCount.fsx.support.added.later.err.bsl | 0 .../LinqCount.fsx.support.added.later.il.bsl} | 0 .../ShadowStaticProperty.fsx | 0 .../ShadowStaticProperty.fsx.il.bsl | 0 ...icProperty.fsx.support.added.later.err.bsl | 0 ...icProperty.fsx.support.added.later.il.bsl} | 0 .../ShadowWithExtensionMethod.fsx | 0 .../ShadowWithExtensionMethod.fsx.err.bsl} | 0 .../ShadowWithExtensionMethod.fsx.il.bsl | 0 ...sionMethod.fsx.support.added.later.err.bsl | 0 ...sionMethod.fsx.support.added.later.il.bsl} | 0 .../ShadowWithLastOpenedTypeExtensions.fsx | 0 ...wWithLastOpenedTypeExtensions.fsx.err.bsl} | 0 ...dowWithLastOpenedTypeExtensions.fsx.il.bsl | 0 ...Extensions.fsx.support.added.later.err.bsl | 0 ...Extensions.fsx.support.added.later.il.bsl} | 0 .../ShadowWithTypeExtension.fsx | 0 .../ShadowWithTypeExtension.fsx.err.bsl} | 0 .../ShadowWithTypeExtension.fsx.il.bsl | 0 ...eExtension.fsx.support.added.later.err.bsl | 0 ...peExtension.fsx.support.added.later.il.bsl | 0 .../ShadowingAndStillOkWithChainedCalls.fsx | 0 ...wingAndStillOkWithChainedCalls.fsx.err.bsl | 0 ...owingAndStillOkWithChainedCalls.fsx.il.bsl | 0 ...ainedCalls.fsx.support.added.later.err.bsl | 0 ...hainedCalls.fsx.support.added.later.il.bsl | 0 .../PropertyShadowingTests.fs | 0 .../expected-help-output.bsl | 3 + tests/FSharp.Test.Utilities/Compiler.fs | 35 +- .../core/members/basics-hw-mutrec/test.fs | 5568 +------------ .../fsi/help/help40-nologo.437.1033.bsl | 3 + .../fsi/help/help40.437.1033.bsl | 3 + .../LanguageService/Tokenizer.fs | 2 +- 854 files changed, 193896 insertions(+), 8850 deletions(-) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest1.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest1.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest1.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest2.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest2.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest2.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest3.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest3.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest3.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest4.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest4.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest4.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest5.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest5.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest5.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest6.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest6.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOff}/AsyncExpressionSteppingTest6.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{ => RealInternalSignatureOn}/AsyncExpressionStepping.fs (94%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Default.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Default.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Default.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Field.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Field.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Field.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Property.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Property.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOff}/Property.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{ => RealInternalSignatureOn}/AttributeTargets.fs (86%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember01a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember01a.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember01a.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember02a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember02a.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember03a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember03a.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember04a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOff}/CCtorDUWithMember04a.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{ => RealInternalSignatureOn}/CCtorDUWithMember.fs (92%) rename tests/FSharp.Compiler.ComponentTests/{TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.il.bsl => EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01.fs} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/{TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.il.bsl => EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02.fs} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/{TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.il.bsl => EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03.fs} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/{CompiledNameAttribute04.fs => CompiledNameAttribute04_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/{CompiledNameAttribute04.fs.il.net472.debug.bsl => CompiledNameAttribute04_RealInternalSignatureOff.fs.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/{CompiledNameAttribute04.fs.il.net472.release.bsl => CompiledNameAttribute04_RealInternalSignatureOff.fs.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/{CompiledNameAttribute04.fs.il.netcore.debug.bsl => CompiledNameAttribute04_RealInternalSignatureOff.fs.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/{CompiledNameAttribute04.fs.il.netcore.release.bsl => CompiledNameAttribute04_RealInternalSignatureOff.fs.il.netcore.release.bsl} (97%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnArray01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnArray01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnList01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnList01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnList01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnList01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnList01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnString01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnString01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnString01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnString01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ForEachOnString01.fs.il.netcore.release.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForLoop.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoAllocationOfTuple01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoAllocationOfTuple01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable01.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable01.fsx.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable01.fsx.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable01.fsx.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable01.fsx.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable02.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable02.fsx.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable02.fsx.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable02.fsx.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable02.fsx.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable03.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable03.fsx.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable03.fsx.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable03.fsx.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NoIEnumerable03.fsx.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd03.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd04.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd05.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd05.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ZeroToArrLength01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ZeroToArrLength01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ZeroToArrLength02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOff}/ZeroToArrLength02.fs.il.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.release.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/{ => RealInternalSignatureOn}/ForLoop.fs (98%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/{GenIter04.fs => GenIter04_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/{GenIter04.fs.il.bsl => GenIter04_RealInternalSignatureOff.fs.il.bsl} (96%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/{Match01.fs => Match01_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/{Match01.fs.il.net472.debug.bsl => Match01_RealInternalSignatureOff.fs.il.net472.debug.bsl} (78%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/{Match01.fs.il.net472.release.bsl => Match01_RealInternalSignatureOff.fs.il.net472.release.bsl} (78%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/{Match01.fs.il.netcore.debug.bsl => Match01_RealInternalSignatureOff.fs.il.netcore.debug.bsl} (76%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/{Match01.fs.il.netcore.release.bsl => Match01_RealInternalSignatureOff.fs.il.netcore.release.bsl} (76%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping03.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping04.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping05.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping05.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping06.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOff}/ListExpressionStepping06.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{ => RealInternalSignatureOn}/ListExpressionStepping.fs (95%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/AbstractClass.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/AbstractClass.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/AnonRecd.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/AnonRecd.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/AnonRecd.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ArgumentNamesInClosures01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ArgumentNamesInClosures01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/CodeGenRenamings01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/CodeGenRenamings01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/CustomAttributeGenericParameter01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/CustomAttributeGenericParameter01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Decimal01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Decimal01.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Decimal01.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/EntryPoint01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/EntryPoint01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/EqualsOnUnions01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/EqualsOnUnions01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/EqualsOnUnions01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/EqualsOnUnions01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/EqualsOnUnions01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ForLoop01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ForLoop01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ForLoop02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ForLoop02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ForLoop03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/GeneralizationOnUnions01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/GeneralizationOnUnions01.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/GeneralizationOnUnions01.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/GenericTypeStaticField.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/GenericTypeStaticField.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/IfThenElse01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/IfThenElse01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Int64.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/LetIfThenElse01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/LetIfThenElse01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Lock01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Lock01.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Lock01.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Marshal.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Marshal.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/MethodImplNoInline.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/MethodImplNoInline02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/MethodImplNoInline02.fs.il.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ModuleWithExpression01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/ModuleWithExpression01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/NoBoxingOnDispose01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/NoBoxingOnDispose01.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/NoBoxingOnDispose01.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/NonEscapingArguments02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/NonEscapingArguments02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/PreserveSig.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/PreserveSig.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Seq_for_all01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Seq_for_all01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs01.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs01.fs.il.release.bsl (96%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs02.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs02.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs02_asNetStandard20.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs02_asNetStandard20.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/Structs02_asNetStandard20.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/StructsAsArrayElements01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/StructsAsArrayElements01.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/StructsAsArrayElements01.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/TryWith_NoFilterBlocks01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOff}/TryWith_NoFilterBlocks01.fs.il.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{ => RealInternalSignatureOn}/Misc.fs (98%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Aggregates01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Aggregates01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Aggregates01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Aggregates01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Aggregates01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101ElementOperators01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101ElementOperators01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101ElementOperators01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101ElementOperators01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101ElementOperators01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Grouping01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Grouping01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Grouping01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Grouping01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Grouping01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Joins01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Joins01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Joins01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Joins01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Joins01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Ordering01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Ordering01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Ordering01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Ordering01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Ordering01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Partitioning01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Partitioning01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Partitioning01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Partitioning01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Partitioning01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Quantifiers01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Quantifiers01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Quantifiers01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Quantifiers01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Quantifiers01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Select01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Select01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Select01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Select01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Select01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101SetOperators01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101SetOperators01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101SetOperators01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101SetOperators01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101SetOperators01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Where01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Where01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Where01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Where01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Linq101Where01.fs.il.netcore.release.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOff}/Utils.fs (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.release.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{ => RealInternalSignatureOn}/QueryExpressionStepping.fs (97%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleVisibility.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest03.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest04.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest05.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest05.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest06.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest06.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest07.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest07.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOff}/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{ => RealInternalSignatureOn}/SeqExpressionStepping.fs (95%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule60.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule60.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule60.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule60.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelModule60.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace60.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace60.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace60.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace60.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOff}/ToplevelNamespace60.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{ => RealInternalSignatureOn}/SerializableAttribute.fs (93%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.release.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/LetBinding01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/LetBinding01.fs.il.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Class01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Class01.fs.il.bsl (96%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Module01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Module01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Struct01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Struct01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Struct01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Struct01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOff}/StaticInit_Struct01.fs.il.netcore.release.bsl (97%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/{ => RealInternalSignatureOn}/StaticInit.fs (93%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.release.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/{FloatsAndDoubles.fs => FloatsAndDoubles_1.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/{FloatsAndDoubles.fs.il.debug.bsl => FloatsAndDoubles_1.fs.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/{FloatsAndDoubles.fs.il.release.bsl => FloatsAndDoubles_1.fs.il.release.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction09b4.fs => TestFunction09b4_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction09b4.fs.il.bsl => TestFunction09b4_RealInternalSignatureOff.fs.il.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22.fs => TestFunction22_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22.fs.il.net472.bsl => TestFunction22_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22.fs.il.netcore.bsl => TestFunction22_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22b.fs => TestFunction22b_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22b.fs.il.net472.bsl => TestFunction22b_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22b.fs.il.netcore.bsl => TestFunction22b_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22c.fs => TestFunction22c_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22c.fs.il.net472.bsl => TestFunction22c_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22c.fs.il.netcore.bsl => TestFunction22c_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22d.fs => TestFunction22d_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22d.fs.il.net472.bsl => TestFunction22d_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22d.fs.il.netcore.bsl => TestFunction22d_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22e.fs => TestFunction22e_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22e.fs.il.net472.bsl => TestFunction22e_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22e.fs.il.netcore.bsl => TestFunction22e_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22f.fs => TestFunction22f_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22f.fs.il.net472.bsl => TestFunction22f_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22f.fs.il.netcore.bsl => TestFunction22f_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.netcore .bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22g.fs => TestFunction22g_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22g.fs.il.net472.bsl => TestFunction22g_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22g.fs.il.netcore.bsl => TestFunction22g_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22h.fs => TestFunction22h_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22h.fs.il.net472.bsl => TestFunction22h_RealInternalSignatureOff.fs.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{TestFunction22h.fs.il.netcore.bsl => TestFunction22h_RealInternalSignatureOff.fs.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.netcore .bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{Verify13043.fs => Verify13043_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{Verify13043.fs.il.debug.bsl => Verify13043_RealInternalSignatureOff.fs.il.debug.bsl} (84%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/{Verify13043.fs.il.release.bsl => Verify13043_RealInternalSignatureOff.fs.il.release.bsl} (84%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/OptionalArg01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/OptionalArg01.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/OptionalArg01.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple03.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple04.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple05.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple05.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple06.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple06.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple07.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple07.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple08.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/Tuple08.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/TupleElimination.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/TupleElimination.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/TupleElimination.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/TupleMonster.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/TupleMonster.fs.il.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuples.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/ValueTupleAliasConstructor.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/ValueTupleAliasConstructor.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOff}/ValueTupleAliasConstructor.fs.il.netcore.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/{ => RealInternalSignatureOn}/Tuples.fs (97%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/{decimal_comparison.fs => decimal_comparison_RealInternalSignatureOff.fs} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/{decimal_comparison.fs.il.net472.debug.bsl => decimal_comparison_RealInternalSignatureOff.fs.il.net472.debug.bsl} (98%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/{decimal_comparison.fs.il.net472.release.bsl => decimal_comparison_RealInternalSignatureOff.fs.il.net472.release.bsl} (98%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/{decimal_comparison.fs.il.netcore.release.bsl => decimal_comparison_RealInternalSignatureOff.fs.il.netcore.debug.bsl} (98%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/{decimal_comparison.fs.il.netcore.debug.bsl => decimal_comparison_RealInternalSignatureOff.fs.il.netcore.release.bsl} (98%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.il.bsl => PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/E_NoChangeForEvent.fsx.il.bsl => PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/LinqCount.fsx.support.added.later.il.bsl => PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.il.bsl => PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_NoChangeForEvent.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/E_NoChangeForEvent.fsx.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl => PropertyShadowing/E_NoChangeForEvent.fsx.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/LinqCount.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/LinqCount.fsx.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/LinqCount.fsx.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/LinqCount.fsx.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/LinqCount.fsx.support.added.later.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.il.bsl => PropertyShadowing/LinqCount.fsx.support.added.later.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowStaticProperty.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowStaticProperty.fsx.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl => PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithExtensionMethod.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.il.bsl => PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithExtensionMethod.fsx.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl => PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.il.bsl => PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.err.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl => PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithTypeExtension.fsx (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.il.bsl => PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithTypeExtension.fsx.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.err.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.il.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.err.bsl (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.il.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/{TypeExtensions => }/PropertyShadowingTests.fs (100%) diff --git a/Directory.Build.props b/Directory.Build.props index a1b18784e91..943a84a53bd 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,7 +4,9 @@ $(FSharpLangVersion) $(MSBuildThisFileDirectory) true + $(OtherFlags) --realInternalSignature+ + - - --> diff --git a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md index 6a4d44d2aec..bd559b584b7 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md +++ b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md @@ -16,6 +16,7 @@ * Parser recovers on complex primary constructor patterns, better tree representation for primary constructor patterns. ([PR #16425](https://github.com/dotnet/fsharp/pull/16425)) * Name resolution: keep type vars in subsequent checks ([PR #16456](https://github.com/dotnet/fsharp/pull/16456)) * Higher-order-function-based API for working with the untyped abstract syntax tree. ([PR #16462](https://github.com/dotnet/fsharp/pull/16462)) +* Add switch to generate types and members with IL visibility that accurately represents their F# visibility. ([PR #15484](https://github.com/dotnet/fsharp/pull/15484), [#PR 16427](https://github.com/dotnet/fsharp/pull/15484) * Allow returning bool instead of unit option for partial active patterns. ([Language suggestion #1041](https://github.com/fsharp/fslang-suggestions/issues/1041), [PR #16473](https://github.com/dotnet/fsharp/pull/16473)) * Symbols: Add GenericArguments to FSharpEntity ([PR #16470](https://github.com/dotnet/fsharp/pull/16470)) diff --git a/docs/release-notes/.FSharp.Core/8.0.200.md b/docs/release-notes/.FSharp.Core/8.0.200.md index 8a1feafaf64..034e5acc7df 100644 --- a/docs/release-notes/.FSharp.Core/8.0.200.md +++ b/docs/release-notes/.FSharp.Core/8.0.200.md @@ -1,4 +1,5 @@ ### Added * More inlines for Result module. ([PR #16106](https://github.com/dotnet/fsharp/pull/16106)) +* Add switch to generate types and members with IL visibility that accurately epresents their F# visibility. ([PR #15484](https://github.com/dotnet/fsharp/pull/15484), [#PR 16427](https://github.com/dotnet/fsharp/pull/15484) * Added a new parameterless constructor for `CustomOperationAttribute` ([PR #16475](https://github.com/dotnet/fsharp/pull/16475), part of implementation for [fslang-suggestions/1250](https://github.com/fsharp/fslang-suggestions/issues/1250)) diff --git a/docs/release-notes/.FSharp.Core/8.0.300.md b/docs/release-notes/.FSharp.Core/8.0.300.md index 9acf7d07635..3f799b15f94 100644 --- a/docs/release-notes/.FSharp.Core/8.0.300.md +++ b/docs/release-notes/.FSharp.Core/8.0.300.md @@ -1,3 +1,5 @@ -### Fixed +### Added +* minor tweaks to inline specifications to support Visibility PR ([PR #15484](https://github.com/dotnet/fsharp/pull/15484), [#PR 16427](https://github.com/dotnet/fsharp/pull/15484) -* Preserve original stack traces in resumable state machines generated code if available. ([PR #16568](https://github.com/dotnet/fsharp/pull/16568)) \ No newline at end of file +### Fixed +* Preserve original stack traces in resumable state machines generated code if available. ([PR #16568](https://github.com/dotnet/fsharp/pull/16568)) diff --git a/src/Compiler/AbstractIL/il.fs b/src/Compiler/AbstractIL/il.fs index 7f303178553..f97f1700a0c 100644 --- a/src/Compiler/AbstractIL/il.fs +++ b/src/Compiler/AbstractIL/il.fs @@ -1909,6 +1909,7 @@ type ILMethodDef customAttrsStored: ILAttributesStored, metadataIndex: int32 ) = + let _x = 10 new(name, attributes, implAttributes, callingConv, parameters, ret, body, isEntryPoint, genericParams, securityDecls, customAttrs) = ILMethodDef( diff --git a/src/Compiler/Checking/CheckBasics.fs b/src/Compiler/Checking/CheckBasics.fs index bbfa5557b2d..4ad2c516d3d 100644 --- a/src/Compiler/Checking/CheckBasics.fs +++ b/src/Compiler/Checking/CheckBasics.fs @@ -308,6 +308,9 @@ type TcFileState = /// The set of active conditional defines. The value is None when conditional erasure is disabled in tooling. conditionalDefines: string list option + /// retain visibilities for internal/private members + realInternalSignature: bool + namedDebugPointsForInlinedCode: Dictionary isInternalTestSpanStackReferring: bool @@ -334,7 +337,7 @@ type TcFileState = /// Create a new compilation environment static member Create - (g, isScript, amap, thisCcu, isSig, haveSig, conditionalDefines, tcSink, tcVal, isInternalTestSpanStackReferring, diagnosticOptions, + (g, isScript, amap, thisCcu, isSig, haveSig, realInternalSignature, conditionalDefines, tcSink, tcVal, isInternalTestSpanStackReferring, diagnosticOptions, tcPat, tcSimplePats, tcSequenceExpressionEntry, @@ -363,6 +366,7 @@ type TcFileState = namedDebugPointsForInlinedCode = Dictionary() compilingCanonicalFslibModuleType = (isSig || not haveSig) && g.compilingFSharpCore conditionalDefines = conditionalDefines + realInternalSignature = realInternalSignature isInternalTestSpanStackReferring = isInternalTestSpanStackReferring diagnosticOptions = diagnosticOptions argInfoCache = ConcurrentDictionary() diff --git a/src/Compiler/Checking/CheckBasics.fsi b/src/Compiler/Checking/CheckBasics.fsi index e3ad581cb61..6eaca2945a9 100644 --- a/src/Compiler/Checking/CheckBasics.fsi +++ b/src/Compiler/Checking/CheckBasics.fsi @@ -258,6 +258,9 @@ type TcFileState = /// The set of active conditional defines. The value is None when conditional erasure is disabled in tooling. conditionalDefines: string list option + // Retain internal/private visibility + realInternalSignature: bool + namedDebugPointsForInlinedCode: Dictionary isInternalTestSpanStackReferring: bool @@ -317,6 +320,7 @@ type TcFileState = thisCcu: CcuThunk * isSig: bool * haveSig: bool * + realInternalSignature: bool * conditionalDefines: string list option * tcSink: TcResultsSink * tcVal: TcValF * diff --git a/src/Compiler/Checking/CheckComputationExpressions.fs b/src/Compiler/Checking/CheckComputationExpressions.fs index f0727c3fc5d..e13e56f2c4b 100644 --- a/src/Compiler/Checking/CheckComputationExpressions.fs +++ b/src/Compiler/Checking/CheckComputationExpressions.fs @@ -1838,7 +1838,7 @@ let TcComputationExpression (cenv: cenv) env (overallTy: OverallTy) tpenv (mWhol addVarsToVarSpace varSpace (fun mQueryOp env -> // Normalize the bindings before detecting the bound variables match (List.map (BindingNormalization.NormalizeBinding ValOrMemberBinding cenv env) binds) with - | [ NormalizedBinding(kind = SynBindingKind.Normal; mustInline = false; isMutable = false; pat = pat) ] -> + | [ NormalizedBinding(kind = SynBindingKind.Normal; shouldInline = false; isMutable = false; pat = pat) ] -> // successful case use _holder = TemporarilySuspendReportingTypecheckResultsToSink cenv.tcSink diff --git a/src/Compiler/Checking/CheckDeclarations.fs b/src/Compiler/Checking/CheckDeclarations.fs index ef59411179e..03723455e21 100644 --- a/src/Compiler/Checking/CheckDeclarations.fs +++ b/src/Compiler/Checking/CheckDeclarations.fs @@ -305,7 +305,7 @@ let AddRootModuleOrNamespaceRefs g amap m env modrefs = /// Adjust the TcEnv to make more things 'InternalsVisibleTo' let addInternalsAccessibility env (ccu: CcuThunk) = - let compPath = CompPath (ccu.ILScopeRef, []) + let compPath = CompPath (ccu.ILScopeRef, TypedTree.SyntaxAccess.Unknown, []) let eInternalsVisibleCompPaths = compPath :: env.eInternalsVisibleCompPaths { env with eAccessRights = ComputeAccessRights env.eAccessPath eInternalsVisibleCompPaths env.eFamilyType // update this computed field @@ -418,8 +418,8 @@ module TcRecdUnionAndEnumDeclarations = | ParentNone -> vis | Parent tcref -> combineAccess vis tcref.TypeReprAccessibility - let MakeRecdFieldSpec _cenv env parent (isStatic, konst, tyR, attrsForProperty, attrsForField, id, nameGenerated, isMutable, vol, xmldoc, vis, m) = - let vis, _ = ComputeAccessAndCompPath env None m vis None parent + let MakeRecdFieldSpec g env parent (isStatic, konst, tyR, attrsForProperty, attrsForField, id, nameGenerated, isMutable, vol, xmldoc, vis, m) = + let vis, _ = ComputeAccessAndCompPath g env None m vis None parent let vis = CombineReprAccess parent vis Construct.NewRecdField isStatic konst id nameGenerated tyR isMutable vol attrsForProperty attrsForField xmldoc vis false @@ -445,7 +445,7 @@ module TcRecdUnionAndEnumDeclarations = let isPrivate = match vis with | Some (SynAccess.Private _) -> true | _ -> false if isStatic && (not zeroInit || not isMutable || not isPrivate) then errorR(Error(FSComp.SR.tcStaticValFieldsMustBeMutableAndPrivate(), m)) let konst = if zeroInit then Some Const.Zero else None - let rfspec = MakeRecdFieldSpec cenv env parent (isStatic, konst, tyR, attrsForProperty, attrsForField, id, nameGenerated, isMutable, isVolatile, xmldoc, vis, m) + let rfspec = MakeRecdFieldSpec g env parent (isStatic, konst, tyR, attrsForProperty, attrsForField, id, nameGenerated, isMutable, isVolatile, xmldoc, vis, m) match parent with | Parent tcref when useGenuineField tcref.Deref rfspec -> // Recheck the attributes for errors if the definition only generates a field @@ -512,7 +512,7 @@ module TcRecdUnionAndEnumDeclarations = let TcUnionCaseDecl (cenv: cenv) env parent thisTy thisTyInst tpenv hasRQAAttribute (SynUnionCase(Attributes synAttrs, SynIdent(id, _), args, xmldoc, vis, m, _)) = let g = cenv.g let attrs = TcAttributes cenv env AttributeTargets.UnionCaseDecl synAttrs // the attributes of a union case decl get attached to the generated "static factory" method - let vis, _ = ComputeAccessAndCompPath env None m vis None parent + let vis, _ = ComputeAccessAndCompPath g env None m vis None parent let vis = CombineReprAccess parent vis CheckUnionCaseName cenv id hasRQAAttribute @@ -551,7 +551,7 @@ module TcRecdUnionAndEnumDeclarations = let rfields = argTys |> List.mapi (fun i (argTy, argInfo) -> let id = (match argInfo.Name with Some id -> id | None -> mkSynId m (mkUnionCaseFieldName nFields i)) - MakeRecdFieldSpec cenv env parent (false, None, argTy, [], [], id, argInfo.Name.IsNone, false, false, XmlDoc.Empty, None, m)) + MakeRecdFieldSpec g env parent (false, None, argTy, [], [], id, argInfo.Name.IsNone, false, false, XmlDoc.Empty, None, m)) if not (typeEquiv g recordTy thisTy) then error(Error(FSComp.SR.tcReturnTypesForUnionMustBeSameAsType(), m)) @@ -573,15 +573,15 @@ module TcRecdUnionAndEnumDeclarations = |> List.map (TcUnionCaseDecl cenv env parent thisTy thisTyInst tpenv hasRQAAttribute) unionCasesR |> CheckDuplicates (fun uc -> uc.Id) "union case" - let MakeEnumCaseSpec cenv env parent attrs thisTy caseRange (caseIdent: Ident) (xmldoc: PreXmlDoc) value = - let vis, _ = ComputeAccessAndCompPath env None caseRange None None parent + let MakeEnumCaseSpec g cenv env parent attrs thisTy caseRange (caseIdent: Ident) (xmldoc: PreXmlDoc) value = + let vis, _ = ComputeAccessAndCompPath g env None caseRange None None parent let vis = CombineReprAccess parent vis if caseIdent.idText = "value__" then errorR(Error(FSComp.SR.tcNotValidEnumCaseName(), caseIdent.idRange)) let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs let xmlDoc = xmldoc.ToXmlDoc(checkXmlDocs, Some []) Construct.NewRecdField true (Some value) caseIdent false thisTy false false [] attrs xmlDoc vis false - let TcEnumDecl cenv env tpenv parent thisTy fieldTy (SynEnumCase (attributes = Attributes synAttrs; ident = SynIdent (id, _); valueExpr = valueExpr; xmlDoc = xmldoc; range = caseRange)) = + let TcEnumDecl g cenv env tpenv parent thisTy fieldTy (SynEnumCase (attributes = Attributes synAttrs; ident = SynIdent (id, _); valueExpr = valueExpr; xmlDoc = xmldoc; range = caseRange)) = let attrs = TcAttributes cenv env AttributeTargets.Field synAttrs let valueRange = valueExpr.Range @@ -590,19 +590,19 @@ module TcRecdUnionAndEnumDeclarations = error(Error(FSComp.SR.tcInvalidEnumerationLiteral(), valueRange)) | SynExpr.Const (synConst, _) -> let konst = TcConst cenv fieldTy valueRange env synConst - MakeEnumCaseSpec cenv env parent attrs thisTy caseRange id xmldoc konst + MakeEnumCaseSpec g cenv env parent attrs thisTy caseRange id xmldoc konst | _ -> let expr, actualTy, _ = TcExprOfUnknownType cenv env tpenv valueExpr UnifyTypes cenv env valueRange fieldTy actualTy match EvalLiteralExprOrAttribArg cenv.g expr with - | Expr.Const (konst, _, _) -> MakeEnumCaseSpec cenv env parent attrs thisTy caseRange id xmldoc konst + | Expr.Const (konst, _, _) -> MakeEnumCaseSpec g cenv env parent attrs thisTy caseRange id xmldoc konst | _ -> error(Error(FSComp.SR.tcInvalidEnumerationLiteral(), valueRange)) let TcEnumDecls (cenv: cenv) env tpenv parent thisTy enumCases = let g = cenv.g let fieldTy = NewInferenceType g - let enumCases' = enumCases |> List.map (TcEnumDecl cenv env tpenv parent thisTy fieldTy) |> CheckDuplicates (fun f -> f.Id) "enum element" + let enumCases' = enumCases |> List.map (TcEnumDecl g cenv env tpenv parent thisTy fieldTy) |> CheckDuplicates (fun f -> f.Id) "enum element" fieldTy, enumCases' //------------------------------------------------------------------------- @@ -663,7 +663,7 @@ let TcOpenModuleOrNamespaceDecl tcSink g amap scopem env (longId, m) = CheckNamespaceModuleOrTypeName g id let IsPartiallyQualifiedNamespace (modref: ModuleOrNamespaceRef) = - let (CompPath(_, p)) = modref.CompilationPath + let (CompPath(_, _, p)) = modref.CompilationPath // Bug FSharp 1.0 3274: FSI paths don't count when determining this warning let p = match p with @@ -2389,10 +2389,10 @@ let CheckForDuplicateModule env nm m = /// Check 'exception' declarations in implementations and signatures module TcExceptionDeclarations = - let TcExnDefnCore_Phase1A cenv env parent (SynExceptionDefnRepr(Attributes synAttrs, SynUnionCase(ident= SynIdent(id,_)), _, xmlDoc, vis, m)) = + let TcExnDefnCore_Phase1A g cenv env parent (SynExceptionDefnRepr(Attributes synAttrs, SynUnionCase(ident= SynIdent(id,_)), _, xmlDoc, vis, m)) = let attrs = TcAttributes cenv env AttributeTargets.ExnDecl synAttrs if not (String.isLeadingIdentifierCharacterUpperCase id.idText) then errorR(NotUpperCaseConstructor id.idRange) - let vis, cpath = ComputeAccessAndCompPath env None m vis None parent + let vis, cpath = ComputeAccessAndCompPath g env None m vis None parent let vis = TcRecdUnionAndEnumDeclarations.CombineReprAccess parent vis CheckForDuplicateConcreteType env (id.idText + "Exception") id.idRange CheckForDuplicateConcreteType env id.idText id.idRange @@ -2463,7 +2463,7 @@ module TcExceptionDeclarations = let private TcExnDefnCore (cenv: cenv) env parent synExnDefnRepr = let g = cenv.g - let exnc = TcExnDefnCore_Phase1A cenv env parent synExnDefnRepr + let exnc = TcExnDefnCore_Phase1A g cenv env parent synExnDefnRepr let args' = TcExnDefnCore_Phase1G_EstablishRepresentation cenv env parent exnc synExnDefnRepr exnc.TypeContents.tcaug_super <- Some g.exn_ty @@ -2730,7 +2730,7 @@ module EstablishTypeDefinitionCores = let moduleKind = ComputeModuleOrNamespaceKind g true typeNames modAttrs id.idText let modName = AdjustModuleName moduleKind id.idText - let vis, _ = ComputeAccessAndCompPath envInitial None id.idRange vis None parent + let vis, _ = ComputeAccessAndCompPath g envInitial None id.idRange vis None parent CheckForDuplicateModule envInitial id.idText id.idRange let id = ident (modName, id.idRange) @@ -2759,13 +2759,13 @@ module EstablishTypeDefinitionCores = match synTyconRepr with | SynTypeDefnSimpleRepr.Exception synExnDefnRepr -> - TcExceptionDeclarations.TcExnDefnCore_Phase1A cenv env parent synExnDefnRepr + TcExceptionDeclarations.TcExnDefnCore_Phase1A g cenv env parent synExnDefnRepr | _ -> let id = ComputeTyconName (id, (match synTyconRepr with SynTypeDefnSimpleRepr.TypeAbbrev _ -> false | _ -> true), checkedTypars) // Augmentations of type definitions are allowed within the same file as long as no new type representation or abbreviation is given CheckForDuplicateConcreteType env id.idText id.idRange - let vis, cpath = ComputeAccessAndCompPath env None id.idRange synVis None parent + let vis, cpath = ComputeAccessAndCompPath g env None id.idRange synVis None parent // Establish the visibility of the representation, e.g. // type R = @@ -2782,7 +2782,8 @@ module EstablishTypeDefinitionCores = | SynTypeDefnSimpleRepr.Enum _ -> None | SynTypeDefnSimpleRepr.Exception _ -> None - let visOfRepr, _ = ComputeAccessAndCompPath env None id.idRange synVisOfRepr None parent + let visOfRepr, _ = ComputeAccessAndCompPath g env None id.idRange synVisOfRepr None parent + let visOfRepr = combineAccess vis visOfRepr // If we supported nested types and modules then additions would be needed here let lmodTy = MaybeLazy.Strict (Construct.NewEmptyModuleOrNamespaceType ModuleOrType) @@ -4816,7 +4817,7 @@ let rec TcSignatureElementNonMutRec (cenv: cenv) parent typeNames endm (env: TcE return! TcSignatureElementsMutRec cenv parent typeNames endm None env [modDecl] else let id = ComputeModuleName longPath - let vis, _ = ComputeAccessAndCompPath env None im vis None parent + let vis, _ = ComputeAccessAndCompPath g env None im vis None parent let attribs = TcAttributes cenv env AttributeTargets.ModuleDecl attribs CheckNamespaceModuleOrTypeName g id let moduleKind = EstablishTypeDefinitionCores.ComputeModuleOrNamespaceKind g true typeNames attribs id.idText @@ -5157,7 +5158,7 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem let modName = EstablishTypeDefinitionCores.AdjustModuleName moduleKind id.idText CheckForDuplicateConcreteType env modName im CheckForDuplicateModule env id.idText id.idRange - let vis, _ = ComputeAccessAndCompPath env None id.idRange vis None parent + let vis, _ = ComputeAccessAndCompPath g env None id.idRange vis None parent let endm = m.EndRange let id = ident (modName, id.idRange) @@ -5651,6 +5652,7 @@ let CheckOneImplFile thisCcu, openDecls0, checkForErrors, + realInternalSignature, conditionalDefines, tcSink, isInternalTestSpanStackReferring, @@ -5671,7 +5673,11 @@ let CheckOneImplFile |] let cenv = cenv.Create (g, isScript, amap, thisCcu, false, Option.isSome rootSigOpt, - conditionalDefines, tcSink, (LightweightTcValForUsingInBuildMethodCall g), isInternalTestSpanStackReferring, + realInternalSignature, + conditionalDefines, + tcSink, + LightweightTcValForUsingInBuildMethodCall g, + isInternalTestSpanStackReferring, diagnosticOptions, tcPat=TcPat, tcSimplePats=TcSimplePats, @@ -5764,7 +5770,7 @@ let CheckOneImplFile Activity.Tags.qualifiedNameOfFile, qualNameOfFile.Text |] PostTypeCheckSemanticChecks.CheckImplFile - (g, cenv.amap, reportErrors, cenv.infoReader, + (g, cenv.amap, cenv.realInternalSignature, reportErrors, cenv.infoReader, env.eInternalsVisibleCompPaths, cenv.thisCcu, tcVal, envAtEnd.DisplayEnv, implFileTy, implFileContents, extraAttribs, isLastCompiland, isInternalTestSpanStackReferring) @@ -5801,7 +5807,7 @@ let CheckOneImplFile /// Check an entire signature file -let CheckOneSigFile (g, amap, thisCcu, checkForErrors, conditionalDefines, tcSink, isInternalTestSpanStackReferring, diagnosticOptions) tcEnv (sigFile: ParsedSigFileInput) = +let CheckOneSigFile (g, amap, thisCcu, checkForErrors, realInternalSignature, conditionalDefines, tcSink, isInternalTestSpanStackReferring, diagnosticOptions) tcEnv (sigFile: ParsedSigFileInput) = cancellable { use _ = Activity.start "CheckDeclarations.CheckOneSigFile" @@ -5810,15 +5816,17 @@ let CheckOneSigFile (g, amap, thisCcu, checkForErrors, conditionalDefines, tcSin Activity.Tags.qualifiedNameOfFile, sigFile.QualifiedName.Text |] let cenv = - cenv.Create - (g, false, amap, thisCcu, true, false, conditionalDefines, tcSink, - (LightweightTcValForUsingInBuildMethodCall g), isInternalTestSpanStackReferring, - diagnosticOptions, - tcPat=TcPat, - tcSimplePats=TcSimplePats, - tcSequenceExpressionEntry=TcSequenceExpressionEntry, - tcArrayOrListSequenceExpression=TcArrayOrListComputedExpression, - tcComputationExpression=TcComputationExpression) + cenv.Create(g, false, amap, thisCcu, true, false, realInternalSignature, + conditionalDefines, + tcSink, + LightweightTcValForUsingInBuildMethodCall g, + isInternalTestSpanStackReferring, + diagnosticOptions, + tcPat=TcPat, + tcSimplePats=TcSimplePats, + tcSequenceExpressionEntry=TcSequenceExpressionEntry, + tcArrayOrListSequenceExpression=TcArrayOrListComputedExpression, + tcComputationExpression=TcComputationExpression) let envinner, moduleTyAcc = MakeInitialEnv tcEnv diff --git a/src/Compiler/Checking/CheckDeclarations.fsi b/src/Compiler/Checking/CheckDeclarations.fsi index fb4679f2438..797c8004b85 100644 --- a/src/Compiler/Checking/CheckDeclarations.fsi +++ b/src/Compiler/Checking/CheckDeclarations.fsi @@ -54,6 +54,7 @@ val CheckOneImplFile: CcuThunk * OpenDeclaration list * (unit -> bool) * + bool * ConditionalDefines option * TcResultsSink * bool * @@ -68,6 +69,7 @@ val CheckOneSigFile: ImportMap * CcuThunk * (unit -> bool) * + bool * ConditionalDefines option * TcResultsSink * bool * diff --git a/src/Compiler/Checking/CheckExpressions.fs b/src/Compiler/Checking/CheckExpressions.fs index e59fb6bd5ff..41d597255c5 100644 --- a/src/Compiler/Checking/CheckExpressions.fs +++ b/src/Compiler/Checking/CheckExpressions.fs @@ -1139,7 +1139,7 @@ let CombineVisibilityAttribs vis1 vis2 m = vis1 | _ -> vis2 -let ComputeAccessAndCompPath env (declKindOpt: DeclKind option) m vis overrideVis actualParent = +let ComputeAccessAndCompPath (g:TcGlobals) env (declKindOpt: DeclKind option) m vis overrideVis actualParent = let accessPath = env.eAccessPath let accessModPermitted = match declKindOpt with @@ -1150,12 +1150,13 @@ let ComputeAccessAndCompPath env (declKindOpt: DeclKind option) m vis overrideVi errorR(Error(FSComp.SR.tcMultipleVisibilityAttributesWithLet(), m)) let vis = - match overrideVis, vis with - | Some v, _ -> v - | _, None -> taccessPublic (* a module or member binding defaults to "public" *) - | _, Some (SynAccess.Public _) -> taccessPublic - | _, Some (SynAccess.Private _) -> taccessPrivate accessPath - | _, Some (SynAccess.Internal _) -> taccessInternal + match declKindOpt, overrideVis, vis with + | _, Some v, _ -> v + | Some (DeclKind.ClassLetBinding _), _, None when g.realInternalSignature -> taccessPrivate accessPath // a type binding defaults to "private" + | _, _, None -> taccessPublic // a module or member binding defaults to "public" + | _, _, Some (SynAccess.Public _) -> taccessPublic + | _, _, Some (SynAccess.Private _) -> taccessPrivate accessPath + | _, _, Some (SynAccess.Internal _) -> taccessInternal let vis = match actualParent with @@ -1281,7 +1282,7 @@ let MakeAndPublishVal (cenv: cenv) env (altActualParent, inSig, declKind, valRec Parent(memberInfo.ApparentEnclosingEntity), vis | _ -> altActualParent, None - let vis, _ = ComputeAccessAndCompPath env (Some declKind) id.idRange vis overrideVis actualParent + let vis, _ = ComputeAccessAndCompPath g env (Some declKind) id.idRange vis overrideVis actualParent let inlineFlag = if HasFSharpAttributeOpt g g.attrib_DllImportAttribute attrs then @@ -2327,7 +2328,7 @@ type NormalizedBinding = | NormalizedBinding of visibility: SynAccess option * kind: SynBindingKind * - mustInline: bool * + shouldInline: bool * isMutable: bool * attribs: SynAttribute list * xmlDoc: XmlDoc * @@ -11140,7 +11141,7 @@ and TcLetBinding (cenv: cenv) isUse env containerInfo declKind tpenv (synBinds, when List.lengthsEqAndForall2 typarRefEq generalizedTypars generalizedTypars' -> v, pat - | _ when inlineFlag.MustInline -> + | _ when inlineFlag.ShouldInline -> error(Error(FSComp.SR.tcInvalidInlineSpecification(), m)) | TPat_query _ when HasFSharpAttribute g g.attrib_LiteralAttribute attrs -> diff --git a/src/Compiler/Checking/CheckExpressions.fsi b/src/Compiler/Checking/CheckExpressions.fsi index 852fee213e6..cc136eba754 100644 --- a/src/Compiler/Checking/CheckExpressions.fsi +++ b/src/Compiler/Checking/CheckExpressions.fsi @@ -256,7 +256,7 @@ type NormalizedBinding = | NormalizedBinding of visibility: SynAccess option * kind: SynBindingKind * - mustInline: bool * + shouldInline: bool * isMutable: bool * attribs: SynAttribute list * xmlDoc: XmlDoc * @@ -430,6 +430,7 @@ val ComputeAccessRights: /// Compute the available access rights and module/entity compilation path for a paricular location in code val ComputeAccessAndCompPath: + g: TcGlobals -> env: TcEnv -> declKindOpt: DeclKind option -> m: range -> diff --git a/src/Compiler/Checking/CheckIncrementalClasses.fs b/src/Compiler/Checking/CheckIncrementalClasses.fs index 85262e72a4c..1424a8ef7f3 100644 --- a/src/Compiler/Checking/CheckIncrementalClasses.fs +++ b/src/Compiler/Checking/CheckIncrementalClasses.fs @@ -291,13 +291,15 @@ type IncrClassReprInfo = /// The vars forced to be fields due to static member bindings, instance initialization expressions or instance member bindings /// The vars forced to be fields due to instance member bindings /// + /// /// member localRep.ChooseRepresentation (cenv: cenv, env: TcEnv, isStatic, isCtorArg, staticCtorInfo: StaticCtorInfo, ctorInfoOpt: IncrClassCtorInfo option, staticForcedFieldVars: FreeLocals, instanceForcedFieldVars: FreeLocals, - takenFieldNames: Set, + takenFieldNames: Set, + declKind: DeclKind, bind: Binding) = let g = cenv.g let v = bind.Var @@ -387,7 +389,7 @@ type IncrClassReprInfo = // it a "member" in the F# sense, but the F# spec says it is generated and it is reasonable to reflect on it. let memberValScheme = ValScheme(id, prelimTyschemeG, Some valReprInfo, None, Some memberInfo, false, ValInline.Never, NormalVal, None, true (* isCompilerGenerated *), true (* isIncrClass *), false, false) - let methodVal = MakeAndPublishVal cenv env (Parent tcref, false, ModuleOrMemberBinding, ValNotInRecScope, memberValScheme, v.Attribs, XmlDoc.Empty, None, false) + let methodVal = MakeAndPublishVal cenv env (Parent tcref, false, declKind, ValNotInRecScope, memberValScheme, v.Attribs, XmlDoc.Empty, None, false) reportIfUnused() InMethod(isStatic, methodVal, valReprInfo) @@ -395,9 +397,9 @@ type IncrClassReprInfo = repr, takenFieldNames /// Extend the known local representations by choosing a representation for a binding - member localRep.ChooseAndAddRepresentation(cenv, env, isStatic, isCtorArg, staticCtorInfo, ctorInfoOpt, staticForcedFieldVars, instanceForcedFieldVars, bind: Binding) = + member localRep.ChooseAndAddRepresentation(cenv, env, isStatic, isCtorArg, staticCtorInfo, ctorInfoOpt, staticForcedFieldVars, instanceForcedFieldVars, declKind, bind: Binding) = let v = bind.Var - let repr, takenFieldNames = localRep.ChooseRepresentation (cenv, env, isStatic, isCtorArg, staticCtorInfo, ctorInfoOpt, staticForcedFieldVars, instanceForcedFieldVars, localRep.TakenFieldNames, bind ) + let repr, takenFieldNames = localRep.ChooseRepresentation (cenv, env, isStatic, isCtorArg, staticCtorInfo, ctorInfoOpt, staticForcedFieldVars, instanceForcedFieldVars, localRep.TakenFieldNames, declKind, bind ) // OK, representation chosen, now add it {localRep with TakenFieldNames=takenFieldNames @@ -677,11 +679,10 @@ let MakeCtorForIncrClassConstructionPhase2C( (staticForcedFieldVars.FreeLocals, instanceForcedFieldVars.FreeLocals) - // Compute the implicit construction side effects of single // 'let' or 'let rec' binding in the implicit class construction sequence let TransBind (reps: IncrClassReprInfo) (TBind(v, rhsExpr, spBind)) = - if v.MustInline then + if v.ShouldInline then error(Error(FSComp.SR.tcLocalClassBindingsCannotBeInline(), v.Range)) let rhsExpr = reps.FixupIncrClassExprPhase2C cenv thisValOpt safeStaticInitInfo thisTyInst rhsExpr @@ -772,7 +773,8 @@ let MakeCtorForIncrClassConstructionPhase2C( match dec with | IncrClassBindingGroup(binds, isStatic, isRec) -> let actions, reps, methodBinds = - let reps = (reps, binds) ||> List.fold (fun rep bind -> rep.ChooseAndAddRepresentation(cenv, env, isStatic, isCtorArg, staticCtorInfo, ctorInfoOpt, staticForcedFieldVars, instanceForcedFieldVars, bind)) // extend + // let reps = (reps, binds) ||> List.fold (fun rep bind -> rep.ChooseAndAddRepresentation(cenv, env, isStatic, isCtorArg, staticCtorInfo, ctorInfoOpt, staticForcedFieldVars, instanceForcedFieldVars, (ClassLetBinding isStatic), bind)) // extend + let reps = (reps, binds) ||> List.fold (fun rep bind -> rep.ChooseAndAddRepresentation(cenv, env, isStatic, isCtorArg, staticCtorInfo, ctorInfoOpt, staticForcedFieldVars, instanceForcedFieldVars, ModuleOrMemberBinding, bind)) // extend if isRec then // Note: the recursive calls are made via members on the object // or via access to fields. This means the recursive loop is "broken", diff --git a/src/Compiler/Checking/NicePrint.fs b/src/Compiler/Checking/NicePrint.fs index 985d3fbe22b..a09328222c4 100644 --- a/src/Compiler/Checking/NicePrint.fs +++ b/src/Compiler/Checking/NicePrint.fs @@ -495,7 +495,7 @@ module PrintTypes = let layoutAccessibilityCore (denv: DisplayEnv) accessibility = let isInternalCompPath x = match x with - | CompPath(ILScopeRef.Local, []) -> true + | CompPath(ILScopeRef.Local, _, []) -> true | _ -> false let (|Public|Internal|Private|) (TAccess p) = match p with @@ -1254,7 +1254,7 @@ module PrintTastMemberOrVals = open PrintTypes let mkInlineL denv (v: Val) nameL = - if v.MustInline && not denv.suppressInlineKeyword then + if v.ShouldInline && not denv.suppressInlineKeyword then WordL.keywordInline ++ nameL else nameL diff --git a/src/Compiler/Checking/PostInferenceChecks.fs b/src/Compiler/Checking/PostInferenceChecks.fs index e9dee56e748..d095ba82aa6 100644 --- a/src/Compiler/Checking/PostInferenceChecks.fs +++ b/src/Compiler/Checking/PostInferenceChecks.fs @@ -85,6 +85,9 @@ type env = /// "module remap info", i.e. hiding information down the signature chain, used to compute what's hidden by a signature sigToImplRemapInfo: (Remap * SignatureHidingInfo) list + /// preserve internal/private signature information + realInternalSignature: bool + /// Are we in a quotation? quote : bool @@ -1970,7 +1973,8 @@ and AdjustAccess isHidden (cpath: unit -> CompilationPath) access = let (TAccess l) = access // FSharp 1.0 bug 1908: Values hidden by signatures are implicitly at least 'internal' let scoref = cpath().ILScopeRef - TAccess(CompPath(scoref, []) :: l) + let sa = cpath().SyntaxAccess + TAccess(CompPath(scoref, sa, []) :: l) else access @@ -2076,7 +2080,7 @@ and CheckBinding cenv env alwaysCheckNoReraise ctxt (TBind(v, bindRhs, _) as bin if cenv.reportErrors && isReturnsResumableCodeTy g v.TauType then if not (g.langVersion.SupportsFeature LanguageFeature.ResumableStateMachines) then error(Error(FSComp.SR.tcResumableCodeNotSupported(), bind.Var.Range)) - if not v.MustInline then + if not v.ShouldInline then warning(Error(FSComp.SR.tcResumableCodeFunctionMustBeInline(), v.Range)) if isReturnsResumableCodeTy g v.TauType then @@ -2084,7 +2088,7 @@ and CheckBinding cenv env alwaysCheckNoReraise ctxt (TBind(v, bindRhs, _) as bin else env - CheckLambdas isTop (Some v) cenv env v.MustInline valReprInfo alwaysCheckNoReraise bindRhs v.Range v.Type ctxt + CheckLambdas isTop (Some v) cenv env v.ShouldInline valReprInfo alwaysCheckNoReraise bindRhs v.Range v.Type ctxt and CheckBindings cenv env binds = for bind in binds do @@ -2601,7 +2605,7 @@ let CheckImplFileContents cenv env implFileTy implFileContents = UpdatePrettyTyparNames.updateModuleOrNamespaceType implFileTy CheckDefnInModule cenv env implFileContents -let CheckImplFile (g, amap, reportErrors, infoReader, internalsVisibleToPaths, viewCcu, tcValF, denv, implFileTy, implFileContents, extraAttribs, isLastCompiland: bool*bool, isInternalTestSpanStackReferring) = +let CheckImplFile (g, amap, realInternalSignature, reportErrors, infoReader, internalsVisibleToPaths, viewCcu, tcValF, denv, implFileTy, implFileContents, extraAttribs, isLastCompiland: bool*bool, isInternalTestSpanStackReferring) = let cenv = { g = g reportErrors = reportErrors @@ -2634,6 +2638,7 @@ let CheckImplFile (g, amap, reportErrors, infoReader, internalsVisibleToPaths, v let env = { sigToImplRemapInfo=[] + realInternalSignature = realInternalSignature quote=false boundTyparNames=[] argVals = ValMap.Empty diff --git a/src/Compiler/Checking/PostInferenceChecks.fsi b/src/Compiler/Checking/PostInferenceChecks.fsi index 5ed4bb61fe8..496b0dc5819 100644 --- a/src/Compiler/Checking/PostInferenceChecks.fsi +++ b/src/Compiler/Checking/PostInferenceChecks.fsi @@ -14,6 +14,7 @@ open FSharp.Compiler.TcGlobals val CheckImplFile: g: TcGlobals * amap: ImportMap * + realInternalSignature: bool * reportErrors: bool * infoReader: InfoReader * internalsVisibleToPaths: CompilationPath list * diff --git a/src/Compiler/Checking/SignatureConformance.fs b/src/Compiler/Checking/SignatureConformance.fs index f24a93c5fc0..a058182c1a9 100644 --- a/src/Compiler/Checking/SignatureConformance.fs +++ b/src/Compiler/Checking/SignatureConformance.fs @@ -338,7 +338,7 @@ type Checker(g, amap, denv, remapInfo: SignatureRepackageInfo, checkingSig) = elif (implVal.CompiledName g.CompilerGlobalState) <> (sigVal.CompiledName g.CompilerGlobalState) then (err denv FSComp.SR.ValueNotContainedMutabilityCompiledNamesDiffer) elif implVal.DisplayName <> sigVal.DisplayName then (err denv FSComp.SR.ValueNotContainedMutabilityDisplayNamesDiffer) elif isLessAccessible implVal.Accessibility sigVal.Accessibility then (err denv FSComp.SR.ValueNotContainedMutabilityAccessibilityMore) - elif implVal.MustInline <> sigVal.MustInline then (err denv FSComp.SR.ValueNotContainedMutabilityInlineFlagsDiffer) + elif implVal.ShouldInline <> sigVal.ShouldInline then (err denv FSComp.SR.ValueNotContainedMutabilityInlineFlagsDiffer) elif implVal.LiteralValue <> sigVal.LiteralValue then (err denv FSComp.SR.ValueNotContainedMutabilityLiteralConstantValuesDiffer) elif implVal.IsTypeFunction <> sigVal.IsTypeFunction then (err denv FSComp.SR.ValueNotContainedMutabilityOneIsTypeFunction) else diff --git a/src/Compiler/Checking/SignatureHash.fs b/src/Compiler/Checking/SignatureHash.fs index 156f64c5bdf..4acd53e0fad 100644 --- a/src/Compiler/Checking/SignatureHash.fs +++ b/src/Compiler/Checking/SignatureHash.fs @@ -113,7 +113,7 @@ module HashAccessibility = let isHiddenToObserver (TAccess access) (observer: ObserverVisibility) = let isInternalCompPath x = match x with - | CompPath(ILScopeRef.Local, []) -> true + | CompPath(ILScopeRef.Local, _, []) -> true | _ -> false match access with diff --git a/src/Compiler/Checking/TailCallChecks.fs b/src/Compiler/Checking/TailCallChecks.fs index c26683e3da9..dbaec7c01a8 100644 --- a/src/Compiler/Checking/TailCallChecks.fs +++ b/src/Compiler/Checking/TailCallChecks.fs @@ -715,7 +715,7 @@ and CheckBinding cenv alwaysCheckNoReraise ctxt (TBind(v, bindRhs, _) as bind) : | Some info -> info | _ -> ValReprInfo.emptyValData - CheckLambdas isTop (Some v) cenv v.MustInline valReprInfo tailCall alwaysCheckNoReraise bindRhs v.Range v.Type ctxt + CheckLambdas isTop (Some v) cenv v.ShouldInline valReprInfo tailCall alwaysCheckNoReraise bindRhs v.Range v.Type ctxt and CheckBindings cenv binds = for bind in binds do diff --git a/src/Compiler/Checking/import.fs b/src/Compiler/Checking/import.fs index 7f1f13efda2..70e07fb26ec 100644 --- a/src/Compiler/Checking/import.fs +++ b/src/Compiler/Checking/import.fs @@ -567,7 +567,7 @@ and ImportILTypeDefs amap m scoref cpath enc (tdefs: ILTypeDefs) = /// the return ModuleOrNamespaceType will contain namespace entities for "System" and "Library", which in turn contain /// type definition entities for ["Char"; "Int32"] and ["C"] respectively. let ImportILAssemblyMainTypeDefs amap m scoref modul = - modul.TypeDefs |> ImportILTypeDefs amap m scoref (CompPath(scoref, [])) [] + modul.TypeDefs |> ImportILTypeDefs amap m scoref (CompPath(scoref, SyntaxAccess.Unknown, [])) [] /// Import the "exported types" table for multi-module assemblies. let ImportILAssemblyExportedType amap m auxModLoader (scoref: ILScopeRef) (exportedType: ILExportedTypeOrForwarder) = @@ -591,7 +591,7 @@ let ImportILAssemblyExportedType amap m auxModLoader (scoref: ILScopeRef) (expor scoref, preTypeDef ) - [ ImportILTypeDefList amap m (CompPath(scoref, [])) [] [(ns, (n, info))] ] + [ ImportILTypeDefList amap m (CompPath(scoref, SyntaxAccess.Unknown, [])) [] [(ns, (n, info))] ] /// Import the "exported types" table for multi-module assemblies. let ImportILAssemblyExportedTypes amap m auxModLoader scoref (exportedTypes: ILExportedTypesAndForwarders) = diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 6a574fadc14..23d927d463a 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -215,15 +215,17 @@ let CountStaticFieldDef = NewCounter "IL field definitions corresponding to valu let CountCallFuncInstructions = NewCounter "callfunc instructions (indirect calls)" /// Non-local information related to internals of code generation within an assembly -type IlxGenIntraAssemblyInfo = - { - /// A table recording the generated name of the static backing fields for each mutable top level value where - /// we may need to take the address of that value, e.g. static mutable module-bound values which are structs. These are - /// only accessible intra-assembly. Across assemblies, taking the address of static mutable module-bound values is not permitted. - /// The key to the table is the method ref for the property getter for the value, which is a stable name for the Val's - /// that come from both the signature and the implementation. - StaticFieldInfo: ConcurrentDictionary - } +/// A table recording the generated name of the static backing fields for each mutable top level value where +/// we may need to take the address of that value, e.g. static mutable module-bound values which are structs. These are +/// only accessible intra-assembly. Across assemblies, taking the address of static mutable module-bound values is not permitted. +/// The key to the table is the method ref for the property getter for the value, which is a stable name for the Val's +/// that come from both the signature and the implementation. +type IlxGenIntraAssemblyInfo(staticFieldInfo: ConcurrentDictionary) = + + static member Create() = + new IlxGenIntraAssemblyInfo(new ConcurrentDictionary<_, _>(HashIdentity.Structural)) + + member _.GetOrAddStaticFieldInfo(info: ILMethodRef, f: System.Func) = staticFieldInfo.GetOrAdd(info, f) /// Helper to make sure we take tailcalls in some situations type FakeUnit = | Fake @@ -316,9 +318,6 @@ type cenv = /// Cache the generation of the "unit" type mutable ilUnitTy: ILType option - /// Other information from the emit of this assembly - intraAssemblyInfo: IlxGenIntraAssemblyInfo - /// Cache methods with SecurityAttribute applied to them, to prevent unnecessary calls to ExistsInEntireHierarchyOfType casApplied: IDictionary @@ -410,7 +409,7 @@ let CompLocForSubModuleOrNamespace cloc (submod: ModuleOrNamespace) = Namespace = Some(mkTopName cloc.Namespace n) } -let CompLocForFixedPath fragName qname (CompPath(sref, cpath)) = +let CompLocForFixedPath fragName qname (CompPath(sref, _, cpath)) = let ns, t = cpath |> List.takeUntil (fun (_, mkind) -> @@ -490,23 +489,36 @@ let TypeRefForCompLoc cloc = let mkILTyForCompLoc cloc = mkILNonGenericBoxedTy (TypeRefForCompLoc cloc) -let ComputeMemberAccess hidden = +let ComputeMemberAccess hidden (accessibility: Accessibility) realInternalSignature = + + // @@@@@@@@@@@ combine with below + let accessibility = + match hidden, accessibility.IsPublic with + | true, true -> None + | _ -> Some accessibility + if hidden then - ILMemberAccess.Assembly + match accessibility with + | Some access when realInternalSignature -> + // public let bindings on types are not public. + match access.AsILMemberAccess() with + | ILMemberAccess.Public -> ILMemberAccess.Public + | nonPublicScope -> nonPublicScope + | _ -> ILMemberAccess.Assembly else - ILMemberAccess.Public + match accessibility with + | Some access when realInternalSignature -> access.AsILMemberAccess() + | _ -> ILMemberAccess.Public -// Under --publicasinternal change types from Public to Private (internal for types) -let ComputePublicTypeAccess () = ILTypeDefAccess.Public +let ComputeTypeAccess (tref: ILTypeRef) hidden (accessibility: Accessibility) realInternalSignature = -let ComputeTypeAccess (tref: ILTypeRef) hidden = match tref.Enclosing with | [] -> if hidden then ILTypeDefAccess.Private else - ComputePublicTypeAccess() - | _ -> ILTypeDefAccess.Nested(ComputeMemberAccess hidden) + ILTypeDefAccess.Public + | _ -> ILTypeDefAccess.Nested(ComputeMemberAccess hidden accessibility realInternalSignature) //-------------------------------------------------------------------------- // TypeReprEnv @@ -814,17 +826,22 @@ and GenTypeArgs cenv m tyenv tyargs = GenTypeArgsAux cenv m tyenv tyargs // Computes the location where the static field for a value lives. // - Literals go in their type/module. // - For interactive code, we always place fields in their type/module with an accurate name -let GenFieldSpecForStaticField (isInteractive, g, ilContainerTy, vspec: Val, nm, m, cloc, ilTy) = - if isInteractive || HasFSharpAttribute g g.attrib_LiteralAttribute vspec.Attribs then - let fieldName = vspec.CompiledName g.CompilerGlobalState +let GenFieldSpecForStaticField (isInteractive, (g: TcGlobals), ilContainerTy, vspec: Val, nm, m, cloc, ilTy) = - let fieldName = - if isInteractive then - CompilerGeneratedName fieldName - else - fieldName + let fieldName = vspec.CompiledName g.CompilerGlobalState + if HasFSharpAttribute g g.attrib_LiteralAttribute vspec.Attribs then mkILFieldSpecInTy (ilContainerTy, fieldName, ilTy) + elif isInteractive then + mkILFieldSpecInTy (ilContainerTy, CompilerGeneratedName fieldName, ilTy) + elif g.realInternalSignature then + assert (g.CompilerGlobalState |> Option.isSome) + + mkILFieldSpecInTy ( + ilContainerTy, + CompilerGeneratedName(g.CompilerGlobalState.Value.IlxGenNiceNameGenerator.FreshCompilerGeneratedName(nm, m)), + ilTy + ) else let fieldName = // Ensure that we have an g.CompilerGlobalState @@ -1150,6 +1167,18 @@ and IlxGenEnv = /// Indicates the default "place" for stuff we're currently generating cloc: CompileLocation + /// Indicates the default "place" for initialization stuff we're currently generating + initClassCompLoc: CompileLocation option + + /// Per sourcefile initclass fieldspec + initClassFieldSpec: Lazy option + + /// Indicates the name used for static initialization fields + initFieldName: string + + /// Indicates the name used for static initialization method + staticInitializationName: string + /// The sequel to use for an "early exit" in a state machine, e.g. a return from the middle of an /// async block exitSequel: sequel @@ -1194,6 +1223,11 @@ and IlxGenEnv = /// Collection of code-gen functions where each inner array represents codegen (method bodies) functions for a single file delayedFileGenReverse: list<(unit -> unit)[]> + + /// Other information from the emit of this assembly + intraAssemblyInfo: IlxGenIntraAssemblyInfo + + realInternalSignature: bool } override _.ToString() = "" @@ -1454,20 +1488,23 @@ let ComputeFieldSpecForVal match optIntraAssemblyInfo with | None -> generate () - | Some iai -> iai.StaticFieldInfo.GetOrAdd(ilGetterMethRef, (fun _ -> generate ())) + | Some intraAssemblyInfo -> intraAssemblyInfo.GetOrAddStaticFieldInfo(ilGetterMethRef, (fun _ -> generate ())) /// Compute the representation information for an F#-declared value (not a member nor a function). /// Mutable and literal static fields must have stable names and live in the "public" location -let ComputeStorageForFSharpValue amap (g: TcGlobals) cloc optIntraAssemblyInfo optShadowLocal isInteractive returnTy (vref: ValRef) m = - let nm = vref.CompiledName g.CompilerGlobalState +let ComputeStorageForFSharpValue cenv cloc optIntraAssemblyInfo optShadowLocal isInteractive returnTy (vref: ValRef) m = + let nm = vref.CompiledName cenv.g.CompilerGlobalState let vspec = vref.Deref let ilTy = - GenType amap m TypeReprEnv.Empty returnTy (* TypeReprEnv.Empty ok: not a field in a generic class *) + GenType cenv m TypeReprEnv.Empty returnTy (* TypeReprEnv.Empty ok: not a field in a generic class *) let ilTyForProperty = mkILTyForCompLoc cloc let attribs = vspec.Attribs - let hasLiteralAttr = HasFSharpAttribute g g.attrib_LiteralAttribute attribs + + let hasLiteralAttr = + HasFSharpAttribute cenv.g cenv.g.attrib_LiteralAttribute attribs + let ilTypeRefForProperty = ilTyForProperty.TypeRef let ilGetterMethRef = @@ -1477,7 +1514,7 @@ let ComputeStorageForFSharpValue amap (g: TcGlobals) cloc optIntraAssemblyInfo o mkILMethRef (ilTypeRefForProperty, ILCallingConv.Static, "set_" + nm, 0, [ ilTy ], ILType.Void) let ilFieldSpec = - ComputeFieldSpecForVal(optIntraAssemblyInfo, isInteractive, g, ilTyForProperty, vspec, nm, m, cloc, ilTy, ilGetterMethRef) + ComputeFieldSpecForVal(optIntraAssemblyInfo, isInteractive, cenv.g, ilTyForProperty, vspec, nm, m, cloc, ilTy, ilGetterMethRef) StaticPropertyWithField(ilFieldSpec, vref, hasLiteralAttr, ilTyForProperty, nm, ilTy, ilGetterMethRef, ilSetterMethRef, optShadowLocal) @@ -1539,7 +1576,6 @@ let IsFSharpValCompiledAsMethod g (v: Val) = let ComputeStorageForValWithValReprInfo ( cenv, - g, optIntraAssemblyInfo: IlxGenIntraAssemblyInfo option, isInteractive, optShadowLocal, @@ -1547,7 +1583,11 @@ let ComputeStorageForValWithValReprInfo cloc ) = - if isUnitTy g vref.Type && not vref.IsMemberOrModuleBinding && not vref.IsMutable then + if + isUnitTy cenv.g vref.Type + && not vref.IsMemberOrModuleBinding + && not vref.IsMutable + then Null else let valReprInfo = @@ -1563,7 +1603,7 @@ let ComputeStorageForValWithValReprInfo | Some a -> a let m = vref.Range - let nm = vref.CompiledName g.CompilerGlobalState + let nm = vref.CompiledName cenv.g.CompilerGlobalState if vref.Deref.IsCompiledAsStaticPropertyWithoutField then let nm = "get_" + nm @@ -1579,35 +1619,34 @@ let ComputeStorageForValWithValReprInfo // // REVIEW: This call to GetValReprTypeInFSharpForm is only needed to determine if this is a (type) function or a value // We should just look at the arity - match GetValReprTypeInFSharpForm g valReprInfo vref.Type vref.Range with + match GetValReprTypeInFSharpForm cenv.g valReprInfo vref.Type vref.Range with | [], [], returnTy, _ when not vref.IsMember -> - ComputeStorageForFSharpValue cenv g cloc optIntraAssemblyInfo optShadowLocal isInteractive returnTy vref m + ComputeStorageForFSharpValue cenv cloc optIntraAssemblyInfo optShadowLocal isInteractive returnTy vref m | _ -> match vref.MemberInfo with | Some memberInfo when not vref.IsExtensionMember -> ComputeStorageForFSharpMember cenv valReprInfo memberInfo vref m | _ -> ComputeStorageForFSharpFunctionOrFSharpExtensionMember cenv cloc valReprInfo vref m /// Determine how an F#-declared value, function or member is represented, if it is in the assembly being compiled. -let ComputeAndAddStorageForLocalValWithValReprInfo (cenv, g, intraAssemblyFieldTable, isInteractive, optShadowLocal) cloc (v: Val) eenv = +let ComputeAndAddStorageForLocalValWithValReprInfo (cenv, intraAssemblyFieldTable, isInteractive, optShadowLocal) cloc (v: Val) eenv = let storage = - ComputeStorageForValWithValReprInfo(cenv, g, Some intraAssemblyFieldTable, isInteractive, optShadowLocal, mkLocalValRef v, cloc) + ComputeStorageForValWithValReprInfo(cenv, Some intraAssemblyFieldTable, isInteractive, optShadowLocal, mkLocalValRef v, cloc) - AddStorageForVal g (v, notlazy storage) eenv + AddStorageForVal cenv.g (v, notlazy storage) eenv /// Determine how an F#-declared value, function or member is represented, if it is an external assembly. -let ComputeStorageForNonLocalVal cenv g cloc modref (v: Val) = +let ComputeStorageForNonLocalVal cenv cloc modref (v: Val) = match v.ValReprInfo with | None -> error (InternalError("ComputeStorageForNonLocalVal, expected an ValReprInfo for " + v.LogicalName, v.Range)) - | Some _ -> ComputeStorageForValWithValReprInfo(cenv, g, None, false, NoShadowLocal, mkNestedValRef modref v, cloc) + | Some _ -> ComputeStorageForValWithValReprInfo(cenv, None, false, NoShadowLocal, mkNestedValRef modref v, cloc) /// Determine how all the F#-declared top level values, functions and members are represented, for an external module or namespace. -let rec AddStorageForNonLocalModuleOrNamespaceRef cenv g cloc acc (modref: ModuleOrNamespaceRef) (modul: ModuleOrNamespace) = +let rec AddStorageForNonLocalModuleOrNamespaceRef cenv cloc acc (modref: ModuleOrNamespaceRef) (modul: ModuleOrNamespace) = let acc = (acc, modul.ModuleOrNamespaceType.ModuleAndNamespaceDefinitions) ||> List.fold (fun acc smodul -> AddStorageForNonLocalModuleOrNamespaceRef cenv - g (CompLocForSubModuleOrNamespace cloc smodul) acc (modref.NestedTyconRef smodul) @@ -1616,12 +1655,12 @@ let rec AddStorageForNonLocalModuleOrNamespaceRef cenv g cloc acc (modref: Modul let acc = (acc, modul.ModuleOrNamespaceType.AllValsAndMembers) ||> Seq.fold (fun acc v -> - AddStorageForVal g (v, InterruptibleLazy(fun _ -> ComputeStorageForNonLocalVal cenv g cloc modref v)) acc) + AddStorageForVal cenv.g (v, InterruptibleLazy(fun _ -> ComputeStorageForNonLocalVal cenv cloc modref v)) acc) acc /// Determine how all the F#-declared top level values, functions and members are represented, for an external assembly. -let AddStorageForExternalCcu cenv g eenv (ccu: CcuThunk) = +let AddStorageForExternalCcu cenv eenv (ccu: CcuThunk) = if not ccu.IsFSharp then eenv else @@ -1632,7 +1671,7 @@ let AddStorageForExternalCcu cenv g eenv (ccu: CcuThunk) = (fun smodul acc -> let cloc = CompLocForSubModuleOrNamespace cloc smodul let modref = mkNonLocalCcuRootEntityRef ccu smodul - AddStorageForNonLocalModuleOrNamespaceRef cenv g cloc acc modref smodul) + AddStorageForNonLocalModuleOrNamespaceRef cenv cloc acc modref smodul) ccu.RootModulesAndNamespaces eenv @@ -1641,7 +1680,7 @@ let AddStorageForExternalCcu cenv g eenv (ccu: CcuThunk) = (eenv, ccu.Contents.ModuleOrNamespaceType.AllValsAndMembers) ||> Seq.fold (fun acc v -> - AddStorageForVal g (v, InterruptibleLazy(fun _ -> ComputeStorageForNonLocalVal cenv g cloc eref v)) acc) + AddStorageForVal cenv.g (v, InterruptibleLazy(fun _ -> ComputeStorageForNonLocalVal cenv cloc eref v)) acc) eenv @@ -1662,8 +1701,8 @@ let rec AddBindingsForLocalModuleOrNamespaceType allocVal cloc eenv (mty: Module eenv /// Record how all the top level F#-declared values, functions and members are represented, for a set of referenced assemblies. -let AddExternalCcusToIlxGenEnv cenv g eenv ccus = - List.fold (AddStorageForExternalCcu cenv g) eenv ccus +let AddExternalCcusToIlxGenEnv cenv eenv ccus = + List.fold (AddStorageForExternalCcu cenv) eenv ccus /// Record how all the unrealized abstract slots are represented, for a type definition. let AddBindingsForTycon allocVal (cloc: CompileLocation) (tycon: Tycon) eenv = @@ -1759,21 +1798,11 @@ and AddBindingsForModuleOrNamespaceBinding allocVal cloc x eenv = /// into the stored results for the whole CCU. /// isIncrementalFragment = true --> "typed input" /// isIncrementalFragment = false --> "#load" -let AddIncrementalLocalAssemblyFragmentToIlxGenEnv - ( - cenv: cenv, - isIncrementalFragment, - g, - ccu, - fragName, - intraAssemblyInfo, - eenv, - implFiles - ) = +let AddIncrementalLocalAssemblyFragmentToIlxGenEnv (cenv: cenv, isIncrementalFragment, ccu, fragName, eenv, implFiles) = let cloc = CompLocForFragment fragName ccu let allocVal = - ComputeAndAddStorageForLocalValWithValReprInfo(cenv, g, intraAssemblyInfo, true, NoShadowLocal) + ComputeAndAddStorageForLocalValWithValReprInfo(cenv, eenv.intraAssemblyInfo, true, NoShadowLocal) (eenv, implFiles) ||> List.fold (fun eenv implFile -> @@ -1928,6 +1957,8 @@ type TypeDefBuilder(tdef: ILTypeDef, tdefDiscards) = this + member _.ILTypeDef = tdef + and TypeDefsBuilder() = let tdefs = @@ -2093,7 +2124,7 @@ type AnonTypeGenerationTable() = let tycon = let lmtyp = MaybeLazy.Strict(Construct.NewEmptyModuleOrNamespaceType ModuleOrType) - let cpath = CompPath(ilTypeRef.Scope, []) + let cpath = CompPath(ilTypeRef.Scope, SyntaxAccess.Unknown, []) Construct.NewTycon( Some cpath, @@ -2264,7 +2295,10 @@ and AssemblyBuilder(cenv: cenv, anonTypeTable: AnonTypeGenerationTable) as mgbuf let vtdef = mkRawDataValueTypeDef g.iltyp_ValueType (name, size, 0us) let vtref = NestedTypeRefForCompLoc cloc vtdef.Name let vtspec = mkILTySpec (vtref, []) - let vtdef = vtdef.WithAccess(ComputeTypeAccess vtref true) + + let vtdef = + vtdef.WithAccess(ComputeTypeAccess vtref true taccessInternal cenv.g.realInternalSignature) + mgbuf.AddTypeDef(vtref, vtdef, false, true, None) vtspec), keyComparer = HashIdentity.Structural @@ -2329,6 +2363,8 @@ and AssemblyBuilder(cenv: cenv, anonTypeTable: AnonTypeGenerationTable) as mgbuf .FindNestedTypeDefsBuilder(tref.Enclosing) .AddTypeDef(tdef, eliminateIfEmpty, addAtEnd, tdefDiscards) + member _.FindNestedTypeDefBuilder(tref: ILTypeRef) = gtdefs.FindNestedTypeDefBuilder(tref) + member _.GetCurrentFields(tref: ILTypeRef) = gtdefs.FindNestedTypeDefBuilder(tref).GetCurrentFields() @@ -6115,7 +6151,7 @@ and GenStructStateMachine cenv cgbuf eenvouter (res: LoweredStateMachine) sequel ) do // Suppress the "ResumptionDynamicInfo" from generated state machines if templateFld.LogicalName <> "ResumptionDynamicInfo" then - let access = ComputeMemberAccess false + let access = ComputeMemberAccess false taccessPublic cenv.g.realInternalSignature let fty = GenType cenv m eenvinner.tyenv templateFld.FieldType let fdef = @@ -6136,7 +6172,7 @@ and GenStructStateMachine cenv cgbuf eenvouter (res: LoweredStateMachine) sequel // Fields for captured variables for ilCloFreeVar in ilCloFreeVars do - let access = ComputeMemberAccess false + let access = ComputeMemberAccess false taccessPublic cenv.g.realInternalSignature let fdef = ILFieldDef( @@ -6181,7 +6217,7 @@ and GenStructStateMachine cenv cgbuf eenvouter (res: LoweredStateMachine) sequel ) .WithSealed(true) .WithSpecialName(true) - .WithAccess(ComputeTypeAccess ilCloTypeRef true) + .WithAccess(ComputeTypeAccess ilCloTypeRef true taccessInternal cenv.g.realInternalSignature) .WithLayout(ILTypeDefLayout.Auto) .WithEncoding(ILDefaultPInvokeEncoding.Auto) .WithInitSemantics(ILTypeInit.BeforeField) @@ -6610,7 +6646,7 @@ and GenClosureTypeDefs .WithSealed(true) .WithSerializable(true) .WithSpecialName(true) - .WithAccess(ComputeTypeAccess tref true) + .WithAccess(ComputeTypeAccess tref true taccessInternal cenv.g.realInternalSignature) .WithLayout(ILTypeDefLayout.Auto) .WithEncoding(ILDefaultPInvokeEncoding.Auto) .WithInitSemantics(ILTypeInit.BeforeField) @@ -6797,13 +6833,12 @@ and GenFreevar cenv m eenvouter tyenvinner (fv: Val) = #endif | _ -> GenType cenv m tyenvinner fv.Type -and GetIlxClosureFreeVars cenv m (thisVars: ValRef list) boxity eenvouter takenNames expr = +and GetIlxClosureFreeVars cenv m (thisVars: ValRef list) boxity eenv takenNames expr = let g = cenv.g // Choose a base name for the closure let basename = - let boundv = - eenvouter.letBoundVars |> List.tryFind (fun v -> not v.IsCompilerGenerated) + let boundv = eenv.letBoundVars |> List.tryFind (fun v -> not v.IsCompilerGenerated) match boundv with | Some v -> v.CompiledName cenv.g.CompilerGlobalState @@ -6821,6 +6856,7 @@ and GetIlxClosureFreeVars cenv m (thisVars: ValRef list) boxity eenvouter takenN let ilCloTypeRef = // FSharp 1.0 bug 3404: System.Reflection doesn't like '.' and '`' in type names let basenameSafeForUseAsTypename = CleanUpGeneratedTypeName basename + let suffixmark = expr.Range let cloName = @@ -6828,14 +6864,14 @@ and GetIlxClosureFreeVars cenv m (thisVars: ValRef list) boxity eenvouter takenN assert (g.CompilerGlobalState |> Option.isSome) g.CompilerGlobalState.Value.StableNameGenerator.GetUniqueCompilerGeneratedName(basenameSafeForUseAsTypename, suffixmark, uniq) - NestedTypeRefForCompLoc eenvouter.cloc cloName + NestedTypeRefForCompLoc eenv.cloc cloName // Collect the free variables of the closure let cloFreeVarResults = let opts = CollectTyparsAndLocalsWithStackGuard() let opts = - match eenvouter.tyenv.TemplateReplacement with + match eenv.tyenv.TemplateReplacement with | None -> opts | Some(tcref, _, typars, _) -> opts.WithTemplateReplacement(tyconRefEq g tcref, typars) @@ -6850,7 +6886,7 @@ and GetIlxClosureFreeVars cenv m (thisVars: ValRef list) boxity eenvouter takenN freeLocals |> List.filter (fun fv -> (thisVars |> List.forall (fun v -> not (valRefEq g (mkLocalValRef fv) v))) - && (match StorageForVal m fv eenvouter with + && (match StorageForVal m fv eenv with | StaticPropertyWithField _ | StaticProperty _ | Method _ @@ -6862,14 +6898,14 @@ and GetIlxClosureFreeVars cenv m (thisVars: ValRef list) boxity eenvouter takenN let cloFreeTyvars = (cloFreeVarResults.FreeTyvars, freeLocals) ||> List.fold (fun ftyvs fv -> - match StorageForVal m fv eenvouter with + match StorageForVal m fv eenv with | Env(_, _, Some(moreFtyvs, _)) | Local(_, _, Some(moreFtyvs, _)) -> unionFreeTyvars ftyvs moreFtyvs | _ -> ftyvs) let cloFreeTyvars = cloFreeTyvars.FreeTypars |> Zset.elements - let eenvinner = eenvouter |> EnvForTypars cloFreeTyvars + let eenvinner = eenv |> EnvForTypars cloFreeTyvars let ilCloTyInner = let ilCloGenericParams = GenGenericParams cenv eenvinner cloFreeTyvars @@ -6905,13 +6941,13 @@ and GetIlxClosureFreeVars cenv m (thisVars: ValRef list) boxity eenvouter takenN (cloFreeVars, names) ||> List.map2 (fun fv nm -> let localCloInfo = - match StorageForVal m fv eenvouter with + match StorageForVal m fv eenv with | Local(_, _, localCloInfo) | Env(_, _, localCloInfo) -> localCloInfo | _ -> None let ilFv = - mkILFreeVar (nm, fv.IsCompilerGenerated, GenFreevar cenv m eenvouter eenvinner.tyenv fv) + mkILFreeVar (nm, fv.IsCompilerGenerated, GenFreevar cenv m eenv eenvinner.tyenv fv) let storage = let ilField = mkILFieldSpecInTy (ilCloTyInner, ilFv.fvName, ilFv.fvType) @@ -8212,17 +8248,22 @@ and GenBinding cenv cgbuf eenv (bind: Binding) (isStateVar: bool) = GenBindingAfterDebugPoint cenv cgbuf eenv bind isStateVar None and ComputeMethodAccessRestrictedBySig eenv vspec = + let vspec = + if eenv.realInternalSignature then + DoRemapVal eenv.sigToImplRemapInfo vspec + else + vspec + + let isHiddenBySignatureVal = IsHiddenVal eenv.sigToImplRemapInfo vspec + let isHidden = - // Anything hidden by a signature gets assembly visibility - IsHiddenVal eenv.sigToImplRemapInfo vspec - || + isHiddenBySignatureVal // Anything that's not a module or member binding gets assembly visibility - not vspec.IsMemberOrModuleBinding - || + || not vspec.IsMemberOrModuleBinding // Compiler generated members for class function 'let' bindings get assembly visibility - vspec.IsIncrClassGeneratedMember + || vspec.IsIncrClassGeneratedMember - ComputeMemberAccess isHidden + ComputeMemberAccess isHidden vspec.Accessibility eenv.realInternalSignature and GenBindingAfterDebugPoint cenv cgbuf eenv bind isStateVar startMarkOpt = let g = cenv.g @@ -8249,12 +8290,13 @@ and GenBindingAfterDebugPoint cenv cgbuf eenv bind isStateVar startMarkOpt = let access = ComputeMethodAccessRestrictedBySig eenv vspec + // because of reflection back-compatability private constructors are treated the same as internal constructors // Workaround for .NET and Visual Studio restriction w.r.t debugger type proxys - // Mark internal constructors in internal classes as public. + // Mark internal and private constructors in internal classes as public. let access = + // private and internal constructors from source are treated the same if - access = ILMemberAccess.Assembly - && vspec.IsConstructor + vspec.IsConstructor && IsHiddenTycon eenv.sigToImplRemapInfo vspec.MemberApparentEntity.Deref then ILMemberAccess.Public @@ -8407,8 +8449,10 @@ and GenBindingAfterDebugPoint cenv cgbuf eenv bind isStateVar startMarkOpt = /// Generate a static field definition... let ilFieldDefs = + let hidden = not hasLiteralAttr || IsHiddenVal eenv.sigToImplRemapInfo vspec + let access = - ComputeMemberAccess(not hasLiteralAttr || IsHiddenVal eenv.sigToImplRemapInfo vspec) + ComputeMemberAccess hidden vspec.Accessibility cenv.g.realInternalSignature let ilFieldDef = mkILStaticField (fspec.Name, fty, None, None, access) @@ -9718,17 +9762,15 @@ and AllocValForBind cenv cgbuf (scopeMarks: Mark * Mark) eenv (TBind(v, repr, _) | Some _ -> None, AllocValReprWithinExpr cenv cgbuf (snd scopeMarks) eenv.cloc v eenv and AllocValReprWithinExpr cenv cgbuf endMark cloc v eenv = - let g = cenv.g - // decide whether to use a shadow local or not let useShadowLocal = cenv.options.generateDebugSymbols && not cenv.options.localOptimizationsEnabled && not v.IsCompilerGenerated && not v.IsMutable - && // Don't use shadow locals for things like functions which are not compiled as static values/properties - IsCompiledAsStaticProperty g v + && (not eenv.realInternalSignature) + && IsCompiledAsStaticProperty cenv.g v let optShadowLocal, eenv = if useShadowLocal then @@ -9738,7 +9780,7 @@ and AllocValReprWithinExpr cenv cgbuf endMark cloc v eenv = else NoShadowLocal, eenv - ComputeAndAddStorageForLocalValWithValReprInfo (cenv, g, cenv.intraAssemblyInfo, cenv.options.isInteractive, optShadowLocal) cloc v eenv + ComputeAndAddStorageForLocalValWithValReprInfo (cenv, eenv.intraAssemblyInfo, cenv.options.isInteractive, optShadowLocal) cloc v eenv //-------------------------------------------------------------------------- // Generate stack save/restore and assertions - pulled into letrec by alloc* @@ -9928,7 +9970,19 @@ and CreatePermissionSets cenv eenv (securityAttributes: Attrib list) = //-------------------------------------------------------------------------- /// Generate a static class at the given cloc -and GenTypeDefForCompLoc (cenv, eenv, mgbuf: AssemblyBuilder, cloc, hidden, attribs, initTrigger, eliminateIfEmpty, addAtEnd) = +and GenTypeDefForCompLoc + ( + cenv, + eenv, + mgbuf: AssemblyBuilder, + cloc, + hidden, + accessibility: Accessibility, + attribs, + initTrigger, + eliminateIfEmpty, + addAtEnd + ) = let g = cenv.g let tref = TypeRefForCompLoc cloc @@ -9936,7 +9990,7 @@ and GenTypeDefForCompLoc (cenv, eenv, mgbuf: AssemblyBuilder, cloc, hidden, attr mkILSimpleClass g.ilg (tref.Name, - ComputeTypeAccess tref hidden, + ComputeTypeAccess tref hidden accessibility cenv.g.realInternalSignature, emptyILMethods, emptyILFields, emptyILTypeDefs, @@ -9980,46 +10034,156 @@ and GenImplFileContents cenv cgbuf qname lazyInitInfo eenv mty def = let _eenvEnd = GenModuleOrNamespaceContents cenv cgbuf qname lazyInitInfo eenv def ()) +and CodeGenInitMethod cenv (cgbuf: CodeGenBuffer) eenv tref (codeGenInitFunc: CodeGenBuffer -> IlxGenEnv -> unit) m = + + // Generate the declarations in the module and its initialization code + let _, body = + CodeGenMethod cenv cgbuf.mgbuf ([], eenv.staticInitializationName, eenv, 0, None, codeGenInitFunc, m) + + if checkCodeDoesSomething body.Code then + // We are here because the module we just grabbed has an interesting static initializer + let feefee, seqpt = + if body.Code.Instrs.Length > 0 then + match body.Code.Instrs[0] with + | I_seqpoint sp as i -> [ FeeFeeInstr cenv sp.Document ], [ i ] + | _ -> [], [] + else + [], [] + + let ilDebugRange = GenPossibleILDebugRange cenv m + + // Call global file initializer + match eenv.initClassFieldSpec with + | Some fs -> + cgbuf.mgbuf.AddExplicitInitToSpecificMethodDef( + (fun md -> md.Name = ".cctor"), + tref, + fs.Force(), + ilDebugRange, + eenv.imports, + feefee, + seqpt + ) + | None -> () + + // Add code to invoke envinner's class static initializer + let access = ComputeMemberAccess true taccessInternal eenv.realInternalSignature + + let ilBody = MethodBody.IL(InterruptibleLazy.FromValue body) + let ilReturn = mkILReturn ILType.Void + + let method = + mkILNonGenericStaticMethod (eenv.staticInitializationName, access, [], ilReturn, ilBody) + + cgbuf.mgbuf.AddMethodDef(tref, method) + CountMethodDef() + + let ty = + let td = cgbuf.mgbuf.FindNestedTypeDefBuilder(tref).ILTypeDef + let boxity = if td.IsStruct then ILBoxity.AsValue else ILBoxity.AsObject + mkILFormalNamedTy boxity tref td.GenericParams + + let methodSpec = + mkILNonGenericStaticMethSpecInTy (ty, eenv.staticInitializationName, [], ILType.Void) + + cgbuf.EmitInstr((pop 0), Push0, mkNormalCall (methodSpec)) + and GenModuleOrNamespaceContents cenv (cgbuf: CodeGenBuffer) qname lazyInitInfo eenv x = match x with | TMDefRec(_isRec, opens, tycons, mbinds, m) -> - let eenvinner = AddDebugImportsToEnv cenv eenv opens - for tc in tycons do - if tc.IsFSharpException then - GenExnDef cenv cgbuf.mgbuf eenvinner m tc - else - GenTypeDef cenv cgbuf.mgbuf lazyInitInfo eenvinner m tc + let eenv = AddDebugImportsToEnv cenv eenv opens - // Generate chunks of non-nested bindings together to allow recursive fixups. let mutable bindsRemaining = mbinds + let dict = Dictionary() + + for tc in tycons do + let optTref = + if tc.IsFSharpException then + GenExnDef cenv cgbuf.mgbuf eenv m tc + else + GenTypeDef cenv cgbuf.mgbuf lazyInitInfo eenv m tc + + match optTref with + | Some tref -> dict.Add(tc.Stamp, tref) + | None -> () + while not bindsRemaining.IsEmpty do + match bindsRemaining with - | ModuleOrNamespaceBinding.Binding _ :: _ -> - let recBinds = + | ModuleOrNamespaceBinding.Binding _bind :: _rest -> + let mutable parent: Stamp option = None + let mutable take = true + + let theseBinds, rest = bindsRemaining - |> List.takeWhile (function - | ModuleOrNamespaceBinding.Binding _ -> true - | _ -> false) + |> List.partition (function + | ModuleOrNamespaceBinding.Binding _ when (not eenv.realInternalSignature) && take -> true + | ModuleOrNamespaceBinding.Binding bind when eenv.realInternalSignature && take -> + let (TBind(v, _, _)) = bind + + match v.HasDeclaringEntity with + | true -> + let declaring = v.DeclaringEntity.Deref.Stamp + + match parent with + | Some p -> + take <- p = declaring + p = declaring + | None -> + parent <- Some declaring + true + | false -> + take <- true + true + | _ -> + take <- false + false) + + let recBinds = + theseBinds |> List.map (function - | ModuleOrNamespaceBinding.Binding recBind -> recBind + | ModuleOrNamespaceBinding.Binding bind -> bind | _ -> failwith "GenModuleOrNamespaceContents - unexpected") - let otherBinds = - bindsRemaining - |> List.skipWhile (function - | ModuleOrNamespaceBinding.Binding _ -> true - | _ -> false) + match parent with + | Some p -> + match dict.TryGetValue(p) with + | true, tref -> + let eenv = + { eenv with + cloc = + { eenv.cloc with + Enclosing = tref.Enclosing @ [ tref.Name ] + Namespace = None + } + } + + CodeGenInitMethod + cenv + cgbuf + eenv + tref + (fun cgbuf eenv -> + // Generate chunks of non-nested bindings together to allow recursive fixups. + GenLetRecBindings cenv cgbuf eenv (recBinds, m) + CG.EmitInstr cgbuf (pop 0) Push0 I_ret //) + ) + m + | _ -> GenLetRecBindings cenv cgbuf eenv (recBinds, m) + + | _ -> GenLetRecBindings cenv cgbuf eenv (recBinds, m) + + bindsRemaining <- rest - GenLetRecBindings cenv cgbuf eenv (recBinds, m) - bindsRemaining <- otherBinds | (ModuleOrNamespaceBinding.Module _ as mbind) :: rest -> - GenModuleBinding cenv cgbuf qname lazyInitInfo eenvinner m mbind + GenModuleBinding cenv cgbuf qname lazyInitInfo eenv m mbind bindsRemaining <- rest + | [] -> failwith "unreachable" - eenvinner + eenv | TMDefLet(bind, _) -> GenBindings cenv cgbuf eenv [ bind ] None @@ -10042,19 +10206,22 @@ and GenModuleBinding cenv (cgbuf: CodeGenBuffer) (qname: QualifiedNameOfFile) la match x with | ModuleOrNamespaceBinding.Binding bind -> GenLetRecBindings cenv cgbuf eenv ([ bind ], m) + | ModuleOrNamespaceBinding.Module(mspec, mdef) when mspec.IsNamespace -> + // Generate the declarations in the namespace and its initialization code + GenModuleOrNamespaceContents cenv cgbuf qname lazyInitInfo eenv mdef |> ignore + | ModuleOrNamespaceBinding.Module(mspec, mdef) -> + + // Evaluate bindings for module let hidden = IsHiddenTycon eenv.sigToImplRemapInfo mspec let eenvinner = - if mspec.IsNamespace then - eenv - else - { eenv with - cloc = CompLocForFixedModule cenv.options.fragName qname.Text mspec - initLocals = - eenv.initLocals - && not (HasFSharpAttribute cenv.g cenv.g.attrib_SkipLocalsInitAttribute mspec.Attribs) - } + { eenv with + cloc = CompLocForFixedModule cenv.options.fragName qname.Text mspec + initLocals = + eenv.initLocals + && not (HasFSharpAttribute cenv.g cenv.g.attrib_SkipLocalsInitAttribute mspec.Attribs) + } // Create the class to hold the contents of this module. No class needed if // we're compiling it as a namespace. @@ -10063,44 +10230,46 @@ and GenModuleBinding cenv (cgbuf: CodeGenBuffer) (qname: QualifiedNameOfFile) la // However mutable static fields go into the class for the module itself. // So this static class ends up with a .cctor if it has mutable fields. // - if not mspec.IsNamespace then - // The use of ILTypeInit.OnAny prevents the execution of the cctor before the - // "main" method in the case where the "main" method is implicit. - let staticClassTrigger = (* if eenv.isFinalFile then *) - ILTypeInit.OnAny (* else ILTypeInit.BeforeField *) - - GenTypeDefForCompLoc( - cenv, - eenvinner, - cgbuf.mgbuf, - eenvinner.cloc, - hidden, - mspec.Attribs, - staticClassTrigger, - false (* atEnd= *) , - true - ) - // Generate the declarations in the module and its initialization code - let _envAtEnd = - GenModuleOrNamespaceContents cenv cgbuf qname lazyInitInfo eenvinner mdef + // The use of ILTypeInit.OnAny prevents the execution of the cctor before the + // "main" method in the case where the "main" method is implicit. + let staticClassTrigger = ILTypeInit.OnAny + + GenTypeDefForCompLoc( + cenv, + eenvinner, + cgbuf.mgbuf, + eenvinner.cloc, + hidden, + mspec.Accessibility, + mspec.Attribs, + staticClassTrigger, + false (* atEnd= *) , + true + ) - // If the module has a .cctor for some mutable fields, we need to ensure that when - // those fields are "touched" the InitClass .cctor is forced. The InitClass .cctor will - // then fill in the value of the mutable fields. - if - not mspec.IsNamespace - && (cgbuf.mgbuf.GetCurrentFields(TypeRefForCompLoc eenvinner.cloc) - |> Seq.isEmpty - |> not) - then - GenForceWholeFileInitializationAsPartOfCCtor + let tref = TypeRefForCompLoc eenvinner.cloc + + if eenv.realInternalSignature then + CodeGenInitMethod cenv - cgbuf.mgbuf - lazyInitInfo - (TypeRefForCompLoc eenvinner.cloc) - eenv.imports - mspec.Range + cgbuf + eenvinner + tref + (fun cgbuf eenv -> + GenModuleOrNamespaceContents cenv cgbuf qname lazyInitInfo eenv mdef |> ignore + CG.EmitInstr cgbuf (pop 0) Push0 I_ret //) + ) + m + else + GenModuleOrNamespaceContents cenv cgbuf qname lazyInitInfo eenvinner mdef + |> ignore + + // If the module has a .cctor for some mutable fields, we need to ensure that when + // those fields are "touched" the InitClass .cctor is forced. The InitClass .cctor will + // then fill in the value of the mutable fields. + if not (cgbuf.mgbuf.GetCurrentFields(tref) |> Seq.isEmpty) then + GenForceWholeFileInitializationAsPartOfCCtor cenv cgbuf.mgbuf lazyInitInfo tref eenv.imports mspec.Range /// Generate the namespace fragments in a single file and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: CheckedImplFileAfterOptimization) = @@ -10108,7 +10277,6 @@ and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: Checke implFile.ImplFile let optimizeDuringCodeGen = implFile.OptimizeDuringCodeGen - let g = cenv.g let m = qname.Range // Generate all the anonymous record types mentioned anywhere in this module @@ -10130,21 +10298,38 @@ and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: Checke let initClassCompLoc = CompLocForInitClass eenv.cloc let initClassTy = mkILTyForCompLoc initClassCompLoc + let initClassTrigger = ILTypeInit.OnAny + + let initClassFieldSpec = + lazy + let ilFieldDef = + mkILStaticField ( + eenv.initFieldName, + cenv.g.ilg.typ_Int32, + None, + None, + ComputeMemberAccess true taccessInternal cenv.g.realInternalSignature + ) + |> cenv.g.AddFieldNeverAttributes + |> cenv.g.AddFieldGeneratedAttributes - let initClassTrigger = (* if isFinalFile then *) - ILTypeInit.OnAny (* else ILTypeInit.BeforeField *) + CountStaticFieldDef() + mgbuf.AddFieldDef(initClassTy.TypeRef, ilFieldDef) + mkILFieldSpecInTy (initClassTy, eenv.initFieldName, cenv.g.ilg.typ_Int32) let eenv = { eenv with cloc = initClassCompLoc + initClassCompLoc = Some initClassCompLoc isFinalFile = isFinalFile someTypeInThisAssembly = initClassTy + initClassFieldSpec = Some initClassFieldSpec } // Create the class to hold the initialization code and static fields for this file. // internal static class $ {} // Put it at the end since that gives an approximation of dependency order (to aid FSI.EXE's code generator - see FSharp 1.0 5548) - GenTypeDefForCompLoc(cenv, eenv, mgbuf, initClassCompLoc, useHiddenInitCode, [], initClassTrigger, false, true) + GenTypeDefForCompLoc(cenv, eenv, mgbuf, initClassCompLoc, useHiddenInitCode, taccessInternal, [], initClassTrigger, false, true) // lazyInitInfo is an accumulator of functions which add the forced initialization of the storage module to // - mutable fields in public modules @@ -10187,7 +10372,7 @@ and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: Checke // Library file (mainInfoOpt = None) : optional .cctor if topCode has initialization effect // Final file, explicit entry point (mainInfoOpt = Some _, GetExplicitEntryPointInfo() = Some) : main + optional .cctor if topCode has initialization effect // Final file, implicit entry point (mainInfoOpt = Some _, GetExplicitEntryPointInfo() = None) : main + initialize + optional .cctor calling initialize - let doesSomething = CheckCodeDoesSomething topCode.Code + let doesSomething = checkCodeDoesSomething topCode.Code // Make a FEEFEE instruction to mark hidden code regions // We expect the first instruction to be a debug point when generating debug symbols @@ -10259,30 +10444,24 @@ and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: Checke // Create the field to act as the target for the forced initialization. // Why do this for the final file? // There is no need to do this for a final file with an implicit entry point. For an explicit entry point in lazyInitInfo. - let initFieldName = CompilerGeneratedName "init" - - let ilFieldDef = - mkILStaticField (initFieldName, g.ilg.typ_Int32, None, None, ComputeMemberAccess true) - |> g.AddFieldNeverAttributes - |> g.AddFieldGeneratedAttributes - - let fspec = mkILFieldSpecInTy (initClassTy, initFieldName, cenv.g.ilg.typ_Int32) - CountStaticFieldDef() - mgbuf.AddFieldDef(initClassTy.TypeRef, ilFieldDef) + initClassFieldSpec.Force() |> ignore // Run the imperative (yuck!) actions that force the generation // of references to the cctor for nested modules etc. - lazyInitInfo |> Seq.iter (fun f -> f fspec feefee seqpt) + match eenv.initClassFieldSpec with + | Some fspec -> + lazyInitInfo |> Seq.iter (fun f -> f (fspec.Force()) feefee seqpt) - if isScript && not isFinalFile then - mgbuf.AddScriptInitFieldSpec(fspec, m) + if isScript && not isFinalFile then + mgbuf.AddScriptInitFieldSpec(fspec.Force(), m) + | None -> () // Compute the ilxgenEnv after the generation of the module, i.e. the residue need to generate anything that // uses the constructs exported from this module. // We add the module type all over again. Note no shadow locals for static fields needed here since they are only relevant to the main/.cctor let eenvafter = let allocVal = - ComputeAndAddStorageForLocalValWithValReprInfo(cenv, g, cenv.intraAssemblyInfo, cenv.options.isInteractive, NoShadowLocal) + ComputeAndAddStorageForLocalValWithValReprInfo(cenv, eenv.intraAssemblyInfo, cenv.options.isInteractive, NoShadowLocal) AddBindingsForLocalModuleOrNamespaceType allocVal clocCcu eenv signature @@ -10528,12 +10707,12 @@ and GenPrintingMethod cenv eenv methName ilThisTy m = | _ -> () ] -and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = +and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) : ILTypeRef option = let g = cenv.g let tcref = mkLocalTyconRef tycon if tycon.IsTypeAbbrev then - () + None else match tycon.TypeReprInfo with #if !NO_TYPEPROVIDERS @@ -10543,7 +10722,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = | TNoRepr | TAsmRepr _ | TILObjectRepr _ - | TMeasureableRepr _ -> () + | TMeasureableRepr _ -> None | TFSharpTyconRepr _ -> let eenvinner = EnvForTycon tycon eenv let thisTy = generalizedTyconRef g tcref @@ -10559,8 +10738,17 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = let ilTypeName = tref.Name let hidden = IsHiddenTycon eenv.sigToImplRemapInfo tycon + let hiddenRepr = hidden || IsHiddenTyconRepr eenv.sigToImplRemapInfo tycon - let access = ComputeTypeAccess tref hidden + + let tyconAccess = + let tycon = + if eenv.realInternalSignature then + DoRemapTycon eenv.sigToImplRemapInfo tycon + else + tycon + + ComputeTypeAccess tref hidden tycon.Accessibility cenv.g.realInternalSignature // The implicit augmentation doesn't actually create CompareTo(object) or Object.Equals // So we do it here. @@ -10662,7 +10850,8 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = let tyconRepr = tycon.TypeReprInfo - let reprAccess = ComputeMemberAccess hiddenRepr + let reprAccess = + ComputeMemberAccess hiddenRepr taccessPublic cenv.g.realInternalSignature // DebugDisplayAttribute gets copied to the subtypes generated as part of DU compilation let debugDisplayAttrs, normalAttrs = @@ -10828,7 +11017,8 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = [ g.CompilerGeneratedAttribute; g.DebuggerBrowsableNeverAttribute ] | _ -> [] // don't hide fields in classes in debug display - let access = ComputeMemberAccess isFieldHidden + let access = + ComputeMemberAccess isFieldHidden taccessPublic cenv.g.realInternalSignature let literalValue = Option.map (GenFieldInit m) fspec.LiteralValue @@ -10898,7 +11088,10 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = if not useGenuineField then let ilPropName = fspec.LogicalName let ilMethName = "get_" + ilPropName - let access = ComputeMemberAccess isPropHidden + + let access = + ComputeMemberAccess isPropHidden taccessPublic cenv.g.realInternalSignature + let isStruct = isStructTyconRef tcref let attrs = @@ -10921,7 +11114,9 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = let ilMethName = "set_" + ilPropName let ilParams = [ mkILParamNamed ("value", ilPropType) ] let ilReturn = mkILReturn ILType.Void - let iLAccess = ComputeMemberAccess isPropHidden + + let iLAccess = + ComputeMemberAccess isPropHidden taccessPublic cenv.g.realInternalSignature let ilMethodDef = if isStatic then @@ -11128,7 +11323,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = match tycon.TypeReprInfo with | TILObjectRepr _ -> - let tdef = tycon.ILTyconRawMetadata.WithAccess access + let tdef = tycon.ILTyconRawMetadata.WithAccess tyconAccess let tdef = tdef.With(customAttrs = mkILCustomAttrs ilCustomAttrs, genericParams = ilGenParams) @@ -11170,7 +11365,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = let tdef = mkILGenericClass ( ilTypeName, - access, + tyconAccess, ilGenParams, ilBaseTy, ilIntfTys, @@ -11369,7 +11564,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = .WithSerializable(isSerializable) .WithSealed(true) .WithEncoding(ILDefaultPInvokeEncoding.Auto) - .WithAccess(access) + .WithAccess(tyconAccess) // If there are static fields in the union, use the same kind of trigger as // for class types .WithInitSemantics( @@ -11428,26 +11623,40 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) = // In this case, the .cctor for this type must force the .cctor of the backing static class for the file. if tycon.TyparsNoRange.IsEmpty + && not (eenv.realInternalSignature) && tycon.MembersOfFSharpTyconSorted |> List.exists (fun vref -> vref.Deref.IsClassConstructor) then GenForceWholeFileInitializationAsPartOfCCtor cenv mgbuf lazyInitInfo tref eenv.imports m + Some tref + /// Generate the type for an F# exception declaration. -and GenExnDef cenv mgbuf eenv m (exnc: Tycon) = +and GenExnDef cenv mgbuf eenv m (exnc: Tycon) : ILTypeRef option = let g = cenv.g let exncref = mkLocalEntityRef exnc match exnc.ExceptionInfo with | TExnAbbrevRepr _ | TExnAsmRepr _ - | TExnNone -> () + | TExnNone -> None | TExnFresh _ -> let ilThisTy = GenExnType cenv m eenv.tyenv exncref let tref = ilThisTy.TypeRef let isHidden = IsHiddenTycon eenv.sigToImplRemapInfo exnc - let access = ComputeTypeAccess tref isHidden - let reprAccess = ComputeMemberAccess isHidden + + let access = + let tycon = + if eenv.realInternalSignature then + DoRemapTycon eenv.sigToImplRemapInfo exnc + else + exnc + + ComputeTypeAccess tref isHidden tycon.Accessibility cenv.g.realInternalSignature + + let reprAccess = + ComputeMemberAccess isHidden taccessPublic cenv.g.realInternalSignature + let fspecs = exnc.TrueInstanceFieldsAsList let ilMethodDefsForProperties, ilFieldDefs, ilPropertyDefs, fieldNamesAndTypes = @@ -11579,6 +11788,7 @@ and GenExnDef cenv mgbuf eenv m (exnc: Tycon) = let tdef = tdef.WithSerializable(true) mgbuf.AddTypeDef(tref, tdef, false, false, None) + Some tref let CodegenAssembly cenv eenv mgbuf implFiles = match List.tryFrontAndBack implFiles with @@ -11631,11 +11841,12 @@ let CodegenAssembly cenv eenv mgbuf implFiles = //------------------------------------------------------------------------- let GetEmptyIlxGenEnv (g: TcGlobals) ccu = - let thisCompLoc = CompLocForCcu ccu - { tyenv = TypeReprEnv.Empty - cloc = thisCompLoc + cloc = CompLocForCcu ccu + initClassCompLoc = None + initFieldName = CompilerGeneratedName "init" + staticInitializationName = CompilerGeneratedName "staticInitialization" exitSequel = Return valsInScope = ValMap<_>.Empty witnessesInScope = EmptyTraitWitnessInfoHashMap g @@ -11652,6 +11863,9 @@ let GetEmptyIlxGenEnv (g: TcGlobals) ccu = imports = None delayCodeGen = true delayedFileGenReverse = [] + intraAssemblyInfo = IlxGenIntraAssemblyInfo.Create() + realInternalSignature = g.realInternalSignature + initClassFieldSpec = None } type IlxGenResults = @@ -11722,6 +11936,7 @@ let GenerateCode (cenv, anonTypeTable, eenv, CheckedAssemblyAfterOptimization im mgbuf, CompLocForPrivateImplementationDetails eenv.cloc, useHiddenInitCode, + taccessInternal, [], ILTypeInit.BeforeField, true (* atEnd= *) , @@ -11879,26 +12094,21 @@ let ClearGeneratedValue (ctxt: ExecutionContext) eenv (v: Val) = () /// The published API from the ILX code generator -type IlxAssemblyGenerator(amap: ImportMap, tcGlobals: TcGlobals, tcVal: ConstraintSolver.TcValF, ccu: CcuThunk) = +type IlxAssemblyGenerator(amap: ImportMap, g: TcGlobals, tcVal: ConstraintSolver.TcValF, ccu: CcuThunk) = // The incremental state held by the ILX code generator - let mutable ilxGenEnv = GetEmptyIlxGenEnv tcGlobals ccu + let mutable ilxGenEnv = GetEmptyIlxGenEnv g ccu let anonTypeTable = AnonTypeGenerationTable() - let intraAssemblyInfo = - { - StaticFieldInfo = ConcurrentDictionary<_, _>(HashIdentity.Structural) - } - let cenv = { - g = tcGlobals + g = g ilxPubCloEnv = EraseClosures.newIlxPubCloEnv ( - tcGlobals.ilg, - tcGlobals.AddMethodGeneratedAttributes, - tcGlobals.AddFieldGeneratedAttributes, - tcGlobals.AddFieldNeverAttributes + g.ilg, + g.AddMethodGeneratedAttributes, + g.AddFieldGeneratedAttributes, + g.AddFieldNeverAttributes ) tcVal = tcVal viewCcu = ccu @@ -11906,7 +12116,6 @@ type IlxAssemblyGenerator(amap: ImportMap, tcGlobals: TcGlobals, tcVal: Constrai namedDebugPointsForInlinedCode = Map.empty amap = amap casApplied = ConcurrentDictionary() - intraAssemblyInfo = intraAssemblyInfo optionsOpt = None optimizeDuringCodeGen = (fun _flag expr -> expr) stackGuard = getEmptyStackGuard () @@ -11915,22 +12124,12 @@ type IlxAssemblyGenerator(amap: ImportMap, tcGlobals: TcGlobals, tcVal: Constrai /// Register a set of referenced assemblies with the ILX code generator member _.AddExternalCcus ccus = - ilxGenEnv <- AddExternalCcusToIlxGenEnv cenv tcGlobals ilxGenEnv ccus + ilxGenEnv <- AddExternalCcusToIlxGenEnv cenv ilxGenEnv ccus /// Register a fragment of the current assembly with the ILX code generator. If 'isIncrementalFragment' is true then the input /// is assumed to be a fragment 'typed' into FSI.EXE, otherwise the input is assumed to be the result of a '#load' member _.AddIncrementalLocalAssemblyFragment(isIncrementalFragment, fragName, typedImplFiles) = - ilxGenEnv <- - AddIncrementalLocalAssemblyFragmentToIlxGenEnv( - cenv, - isIncrementalFragment, - tcGlobals, - ccu, - fragName, - intraAssemblyInfo, - ilxGenEnv, - typedImplFiles - ) + ilxGenEnv <- AddIncrementalLocalAssemblyFragmentToIlxGenEnv(cenv, isIncrementalFragment, ccu, fragName, ilxGenEnv, typedImplFiles) /// Generate ILX code for an assembly fragment member _.GenerateCode(codeGenOpts, typedAssembly: CheckedAssemblyAfterOptimization, assemAttribs, moduleAttribs) = diff --git a/src/Compiler/Driver/CompilerConfig.fs b/src/Compiler/Driver/CompilerConfig.fs index 32298c0cf05..19689e04169 100644 --- a/src/Compiler/Driver/CompilerConfig.fs +++ b/src/Compiler/Driver/CompilerConfig.fs @@ -610,6 +610,8 @@ type TcConfigBuilder = mutable typeCheckingConfig: TypeCheckingConfig mutable dumpSignatureData: bool + + mutable realInternalSignature: bool } // Directories to start probing in @@ -817,6 +819,7 @@ type TcConfigBuilder = DumpGraph = false } dumpSignatureData = false + realInternalSignature = false strictIndentation = None } @@ -1360,6 +1363,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) = member _.captureIdentifiersWhenParsing = data.captureIdentifiersWhenParsing member _.typeCheckingConfig = data.typeCheckingConfig member _.dumpSignatureData = data.dumpSignatureData + member _.realInternalSignature = data.realInternalSignature static member Create(builder, validate) = use _ = UseBuildPhase BuildPhase.Parameter diff --git a/src/Compiler/Driver/CompilerConfig.fsi b/src/Compiler/Driver/CompilerConfig.fsi index f59950f9e28..c88baaa3374 100644 --- a/src/Compiler/Driver/CompilerConfig.fsi +++ b/src/Compiler/Driver/CompilerConfig.fsi @@ -519,6 +519,8 @@ type TcConfigBuilder = mutable typeCheckingConfig: TypeCheckingConfig mutable dumpSignatureData: bool + + mutable realInternalSignature: bool } static member CreateNew: @@ -894,6 +896,8 @@ type TcConfig = member dumpSignatureData: bool + member realInternalSignature: bool + /// Represents a computation to return a TcConfig. Normally this is just a constant immutable TcConfig, /// but for F# Interactive it may be based on an underlying mutable TcConfigBuilder. [] diff --git a/src/Compiler/Driver/CompilerImports.fs b/src/Compiler/Driver/CompilerImports.fs index d8d9ccd9866..4eb7d49e37e 100644 --- a/src/Compiler/Driver/CompilerImports.fs +++ b/src/Compiler/Driver/CompilerImports.fs @@ -1667,6 +1667,7 @@ and [] TcImports let cpath = CompPath( ILScopeRef.Local, + SyntaxAccess.Unknown, injectedNamespace |> List.rev |> List.map (fun n -> (n, ModuleOrNamespaceKind.Namespace true)) @@ -2522,7 +2523,8 @@ and [] TcImports tcConfig.emitDebugInfoInQuotations, tcConfig.noDebugAttributes, tcConfig.pathMap, - tcConfig.langVersion + tcConfig.langVersion, + tcConfig.realInternalSignature ) #if DEBUG diff --git a/src/Compiler/Driver/CompilerOptions.fs b/src/Compiler/Driver/CompilerOptions.fs index d1618dd19d6..a4cfc978a36 100644 --- a/src/Compiler/Driver/CompilerOptions.fs +++ b/src/Compiler/Driver/CompilerOptions.fs @@ -568,6 +568,9 @@ let SetTailcallSwitch (tcConfigB: TcConfigBuilder) switch = let SetDeterministicSwitch (tcConfigB: TcConfigBuilder) switch = tcConfigB.deterministic <- (switch = OptionSwitch.On) +let SetRealInternalSignature (tcConfigB: TcConfigBuilder) switch = + tcConfigB.realInternalSignature <- (switch = OptionSwitch.On) + let SetReferenceAssemblyOnlySwitch (tcConfigB: TcConfigBuilder) switch = match tcConfigB.emitMetadataAssembly with | MetadataAssemblyGeneration.None when (not tcConfigB.standalone) && tcConfigB.extraStaticLinkRoots.IsEmpty -> @@ -1026,6 +1029,14 @@ let codeGenerationFlags isFsi (tcConfigB: TcConfigBuilder) = Some(FSComp.SR.optsDeterministic ()) ) + CompilerOption( + "realInternalSignature", + tagNone, + OptionSwitch(SetRealInternalSignature tcConfigB), + None, + Some(FSComp.SR.optsRealInternalSignature ()) + ) + CompilerOption("pathmap", tagPathMap, OptionStringList(AddPathMapping tcConfigB), None, Some(FSComp.SR.optsPathMap ())) CompilerOption( diff --git a/src/Compiler/Driver/ParseAndCheckInputs.fs b/src/Compiler/Driver/ParseAndCheckInputs.fs index 5a23c95ca7b..f5b5c7dce71 100644 --- a/src/Compiler/Driver/ParseAndCheckInputs.fs +++ b/src/Compiler/Driver/ParseAndCheckInputs.fs @@ -1306,6 +1306,7 @@ let CheckOneInput amap, tcState.tcsCcu, checkForErrors, + tcConfig.realInternalSignature, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, @@ -1356,6 +1357,7 @@ let CheckOneInput tcState.tcsCcu, tcState.tcsImplicitOpenDeclarations, checkForErrors, + tcConfig.realInternalSignature, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, @@ -1519,6 +1521,7 @@ let CheckOneInputWithCallback amap, tcState.tcsCcu, checkForErrors, + tcConfig.realInternalSignature, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, @@ -1573,6 +1576,7 @@ let CheckOneInputWithCallback tcState.tcsCcu, tcState.tcsImplicitOpenDeclarations, checkForErrors, + tcConfig.realInternalSignature, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index a9fc2692157..bf7e7ceb518 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -879,6 +879,7 @@ optsDebug,"Specify debugging type: full, portable, embedded, pdbonly. ('%s' is t optsOptimize,"Enable optimizations (Short form: -O)" optsTailcalls,"Enable or disable tailcalls" optsDeterministic,"Produce a deterministic assembly (including module version GUID and timestamp)" +optsRealInternalSignature,"Generate assembly with dotnet visibility that matches source visibility" optsRefOnly,"Produce a reference assembly, instead of a full assembly, as the primary output" optsRefOut,"Produce a reference assembly with the specified file path." optsPathMap,"Maps physical paths to source path names output by the compiler" @@ -993,7 +994,6 @@ lexhlpIdentifierReserved,"The identifier '%s' is reserved for future use by F#" 1112,impImportedAssemblyUsesNotPublicType,"An imported assembly uses the type '%s' but that type is not public" 1113,optValueMarkedInlineButIncomplete,"The value '%s' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible" 1114,optValueMarkedInlineButWasNotBoundInTheOptEnv,"The value '%s' was marked inline but was not bound in the optimization environment" -1115,optLocalValueNotFoundDuringOptimization,"Local value %s not found during optimization" 1116,optValueMarkedInlineHasUnexpectedValue,"A value marked as 'inline' has an unexpected value" 1117,optValueMarkedInlineCouldNotBeInlined,"A value marked as 'inline' could not be inlined" 1118,optFailedToInlineValue,"Failed to inline the value '%s' marked 'inline', perhaps because a recursive value was marked 'inline'" diff --git a/src/Compiler/Interactive/fsi.fs b/src/Compiler/Interactive/fsi.fs index e5ff5b6c754..a6ea4f1867e 100644 --- a/src/Compiler/Interactive/fsi.fs +++ b/src/Compiler/Interactive/fsi.fs @@ -1606,7 +1606,10 @@ let rec ConvReflectionTypeToILType (reflectionTy: Type) = let internal mkBoundValueTypedImpl tcGlobals m moduleName name ty = let vis = Accessibility.TAccess([]) - let compPath = (CompilationPath.CompPath(ILScopeRef.Local, [])) + + let compPath = + (CompilationPath.CompPath(ILScopeRef.Local, SyntaxAccess.Unknown, [])) + let mutable mty = Unchecked.defaultof<_> let entity = diff --git a/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs b/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs index 37b3f26c429..89fb83de49c 100644 --- a/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs +++ b/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs @@ -129,10 +129,10 @@ let mkLocalNameTypeArity compgen m name ty valReprInfo = //------------------------------------------------------------------------- //------------------------------------------------------------------------- -// pass1: GetValsBoundUnderMustInline (see comment further below) +// pass1: GetValsBoundUnderShouldInline (see comment further below) //------------------------------------------------------------------------- -let GetValsBoundUnderMustInline xinfo = +let GetValsBoundUnderShouldInline xinfo = let accRejectFrom (v: Val) repr rejectS = if v.InlineInfo = ValInline.Always then Zset.union (GetValsBoundInExpr repr) rejectS @@ -194,8 +194,14 @@ module Pass1_DetermineTLRAndArities = let nFormals = vss.Length let nMaxApplied = GetMaxNumArgsAtUses xinfo f let arity = Operators.min nFormals nMaxApplied - if atTopLevel || arity<>0 || not (isNil tps) then Some (f, arity) - else None + if atTopLevel then + Some (f, arity) + elif g.realInternalSignature then + None + else if arity<>0 || not (isNil tps) then + Some (f, arity) + else + None /// Check if f involves any value recursion (so can skip those). /// ValRec considered: recursive && some f in mutual binding is not bound to a lambda @@ -213,21 +219,21 @@ module Pass1_DetermineTLRAndArities = let xinfo = GetUsageInfoOfImplFile g expr let fArities = Zmap.chooseL (SelectTLRVals g xinfo) xinfo.Defns let fArities = List.filter (fst >> IsValueRecursionFree xinfo) fArities - // Do not TLR v if it is bound under a mustinline defn + // Do not TLR v if it is bound under a shouldinline defn // There is simply no point - the original value will be duplicated and TLR'd anyway - let rejectS = GetValsBoundUnderMustInline xinfo + let rejectS = GetValsBoundUnderShouldInline xinfo let fArities = List.filter (fun (v, _) -> not (Zset.contains v rejectS)) fArities (*-*) let tlrS = Zset.ofList valOrder (List.map fst fArities) - let topValS = xinfo.TopLevelBindings (* genuinely top level *) - let topValS = Zset.filter (IsMandatoryNonTopLevel g >> not) topValS (* restrict *) - (* REPORT MISSED CASES *) + let topValS = xinfo.TopLevelBindings (* genuinely top level *) + let topValS = Zset.filter (IsMandatoryNonTopLevel g >> not) topValS (* restrict *) #if DEBUG + (* REPORT MISSED CASES *) if verboseTLR then let missed = Zset.diff xinfo.TopLevelBindings tlrS missed |> Zset.iter (fun v -> dprintf "TopLevel but not TLR = %s\n" v.LogicalName) -#endif (* REPORT OVER *) +#endif let arityM = Zmap.ofList valOrder fArities #if DEBUG if verboseTLR then DumpArity arityM @@ -885,24 +891,24 @@ module Pass4_RewriteAssembly = /// Any TLR repr bindings under lambdas can be filtered out (and collected), /// giving pre-declarations to insert before the outermost lambda expr. type RewriteState = - { rws_mustinline: bool + { rws_shouldinline: bool /// counts level of enclosing "lambdas" rws_innerLevel: int /// collected preDecs (fringe is in-order) rws_preDecs: Tree } - let rewriteState0 = {rws_mustinline=false;rws_innerLevel=0;rws_preDecs=emptyTR} + let rewriteState0 = {rws_shouldinline=false;rws_innerLevel=0;rws_preDecs=emptyTR} // move in/out of lambdas (or lambda containing construct) let EnterInner z = {z with rws_innerLevel = z.rws_innerLevel + 1} let ExitInner z = {z with rws_innerLevel = z.rws_innerLevel - 1} - let EnterMustInline b z f = - let orig = z.rws_mustinline - let x, z' = f (if b then {z with rws_mustinline = true } else z) - {z' with rws_mustinline = orig }, x + let EnterShouldInline b z f = + let orig = z.rws_shouldinline + let x, z' = f (if b then {z with rws_shouldinline = true } else z) + {z' with rws_shouldinline = orig }, x /// extract PreDecs (iff at top-level) let ExtractPreDecs z = @@ -1263,8 +1269,8 @@ module Pass4_RewriteAssembly = TObjExprMethod(slotsig, attribs, tps, vs, e, m), z and TransBindingRhs penv z (TBind(v, e, letSeqPtOpt)) : Binding * RewriteState = - let mustInline = v.MustInline - let z, e = EnterMustInline mustInline z (fun z -> TransExpr penv z e) + let shouldInline = v.ShouldInline + let z, e = EnterShouldInline shouldInline z (fun z -> TransExpr penv z e) TBind (v, e, letSeqPtOpt), z and TransDecisionTree penv z x: DecisionTree * RewriteState = diff --git a/src/Compiler/Optimize/Optimizer.fs b/src/Compiler/Optimize/Optimizer.fs index fd3c85dd60b..0a6a47fcaba 100644 --- a/src/Compiler/Optimize/Optimizer.fs +++ b/src/Compiler/Optimize/Optimizer.fs @@ -435,6 +435,7 @@ type cenv = stackGuard: StackGuard + realInternalSignature: bool } override x.ToString() = "" @@ -499,7 +500,7 @@ let rec IsPartialExprVal x = | SizeValue(_, a) -> IsPartialExprVal a let CheckInlineValueIsComplete (v: Val) res = - if v.MustInline && IsPartialExprVal res then + if v.ShouldInline && IsPartialExprVal res then errorR(Error(FSComp.SR.optValueMarkedInlineButIncomplete(v.DisplayName), v.Range)) //System.Diagnostics.Debug.Assert(false, sprintf "Break for incomplete inline value %s" v.DisplayName) @@ -557,7 +558,8 @@ let UnknownValInfo = { ValExprInfo=UnknownValue; ValMakesNoCriticalTailcalls=fal let mkValInfo info (v: Val) = { ValExprInfo=info.Info; ValMakesNoCriticalTailcalls= v.MakesNoCriticalTailcalls } (* Bind a value *) -let BindInternalLocalVal cenv (v: Val) vval env = +let BindInternalLocalVal cenv (v: Val) vval env = + let vval = if v.IsMutable then UnknownValInfo else vval match vval.ValExprInfo with @@ -565,7 +567,7 @@ let BindInternalLocalVal cenv (v: Val) vval env = | _ -> cenv.localInternalVals[v.Stamp] <- vval env - + let BindExternalLocalVal cenv (v: Val) vval env = let g = cenv.g @@ -635,7 +637,7 @@ let GetInfoForLocalValue cenv env (v: Val) m = match env.localExternalVals.TryFind v.Stamp with | Some vval -> vval | None -> - if v.MustInline then + if v.ShouldInline then errorR(Error(FSComp.SR.optValueMarkedInlineButWasNotBoundInTheOptEnv(fullDisplayTextOfValRef (mkLocalValRef v)), m)) UnknownValInfo @@ -663,7 +665,7 @@ let GetInfoForNonLocalVal cenv env (vref: ValRef) = if vref.IsDispatchSlot then UnknownValInfo // REVIEW: optionally turn x-module on/off on per-module basis or - elif cenv.settings.crossAssemblyOpt () || vref.MustInline then + elif cenv.settings.crossAssemblyOpt () || vref.ShouldInline then match TryGetInfoForNonLocalEntityRef env vref.nlr.EnclosingEntity.nlr with | Some structInfo -> match structInfo.ValInfos.TryFind vref with @@ -1400,7 +1402,7 @@ let AbstractOptimizationInfoToEssentials = let rec abstractModulInfo (ss: ModuleInfo) = { ModuleOrNamespaceInfos = NameMap.map (InterruptibleLazy.force >> abstractModulInfo >> notlazy) ss.ModuleOrNamespaceInfos - ValInfos = ss.ValInfos.Filter (fun (v, _) -> v.MustInline) } + ValInfos = ss.ValInfos.Filter (fun (v, _) -> v.ShouldInline) } and abstractLazyModulInfo ss = ss |> InterruptibleLazy.force |> abstractModulInfo |> notlazy @@ -2339,8 +2341,17 @@ let rec OptimizeExpr cenv (env: IncrementalOptimizationEnv) expr = | Expr.Const (c, m, ty) -> OptimizeConst cenv env expr (c, m, ty) - | Expr.Val (v, _vFlags, m) -> - OptimizeVal cenv env expr (v, m) + | Expr.Val (v, _vFlags, m) -> + if not (v.Accessibility.IsPrivate) then + OptimizeVal cenv env expr (v, m) + else + expr, + { TotalSize = 10 + FunctionSize = 1 + HasEffect = false + MightMakeCriticalTailcall=false + Info=UnknownValue } + | Expr.Quote (ast, splices, isFromQueryExpression, m, ty) -> let doData data = map3Of4 (List.map (OptimizeExpr cenv env >> fst)) data @@ -3020,8 +3031,7 @@ and CopyExprForInlining cenv isInlineIfLambda expr (m: range) = /// Make optimization decisions once we know the optimization information /// for a value -and TryOptimizeVal cenv env (vOpt: ValRef option, mustInline, inlineIfLambda, valInfoForVal, m) = - +and TryOptimizeVal cenv env (vOpt: ValRef option, shouldInline, inlineIfLambda, valInfoForVal, m) = let g = cenv.g match valInfoForVal with @@ -3030,13 +3040,13 @@ and TryOptimizeVal cenv env (vOpt: ValRef option, mustInline, inlineIfLambda, va Some (Expr.Const (c, m, ty)) | SizeValue (_, detail) -> - TryOptimizeVal cenv env (vOpt, mustInline, inlineIfLambda, detail, m) + TryOptimizeVal cenv env (vOpt, shouldInline, inlineIfLambda, detail, m) | ValValue (vR, detail) -> // Inline values bound to other values immediately // Prefer to inline using the more specific info if possible // If the more specific info didn't reveal an inline then use the value - match TryOptimizeVal cenv env (vOpt, mustInline, inlineIfLambda, detail, m) with + match TryOptimizeVal cenv env (vOpt, shouldInline, inlineIfLambda, detail, m) with | Some e -> Some e | None -> // If we have proven 'v = compilerGeneratedValue' @@ -3054,17 +3064,25 @@ and TryOptimizeVal cenv env (vOpt: ValRef option, mustInline, inlineIfLambda, va | ConstExprValue(_size, expr) -> Some (remarkExpr m (copyExpr g CloneAllAndMarkExprValsAsCompilerGenerated expr)) - | CurriedLambdaValue (_, _, _, expr, _) when mustInline || inlineIfLambda -> - let exprCopy = CopyExprForInlining cenv inlineIfLambda expr m - Some exprCopy + | CurriedLambdaValue (_, _, _, expr, _) when shouldInline || inlineIfLambda -> + let fvs = freeInExpr CollectLocals expr + if fvs.UsesMethodLocalConstructs then + // Discarding lambda for binding because uses protected members --- TBD: Should we warn or error here + None + elif fvs.FreeLocals.ToArray() |> Seq.fold(fun acc v -> if not acc then v.Accessibility.IsPrivate else acc) false then + // Discarding lambda for binding because uses private members --- TBD: Should we warn or error here + None + else + let exprCopy = CopyExprForInlining cenv inlineIfLambda expr m + Some exprCopy - | TupleValue _ | UnionCaseValue _ | RecdValue _ when mustInline -> + | TupleValue _ | UnionCaseValue _ | RecdValue _ when shouldInline -> failwith "tuple, union and record values cannot be marked 'inline'" - | UnknownValue when mustInline -> + | UnknownValue when shouldInline -> warning(Error(FSComp.SR.optValueMarkedInlineHasUnexpectedValue(), m)); None - | _ when mustInline -> + | _ when shouldInline -> warning(Error(FSComp.SR.optValueMarkedInlineCouldNotBeInlined(), m)); None | _ -> None @@ -3091,7 +3109,7 @@ and OptimizeVal cenv env expr (v: ValRef, m) = let valInfoForVal = GetInfoForVal cenv env m v - match TryOptimizeVal cenv env (Some v, v.MustInline, v.InlineIfLambda, valInfoForVal.ValExprInfo, m) with + match TryOptimizeVal cenv env (Some v, v.ShouldInline, v.InlineIfLambda, valInfoForVal.ValExprInfo, m) with | Some e -> // don't reoptimize inlined lambdas until they get applied to something match e with @@ -3107,9 +3125,9 @@ and OptimizeVal cenv env expr (v: ValRef, m) = let e, einfo = OptimizeExpr cenv env e e, AddValEqualityInfo g m v einfo - | None -> - if v.MustInline then - error(Error(FSComp.SR.optFailedToInlineValue(v.DisplayName), m)) + | None -> + if v.ShouldInline then + warning(Error(FSComp.SR.optFailedToInlineValue(v.DisplayName), m)) if v.InlineIfLambda then warning(Error(FSComp.SR.optFailedToInlineSuggestedValue(v.DisplayName), m)) expr, (AddValEqualityInfo g m v @@ -3553,73 +3571,74 @@ and OptimizeApplication cenv env (f0, f0ty, tyargs, args, m) = | Choice2Of2 (newf0, remake) -> match TryInlineApplication cenv env finfo (tyargs, args, m) with - | Some (res, info) -> + | Some (res, info) -> // inlined (res |> remake), info - | None -> - let shapes = - match newf0 with - | Expr.Val (vref, _, _) -> - match vref.ValReprInfo with - | Some(ValReprInfo(_, detupArgsL, _)) -> - let nargs = args.Length - let nDetupArgsL = detupArgsL.Length - let nShapes = min nargs nDetupArgsL - let detupArgsShapesL = - List.truncate nShapes detupArgsL - |> List.map (fun detupArgs -> - match detupArgs with - | [] | [_] -> UnknownValue - | _ -> TupleValue(Array.ofList (List.map (fun _ -> UnknownValue) detupArgs))) - List.zip (detupArgsShapesL @ List.replicate (nargs - nShapes) UnknownValue) args - | _ -> args |> List.map (fun arg -> UnknownValue, arg) - | _ -> args |> List.map (fun arg -> UnknownValue, arg) - - let newArgs, arginfos = OptimizeExprsThenReshapeAndConsiderSplits cenv env shapes - // beta reducing - let reducedExpr = MakeApplicationAndBetaReduce g (newf0, f0ty, [tyargs], newArgs, m) - let newExpr = reducedExpr |> remake - - match newf0, reducedExpr with - | (Expr.Lambda _ | Expr.TyLambda _), Expr.Let _ -> - // we beta-reduced, hence reoptimize - OptimizeExpr cenv env newExpr | _ -> - // regular - // Determine if this application is a critical tailcall - let mayBeCriticalTailcall = + let shapes = match newf0 with - | KnownValApp(vref, _typeArgs, otherArgs) -> - - // Check if this is a call to a function of known arity that has been inferred to not be a critical tailcall when used as a direct call - // This includes recursive calls to the function being defined (in which case we get a non-critical, closed-world tailcall). - // Note we also have to check the argument count to ensure this is a direct call (or a partial application). - let doesNotMakeCriticalTailcall = - vref.MakesNoCriticalTailcalls || - (let valInfoForVal = GetInfoForVal cenv env m vref in valInfoForVal.ValMakesNoCriticalTailcalls) || - (match env.functionVal with | None -> false | Some (v, _) -> valEq vref.Deref v) - if doesNotMakeCriticalTailcall then - let numArgs = otherArgs.Length + newArgs.Length - match vref.ValReprInfo with - | Some i -> numArgs > i.NumCurriedArgs - | None -> - match env.functionVal with - | Some (_v, i) -> numArgs > i.NumCurriedArgs - | None -> true // over-application of a known function, which presumably returns a function. This counts as an indirect call - else - true // application of a function that may make a critical tailcall + | Expr.Val (vref, _, _) -> + match vref.ValReprInfo with + | Some(ValReprInfo(_, detupArgsL, _)) -> + let nargs = args.Length + let nDetupArgsL = detupArgsL.Length + let nShapes = min nargs nDetupArgsL + let detupArgsShapesL = + List.truncate nShapes detupArgsL + |> List.map (fun detupArgs -> + match detupArgs with + | [] | [_] -> UnknownValue + | _ -> TupleValue(Array.ofList (List.map (fun _ -> UnknownValue) detupArgs))) + List.zip (detupArgsShapesL @ List.replicate (nargs - nShapes) UnknownValue) args + | _ -> args |> List.map (fun arg -> UnknownValue, arg) + | _ -> args |> List.map (fun arg -> UnknownValue, arg) + + let newArgs, arginfos = OptimizeExprsThenReshapeAndConsiderSplits cenv env shapes + // beta reducing + let reducedExpr = MakeApplicationAndBetaReduce g (newf0, f0ty, [tyargs], newArgs, m) + let newExpr = reducedExpr |> remake + + match newf0, reducedExpr with + | (Expr.Lambda _ | Expr.TyLambda _), Expr.Let _ -> + // we beta-reduced, hence reoptimize + OptimizeExpr cenv env newExpr + | _ -> + // regular + + // Determine if this application is a critical tailcall + let mayBeCriticalTailcall = + match newf0 with + | KnownValApp(vref, _typeArgs, otherArgs) -> + + // Check if this is a call to a function of known arity that has been inferred to not be a critical tailcall when used as a direct call + // This includes recursive calls to the function being defined (in which case we get a non-critical, closed-world tailcall). + // Note we also have to check the argument count to ensure this is a direct call (or a partial application). + let doesNotMakeCriticalTailcall = + vref.MakesNoCriticalTailcalls || + (let valInfoForVal = GetInfoForVal cenv env m vref in valInfoForVal.ValMakesNoCriticalTailcalls) || + (match env.functionVal with | None -> false | Some (v, _) -> valEq vref.Deref v) + if doesNotMakeCriticalTailcall then + let numArgs = otherArgs.Length + newArgs.Length + match vref.ValReprInfo with + | Some i -> numArgs > i.NumCurriedArgs + | None -> + match env.functionVal with + | Some (_v, i) -> numArgs > i.NumCurriedArgs + | None -> true // over-application of a known function, which presumably returns a function. This counts as an indirect call + else + true // application of a function that may make a critical tailcall - | _ -> - // All indirect calls (calls to unknown functions) are assumed to be critical tailcalls - true - - newExpr, { TotalSize=finfo.TotalSize + AddTotalSizes arginfos - FunctionSize=finfo.FunctionSize + AddFunctionSizes arginfos - HasEffect=true - MightMakeCriticalTailcall = mayBeCriticalTailcall - Info=ValueOfExpr newExpr } + | _ -> + // All indirect calls (calls to unknown functions) are assumed to be critical tailcalls + true + + newExpr, { TotalSize=finfo.TotalSize + AddTotalSizes arginfos + FunctionSize=finfo.FunctionSize + AddFunctionSizes arginfos + HasEffect=true + MightMakeCriticalTailcall = mayBeCriticalTailcall + Info=ValueOfExpr newExpr } /// Extract a sequence of pipe-right operations (note the pipe-right operator is left-associative /// so we start with the full thing and descend down taking apps off the end first) @@ -4062,7 +4081,7 @@ and OptimizeBinding cenv isRec env (TBind(vref, expr, spBind)) = let exprOptimized, einfo = let env = if vref.IsCompilerGenerated && Option.isSome env.latestBoundId then env else {env with latestBoundId=Some vref.Id} - let cenv = if vref.InlineInfo.MustInline then { cenv with optimizing=false} else cenv + let cenv = if vref.InlineInfo.ShouldInline then { cenv with optimizing=false} else cenv let arityInfo = InferValReprInfoOfBinding g AllowTypeDirectedDetupling.No vref expr let exprOptimized, einfo = OptimizeLambdas (Some vref) cenv env arityInfo expr vref.Type let size = localVarSize @@ -4081,6 +4100,9 @@ and OptimizeBinding cenv isRec env (TBind(vref, expr, spBind)) = if fvs.UsesMethodLocalConstructs then // Discarding lambda for binding because uses protected members UnknownValue + elif fvs.FreeLocals.ToArray() |> Seq.fold(fun acc v -> if not acc then v.Accessibility.IsPrivate else acc) false then + // Discarding lambda for binding because uses private members + UnknownValue else ivalue @@ -4091,10 +4113,10 @@ and OptimizeBinding cenv isRec env (TBind(vref, expr, spBind)) = | UnknownValue | ConstValue _ | ConstExprValue _ -> ivalue | SizeValue(_, a) -> MakeSizedValueInfo (cut a) - let einfo = if vref.MustInline || vref.InlineIfLambda then einfo else {einfo with Info = cut einfo.Info } + let einfo = if vref.ShouldInline || vref.InlineIfLambda then einfo else {einfo with Info = cut einfo.Info } let einfo = - if (not vref.MustInline && not vref.InlineIfLambda && not cenv.settings.KeepOptimizationValues) || + if (not vref.ShouldInline && not vref.InlineIfLambda && not cenv.settings.KeepOptimizationValues) || // Bug 4916: do not record inline data for initialization trigger expressions // Note: we can't eliminate these value infos at the file boundaries because that would change initialization @@ -4141,8 +4163,8 @@ and OptimizeBinding cenv isRec env (TBind(vref, expr, spBind)) = valRefEq g nvref g.generic_hash_inner_vref)) then {einfo with Info=UnknownValue} else einfo - if vref.MustInline && IsPartialExprVal einfo.Info then - errorR(InternalError("the mustinline value '"+vref.LogicalName+"' was not inferred to have a known value", vref.Range)) + if vref.ShouldInline && IsPartialExprVal einfo.Info then + errorR(InternalError("the inline value '"+vref.LogicalName+"' was not inferred to have a known value", vref.Range)) let env = BindInternalLocalVal cenv vref (mkValInfo einfo vref) env (TBind(vref, exprOptimized, spBind), einfo), env @@ -4341,7 +4363,8 @@ let OptimizeImplFile (settings, ccu, tcGlobals, tcVal, importMap, optEnv, isIncr localInternalVals=Dictionary(10000) emitTailcalls=emitTailcalls casApplied=Dictionary() - stackGuard = StackGuard(OptimizerStackGuardDepth, "OptimizerStackGuardDepth") + stackGuard = StackGuard(OptimizerStackGuardDepth, "OptimizerStackGuardDepth") + realInternalSignature = tcGlobals.realInternalSignature } let env, _, _, _ as results = OptimizeImplFileInternal cenv optEnv isIncrementalFragment fsiMultiAssemblyEmit hidden mimpls diff --git a/src/Compiler/Symbols/Symbols.fs b/src/Compiler/Symbols/Symbols.fs index b5b244a6e5c..19fbfe9306b 100644 --- a/src/Compiler/Symbols/Symbols.fs +++ b/src/Compiler/Symbols/Symbols.fs @@ -32,9 +32,9 @@ type FSharpAccessibility(a:Accessibility, ?isProtected) = let isInternalCompPath x = match x with - | CompPath(ILScopeRef.Local, []) -> true + | CompPath(ILScopeRef.Local, _, []) -> true | _ -> false - + let (|Public|Internal|Private|) (TAccess p) = match p with | [] -> Public @@ -53,7 +53,7 @@ type FSharpAccessibility(a:Accessibility, ?isProtected) = override _.ToString() = let (TAccess paths) = a - let mangledTextOfCompPath (CompPath(scoref, path)) = getNameOfScopeRef scoref + "/" + textOfPath (List.map fst path) + let mangledTextOfCompPath (CompPath(scoref, _, path)) = getNameOfScopeRef scoref + "/" + textOfPath (List.map fst path) String.concat ";" (List.map mangledTextOfCompPath paths) type SymbolEnv(g: TcGlobals, thisCcu: CcuThunk, thisCcuTyp: ModuleOrNamespaceType option, tcImports: TcImports, amap: Import.ImportMap, infoReader: InfoReader) = @@ -122,7 +122,7 @@ module Impl = | ILScopeRef.Assembly aref -> aref.Name | ILScopeRef.Module mref -> mref.Name | ILScopeRef.PrimaryAssembly -> ilg.primaryAssemblyName - let canAccessCompPathFromCrossProject (CompPath(scoref1, cpath1)) (CompPath(scoref2, cpath2)) = + let canAccessCompPathFromCrossProject (CompPath(scoref1, _, cpath1)) (CompPath(scoref2, _, cpath2)) = let rec loop p1 p2 = match p1, p2 with | (a1, k1) :: rest1, (a2, k2) :: rest2 -> (a1=a2) && (k1=k2) && loop rest1 rest2 @@ -141,7 +141,7 @@ module Impl = | ILMemberAccess.CompilerControlled | ILMemberAccess.FamilyAndAssembly | ILMemberAccess.Assembly -> - taccessPrivate (CompPath(declaringEntity.CompilationPath.ILScopeRef, [])) + taccessPrivate (CompPath(declaringEntity.CompilationPath.ILScopeRef, SyntaxAccess.Unknown, [])) | ILMemberAccess.Private -> taccessPrivate declaringEntity.CompilationPath @@ -166,7 +166,7 @@ module Impl = match td.Access with | ILTypeDefAccess.Public | ILTypeDefAccess.Nested ILMemberAccess.Public -> taccessPublic - | ILTypeDefAccess.Private -> taccessPrivate (CompPath(entity.CompilationPath.ILScopeRef, [])) + | ILTypeDefAccess.Private -> taccessPrivate (CompPath(entity.CompilationPath.ILScopeRef, SyntaxAccess.Unknown, [])) | ILTypeDefAccess.Nested nested -> getApproxFSharpAccessibilityOfMember entity nested | FSharpOrArrayOrByrefOrTupleOrExnTypeMetadata -> @@ -409,13 +409,13 @@ type FSharpEntity(cenv: SymbolEnv, entity: EntityRef, tyargs: TType list) = checkIsResolved() match entity.CompilationPathOpt with | None -> "global" - | Some (CompPath(_, [])) -> "global" + | Some (CompPath(_, _, [])) -> "global" | Some cp -> buildAccessPath (Some cp) member x.DeclaringEntity = match entity.CompilationPathOpt with | None -> None - | Some (CompPath(_, [])) -> None + | Some (CompPath(_, _, [])) -> None | Some cp -> match x.Assembly.Contents.FindEntityByPath cp.MangledPath with | Some res -> Some res @@ -431,7 +431,7 @@ type FSharpEntity(cenv: SymbolEnv, entity: EntityRef, tyargs: TType list) = checkIsResolved() match entity.CompilationPathOpt with | None -> None - | Some (CompPath(_, [])) -> None + | Some (CompPath(_, _, [])) -> None | Some cp when cp.AccessPath |> List.forall (function _, ModuleOrNamespaceKind.Namespace _ -> true | _ -> false) -> Some (buildAccessPath (Some cp)) | Some _ -> None @@ -774,7 +774,7 @@ type FSharpEntity(cenv: SymbolEnv, entity: EntityRef, tyargs: TType list) = member _.AllCompilationPaths = checkIsResolved() - let (CompPath(_, parts)) = entity.CompilationPath + let (CompPath(_, _, parts)) = entity.CompilationPath let partsList = [ yield parts match parts with diff --git a/src/Compiler/TypedTree/TcGlobals.fs b/src/Compiler/TypedTree/TcGlobals.fs index 3830dd008e5..0410018d4a9 100644 --- a/src/Compiler/TypedTree/TcGlobals.fs +++ b/src/Compiler/TypedTree/TcGlobals.fs @@ -193,7 +193,8 @@ type TcGlobals( emitDebugInfoInQuotations: bool, noDebugAttributes: bool, pathMap: PathMap, - langVersion: LanguageVersion) = + langVersion: LanguageVersion, + realInternalSignature: bool) = // empty flags let v_knownWithoutNull = 0uy @@ -354,7 +355,7 @@ type TcGlobals( let attrRef = ILTypeRef.Create(ILScopeRef.Local, [], nm) let attrTycon = Construct.NewTycon( - Some (CompPath(ILScopeRef.Local, [])), + Some (CompPath(ILScopeRef.Local, SyntaxAccess.Internal, [])), attrRef.Name, range0, taccessInternal, @@ -1104,6 +1105,8 @@ type TcGlobals( member _.langVersion = langVersion + member _.realInternalSignature = realInternalSignature + member _.unionCaseRefEq x y = primUnionCaseRefEq compilingFSharpCore fslibCcu x y member _.valRefEq x y = primValRefEq compilingFSharpCore fslibCcu x y diff --git a/src/Compiler/TypedTree/TypedTree.fs b/src/Compiler/TypedTree/TypedTree.fs index da8e43bfba5..7c2a454ae36 100644 --- a/src/Compiler/TypedTree/TypedTree.fs +++ b/src/Compiler/TypedTree/TypedTree.fs @@ -48,8 +48,8 @@ type ValInline = /// Indicates the value must never be inlined by the optimizer | Never - /// Returns true if the implementation of a value must always be inlined - member x.MustInline = + /// Returns true if the implementation of a value should be inlined + member x.ShouldInline = match x with | ValInline.Always -> true | ValInline.Optional | ValInline.Never -> false @@ -519,14 +519,21 @@ type PublicPath = assert (pp.Length >= 1) pp[0..pp.Length-2] +/// Represents the specified visibility of the accessibility -- used to ensure IL visibility +[] +type SyntaxAccess = + | Public + | Internal + | Private + | Unknown /// The information ILXGEN needs about the location of an item -type CompilationPath = - | CompPath of ILScopeRef * (string * ModuleOrNamespaceKind) list +type CompilationPath = + | CompPath of ILScopeRef * SyntaxAccess * (string * ModuleOrNamespaceKind) list - member x.ILScopeRef = let (CompPath(scoref, _)) = x in scoref + member x.ILScopeRef = let (CompPath(scoref, _, _)) = x in scoref - member x.AccessPath = let (CompPath(_, p)) = x in p + member x.AccessPath = let (CompPath(_, _, p)) = x in p member x.MangledPath = List.map fst x.AccessPath @@ -534,10 +541,10 @@ type CompilationPath = member x.ParentCompPath = let a, _ = List.frontAndBack x.AccessPath - CompPath(x.ILScopeRef, a) + CompPath(x.ILScopeRef, x.SyntaxAccess, a) member x.NestedCompPath n moduleKind = - CompPath(x.ILScopeRef, x.AccessPath@[(n, moduleKind)]) + CompPath(x.ILScopeRef, x.SyntaxAccess, x.AccessPath@[(n, moduleKind)]) member x.DemangledPath = x.AccessPath |> List.map (fun (nm, k) -> CompilationPath.DemangleEntityName nm k) @@ -548,6 +555,8 @@ type CompilationPath = | FSharpModuleWithSuffix -> String.dropSuffix nm FSharpModuleSuffix | _ -> nm + member x.SyntaxAccess = let (CompPath(_, access, _)) = x in access + [] type EntityOptionalData = { @@ -1271,7 +1280,7 @@ type Entity = | TProvidedNamespaceRepr _ -> failwith "No compiled representation for provided namespace" | _ -> #endif - let ilTypeRefForCompilationPath (CompPath(sref, p)) item = + let ilTypeRefForCompilationPath (CompPath(sref, _, p)) item = let rec top racc p = match p with | [] -> ILTypeRef.Create(sref, [], textOfPath (List.rev (item :: racc))) @@ -2138,19 +2147,78 @@ type ModuleOrNamespaceType(kind: ModuleOrNamespaceKind, vals: QueueList, en type ModuleOrNamespace = Entity /// Represents a type or exception definition in the typed AST -type Tycon = Entity +type Tycon = Entity + +let getNameOfScopeRef sref = + match sref with + | ILScopeRef.Local -> "" + | ILScopeRef.Module mref -> mref.Name + | ILScopeRef.Assembly aref -> aref.Name + | ILScopeRef.PrimaryAssembly -> "" + +let private isInternalCompPath x = + match x with + | CompPath(ILScopeRef.Local, _, []) -> true + | _ -> false + +let private (|Public|Internal|Private|) (TAccess p) = + match p with + | [] -> Public + | _ when List.forall isInternalCompPath p -> Internal + | _ -> Private + +let getSyntaxAccessForCompPath (TAccess a) = match a with | CompPath(_, sa, _) :: _ -> sa | _ -> TypedTree.SyntaxAccess.Unknown + +let updateSyntaxAccessForCompPath access syntaxAccess = + match access with + | CompPath(sc, sa, p) :: rest when sa <> syntaxAccess -> ([CompPath(sc, syntaxAccess, p)]@rest) + | _ -> access /// Represents the constraint on access for a construct [] -type Accessibility = - +type Accessibility = /// Indicates the construct can only be accessed from any code in the given type constructor, module or assembly. [] indicates global scope. | TAccess of compilationPaths: CompilationPath list - + + member public x.IsPublic = match x with Public -> true | _ -> false + + member public x.IsInternal = match x with Internal -> true | _ -> false + + member public x.IsPrivate = match x with Private -> true | _ -> false + [] member x.DebugText = x.ToString() - override x.ToString() = "Accessibility(...)" + member x.AsILMemberAccess () = + match getSyntaxAccessForCompPath x with + | TypedTree.SyntaxAccess.Public -> ILMemberAccess.Public + | TypedTree.SyntaxAccess.Internal -> ILMemberAccess.Assembly + | TypedTree.SyntaxAccess.Private -> ILMemberAccess.Private + | _ -> + if x.IsPublic then ILMemberAccess.Public + elif x.IsInternal then ILMemberAccess.Assembly + else ILMemberAccess.Private + + member x.AsILTypeDefAccess () = + if x.IsPublic then ILTypeDefAccess.Public + else ILTypeDefAccess.Private + + member x.CompilationPaths = match x with | TAccess compilationPaths -> compilationPaths + + override x.ToString() = + match x with + | TAccess (paths) -> + let mangledTextOfCompPath (CompPath(scoref, _, path)) = getNameOfScopeRef scoref + "/" + textOfPath (List.map fst path) + let scopename = + if x.IsPublic then "public" + elif x.IsInternal then "internal" + else "private" + let paths = String.concat ";" (List.map mangledTextOfCompPath paths) + if paths = "" then + scopename + else + $"{scopename} {paths}" + /// Represents less-frequently-required data about a type parameter of type inference variable [] @@ -2906,8 +2974,8 @@ type Val = /// Determines if the values is implied by another construct, e.g. a `IsA` property is implied by the union case for A member x.IsImplied = x.val_flags.IsImplied - /// Indicates whether the inline declaration for the value indicate that the value must be inlined? - member x.MustInline = x.InlineInfo.MustInline + /// Indicates whether the inline declaration for the value indicate that the value should be inlined? + member x.ShouldInline = x.InlineInfo.ShouldInline /// Indicates whether this value was generated by the compiler. /// @@ -4065,7 +4133,7 @@ type ValRef = member x.InlineIfLambda = x.Deref.InlineIfLambda /// Indicates whether the inline declaration for the value indicate that the value must be inlined? - member x.MustInline = x.Deref.MustInline + member x.ShouldInline = x.Deref.ShouldInline /// Indicates whether this value was generated by the compiler. /// @@ -5898,7 +5966,7 @@ type Construct() = | None -> let ilScopeRef = st.TypeProviderAssemblyRef let enclosingName = GetFSharpPathToProvidedType(st, m) - CompPath(ilScopeRef, enclosingName |> List.map(fun id->id, ModuleOrNamespaceKind.Namespace true)) + CompPath(ilScopeRef, SyntaxAccess.Unknown, enclosingName |> List.map(fun id->id, ModuleOrNamespaceKind.Namespace true)) | Some p -> p let pubpath = cpath.NestedPublicPath id @@ -6127,7 +6195,7 @@ type Construct() = /// Create the new contents of an overall assembly static member NewCcuContents sref m nm mty = - Construct.NewModuleOrNamespace (Some(CompPath(sref, []))) taccessPublic (ident(nm, m)) XmlDoc.Empty [] (MaybeLazy.Strict mty) + Construct.NewModuleOrNamespace (Some(CompPath(sref, SyntaxAccess.Unknown, []))) taccessPublic (ident(nm, m)) XmlDoc.Empty [] (MaybeLazy.Strict mty) /// Create a tycon based on an existing one using the function 'f'. /// We require that we be given the new parent for the new tycon. diff --git a/src/Compiler/TypedTree/TypedTree.fsi b/src/Compiler/TypedTree/TypedTree.fsi index 7f0a0ef4ed3..94e410fa133 100644 --- a/src/Compiler/TypedTree/TypedTree.fsi +++ b/src/Compiler/TypedTree/TypedTree.fsi @@ -17,6 +17,8 @@ open FSharp.Compiler.TypeProviders open FSharp.Compiler.Xml open FSharp.Core.CompilerServices +val getNameOfScopeRef: sref: ILScopeRef -> string + type Stamp = int64 type StampMap<'T> = Map @@ -34,7 +36,7 @@ type ValInline = | Never /// Returns true if the implementation of a value must always be inlined - member MustInline: bool + member ShouldInline: bool /// A flag associated with values that indicates whether the recursive scope of the value is currently being processed, type /// if the value has been generalized or not as yet. @@ -320,9 +322,17 @@ type PublicPath = member EnclosingPath: string[] +/// Represents the specified visibility of the accessibility -- used to ensure IL visibility +[] +type SyntaxAccess = + | Public + | Internal + | Private + | Unknown + /// The information ILXGEN needs about the location of an item type CompilationPath = - | CompPath of ILScopeRef * (string * ModuleOrNamespaceKind) list + | CompPath of ILScopeRef * SyntaxAccess * (string * ModuleOrNamespaceKind) list /// String 'Module' off an F# module name, if FSharpModuleWithSuffix is used static member DemangleEntityName: nm: string -> k: ModuleOrNamespaceKind -> string @@ -341,6 +351,8 @@ type CompilationPath = member ParentCompPath: CompilationPath + member SyntaxAccess: SyntaxAccess + [] type EntityOptionalData = { @@ -1424,6 +1436,8 @@ type ModuleOrNamespace = Entity /// Represents a type or exception definition in the typed AST type Tycon = Entity +val updateSyntaxAccessForCompPath: CompilationPath list -> TypedTree.SyntaxAccess -> CompilationPath list + /// Represents the constraint on access for a construct [] type Accessibility = @@ -1431,6 +1445,19 @@ type Accessibility = /// Indicates the construct can only be accessed from any code in the given type constructor, module or assembly. [] indicates global scope. | TAccess of compilationPaths: CompilationPath list + member AsILMemberAccess: unit -> ILMemberAccess + + member AsILTypeDefAccess: unit -> ILTypeDefAccess + + member CompilationPaths: CompilationPath list + + member IsPublic: bool + + member IsInternal: bool + + member IsPrivate: bool + + /// Readable rendering of Accessibility override ToString: unit -> string [] @@ -2155,8 +2182,8 @@ type Val = /// a true body. These cases are often causes of bugs in the compiler. member MemberInfo: ValMemberInfo option - /// Indicates whether the inline declaration for the value indicate that the value must be inlined? - member MustInline: bool + /// Indicates whether the inline declaration for the value indicate that the value should be inlined? + member ShouldInline: bool /// Get the number of 'this'/'self' object arguments for the member. Instance extension members return '1'. member NumObjArgs: int @@ -2870,8 +2897,8 @@ type ValRef = /// Is this a member, if so some more data about the member. member MemberInfo: ValMemberInfo option - /// Indicates whether the inline declaration for the value indicate that the value must be inlined? - member MustInline: bool + /// Indicates whether the inline declaration for the value indicate that the value should be inlined? + member ShouldInline: bool /// Get the number of 'this'/'self' object arguments for the member. Instance extension members return '1'. member NumObjArgs: int diff --git a/src/Compiler/TypedTree/TypedTreeBasics.fs b/src/Compiler/TypedTree/TypedTreeBasics.fs index c71994685d3..9ad77bd5735 100644 --- a/src/Compiler/TypedTree/TypedTreeBasics.fs +++ b/src/Compiler/TypedTree/TypedTreeBasics.fs @@ -19,13 +19,6 @@ assert (sizeof = 8) assert (sizeof = 4) #endif -let getNameOfScopeRef sref = - match sref with - | ILScopeRef.Local -> "" - | ILScopeRef.Module mref -> mref.Name - | ILScopeRef.Assembly aref -> aref.Name - | ILScopeRef.PrimaryAssembly -> "" - /// Metadata on values (names of arguments etc.) module ValReprInfo = @@ -436,11 +429,11 @@ let primValRefEq compilingFSharpCore fslibCcu (x: ValRef) (y: ValRef) = //--------------------------------------------------------------------------- let fullCompPathOfModuleOrNamespace (m: ModuleOrNamespace) = - let (CompPath(scoref, cpath)) = m.CompilationPath - CompPath(scoref, cpath@[(m.LogicalName, m.ModuleOrNamespaceType.ModuleOrNamespaceKind)]) + let (CompPath(scoref, sa, cpath)) = m.CompilationPath + CompPath(scoref, sa, cpath@[(m.LogicalName, m.ModuleOrNamespaceType.ModuleOrNamespaceKind)]) // Can cpath2 be accessed given a right to access cpath1. That is, is cpath2 a nested type or namespace of cpath1. Note order of arguments. -let inline canAccessCompPathFrom (CompPath(scoref1, cpath1)) (CompPath(scoref2, cpath2)) = +let inline canAccessCompPathFrom (CompPath(scoref1, _, cpath1)) (CompPath(scoref2, _, cpath2)) = let rec loop p1 p2 = match p1, p2 with | (a1, k1) :: rest1, (a2, k2) :: rest2 -> (a1=a2) && (k1=k2) && loop rest1 rest2 @@ -465,12 +458,52 @@ let accessSubstPaths (newPath, oldPath) (TAccess paths) = let subst cpath = if cpath=oldPath then newPath else cpath TAccess (List.map subst paths) -let compPathOfCcu (ccu: CcuThunk) = CompPath(ccu.ILScopeRef, []) +let compPathOfCcu (ccu: CcuThunk) = CompPath(ccu.ILScopeRef, SyntaxAccess.Unknown, []) let taccessPublic = TAccess [] -let taccessPrivate accessPath = TAccess [accessPath] -let compPathInternal = CompPath(ILScopeRef.Local, []) +let compPathInternal = CompPath(ILScopeRef.Local, SyntaxAccess.Internal, []) let taccessInternal = TAccess [compPathInternal] -let combineAccess (TAccess a1) (TAccess a2) = TAccess(a1@a2) +//let taccessPrivate accessPath = TAccess [accessPath] +let taccessPrivate accessPath = let (CompPath(sc,_, paths)) = accessPath in TAccess [CompPath(sc, TypedTree.SyntaxAccess.Private, paths)] + +let combineAccess access1 access2 = + let (TAccess a1) = access1 + let (TAccess a2) = access2 + let combined = + if access1 = taccessPublic then updateSyntaxAccessForCompPath (a1@a2) TypedTree.SyntaxAccess.Public + elif access1 = taccessInternal then updateSyntaxAccessForCompPath (a1@a2) TypedTree.SyntaxAccess.Internal + else (a1@a2) + TAccess combined + +//@@@@@@@@@@@@@@@@@@@ +//let getSyntaxAccessForCompPath = function CompPath(_, syntaxAccess, _) -> syntaxAccess + +//let newcombineAccess access1 access2 = +// let syntaxAccess1 = getSyntaxAccessForCompPath access1 +// let syntaxAccess2 = getSyntaxAccessForCompPath access2 +// if access1 = taccessPublic then + +// elif access1 = taccessInternal then + +// else + +// match syntaxAccess1 with +// | TypedTree.SyntaxAccess.Public -> +// let (TAccess a1) = access1 +// let (TAccess a2) = access2 +// TAccess(a1@a2) +// | TypedTree.SyntaxAccess.Internal -> +// | TypedTree.SyntaxAccess.Private -> +// | TypedTree.SyntaxAccess.Unknown -> + + + //let (TAccess a1) = access1 + //let (TAccess a2) = access2 + + //let syntaxAccess1 = getSyntaxAccessForCompPath a1 + //let syntaxAccess2 = getSyntaxAccessForCompPath a2 + //TAccess(a1@a2) + +//@@@@@@@@@@@@@@@@@@@ exception Duplicate of string * string * range exception NameClash of string * string * string * range * string * string * range diff --git a/src/Compiler/TypedTree/TypedTreeBasics.fsi b/src/Compiler/TypedTree/TypedTreeBasics.fsi index ea1f5979262..c3edc900871 100644 --- a/src/Compiler/TypedTree/TypedTreeBasics.fsi +++ b/src/Compiler/TypedTree/TypedTreeBasics.fsi @@ -12,8 +12,6 @@ open FSharp.Compiler.Syntax open FSharp.Compiler.Text open FSharp.Compiler.TypedTree -val getNameOfScopeRef: sref: ILScopeRef -> string - /// Metadata on values (names of arguments etc. module ValReprInfo = diff --git a/src/Compiler/TypedTree/TypedTreeOps.fs b/src/Compiler/TypedTree/TypedTreeOps.fs index 8ef6ce62182..68b924df6a2 100644 --- a/src/Compiler/TypedTree/TypedTreeOps.fs +++ b/src/Compiler/TypedTree/TypedTreeOps.fs @@ -1198,7 +1198,7 @@ let mkMultiLambdaTy g m vs bodyTy = mkFunTy g (typeOfLambdaArg m vs) bodyTy /// the library arising from env.fs. Part of this means that we have to be able to resolve these /// references. This function artificially forces the existence of a module or namespace at a /// particular point in order to do this. -let ensureCcuHasModuleOrNamespaceAtPath (ccu: CcuThunk) path (CompPath(_, cpath)) xml = +let ensureCcuHasModuleOrNamespaceAtPath (ccu: CcuThunk) path (CompPath(_, sa, cpath)) xml = let scoref = ccu.ILScopeRef let rec loop prior_cpath (path: Ident list) cpath (modul: ModuleOrNamespace) = let mtype = modul.ModuleOrNamespaceType @@ -1207,7 +1207,7 @@ let ensureCcuHasModuleOrNamespaceAtPath (ccu: CcuThunk) path (CompPath(_, cpath) let modName = hpath.idText if not (Map.containsKey modName mtype.AllEntitiesByCompiledAndLogicalMangledNames) then let mty = Construct.NewEmptyModuleOrNamespaceType mkind - let cpath = CompPath(scoref, prior_cpath) + let cpath = CompPath(scoref, sa, prior_cpath) let smodul = Construct.NewModuleOrNamespace (Some cpath) taccessPublic hpath xml [] (MaybeLazy.Strict mty) mtype.AddModuleOrNamespaceByMutation smodul let modul = Map.find modName mtype.AllEntitiesByCompiledAndLogicalMangledNames @@ -4150,7 +4150,7 @@ module DebugPrint = let typeOfValL (v: Val) = valL v - ^^ (if v.MustInline then wordL (tagText "inline ") else emptyL) + ^^ (if v.ShouldInline then wordL (tagText "inline ") else emptyL) ^^ (if v.IsMutable then wordL(tagText "mutable ") else emptyL) ^^ (if layoutTypes then wordL (tagText ":") ^^ typeL v.Type else emptyL) @@ -4940,20 +4940,36 @@ let rec accImplHidingInfoAtAssemblyBoundary mdef acc = let ComputeImplementationHidingInfoAtAssemblyBoundary mty acc = accImplHidingInfoAtAssemblyBoundary mty acc +let DoRemap setF remapF = + let rec remap mrmi x = + + match mrmi with + | [] -> x + | (rpi, mhi) :: rest -> + // Explicitly hidden? + if Zset.contains x (setF mhi) then + x + else + remap rest (remapF rpi x) + fun mrmi x -> remap mrmi x + +let DoRemapTycon mrmi x = DoRemap (fun mhi -> mhi.HiddenTycons) (fun rpi x -> (remapTyconRef rpi.tyconRefRemap (mkLocalTyconRef x)).Deref) mrmi x + +let DoRemapVal mrmi x = DoRemap (fun mhi -> mhi.HiddenVals) (fun rpi x -> (remapValRef rpi (mkLocalValRef x)).Deref) mrmi x + //-------------------------------------------------------------------------- // Compute instances of the above for mexpr -> mty //-------------------------------------------------------------------------- - let IsHidden setF accessF remapF = - let rec check mrmi x = - // Internal/private? - not (canAccessFromEverywhere (accessF x)) || - (match mrmi with - | [] -> false // Ah! we escaped to freedom! - | (rpi, mhi) :: rest -> - // Explicitly hidden? - Zset.contains x (setF mhi) || - // Recurse... + let rec check mrmi x = + // Internal/private? + not (canAccessFromEverywhere (accessF x)) || + (match mrmi with + | [] -> false // Ah! we escaped to freedom! + | (rpi, mhi) :: rest -> + // Explicitly hidden? + Zset.contains x (setF mhi) || + // Recurse... check rest (remapF rpi x)) check @@ -5752,7 +5768,7 @@ and mapImmediateValsAndTycons ft fv (x: ModuleOrNamespaceType) = let vals = x.AllValsAndMembers |> QueueList.map fv let tycons = x.AllEntities |> QueueList.map ft ModuleOrNamespaceType(x.ModuleOrNamespaceKind, vals, tycons) - + and copyVal compgen (v: Val) = match compgen with | OnlyCloneExprVals when v.IsMemberOrModuleBinding -> v @@ -6129,10 +6145,7 @@ and copyAndRemapAndBindModTy ctxt compgen tmenv mty = let tycons = allEntitiesOfModuleOrNamespaceTy mty let vs = allValsOfModuleOrNamespaceTy mty let _, _, tmenvinner = copyAndRemapAndBindTyconsAndVals ctxt compgen tmenv tycons vs - remapModTy compgen tmenvinner mty, tmenvinner - -and remapModTy _compgen tmenv mty = - mapImmediateValsAndTycons (renameTycon tmenv) (renameVal tmenv) mty + (mapImmediateValsAndTycons (renameTycon tmenvinner) (renameVal tmenvinner) mty), tmenvinner and renameTycon tyenv x = let tcref = diff --git a/src/Compiler/TypedTree/TypedTreeOps.fsi b/src/Compiler/TypedTree/TypedTreeOps.fsi index bec1e031185..534eefc7762 100755 --- a/src/Compiler/TypedTree/TypedTreeOps.fsi +++ b/src/Compiler/TypedTree/TypedTreeOps.fsi @@ -1331,6 +1331,12 @@ val MakeExportRemapping: CcuThunk -> ModuleOrNamespace -> Remap /// Make a remapping table for viewing a module or namespace 'from the outside' val ApplyExportRemappingToEntity: TcGlobals -> Remap -> ModuleOrNamespace -> ModuleOrNamespace +/// Get the value including fsi remapping +val DoRemapTycon: (Remap * SignatureHidingInfo) list -> Tycon -> Tycon + +/// Get the value including fsi remapping +val DoRemapVal: (Remap * SignatureHidingInfo) list -> Val -> Val + /// Determine if a type definition is hidden by a signature val IsHiddenTycon: (Remap * SignatureHidingInfo) list -> Tycon -> bool diff --git a/src/Compiler/TypedTree/TypedTreePickle.fs b/src/Compiler/TypedTree/TypedTreePickle.fs index f2fd9887772..fe71dc1429f 100644 --- a/src/Compiler/TypedTree/TypedTreePickle.fs +++ b/src/Compiler/TypedTree/TypedTreePickle.fs @@ -1777,7 +1777,7 @@ let p_istype x st = | ModuleOrType -> p_byte 1 st | Namespace _ -> p_byte 2 st -let p_cpath (CompPath(a, b)) st = +let p_cpath (CompPath(a, _, b)) st = p_tup2 p_ILScopeRef (p_list (p_tup2 p_string p_istype)) (a, b) st let u_ranges st = u_option (u_tup2 u_range u_range) st @@ -1792,7 +1792,7 @@ let u_istype st = let u_cpath st = let a, b = u_tup2 u_ILScopeRef (u_list (u_tup2 u_string u_istype)) st - CompPath(a, b) + CompPath(a, SyntaxAccess.Unknown, b) let rec p_tycon_repr x st = // The leading "p_byte 1" and "p_byte 0" come from the F# 2.0 format, which used an option value at this point. diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index c7dbc64bac7..deec8e2fe7b 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -817,6 +817,11 @@ Název výstupního souboru pdb se nemůže shodovat s výstupním názvem souboru sestavení pomocí --pdb:filename.pdb. + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Vytvoří referenÄní sestavení místo úplného sestavení jako primární výstup. @@ -6207,11 +6212,6 @@ Hodnota {0} má oznaÄení inline, ale není svázaná s prostÅ™edím optimalizace. - - Local value {0} not found during optimization - Lokální hodnota {0} se bÄ›hem optimalizace nenaÅ¡la. - - A value marked as 'inline' has an unexpected value Hodnota s oznaÄením inline má neoÄekávanou hodnotu. diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index d5800420f00..fc8e5f3d5ed 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -817,6 +817,11 @@ Der Name der PDB-Ausgabedatei kann nicht mit dem Ausgabedateinamen für den Build übereinstimmen, verwenden Sie --pdb:filename.pdb + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Erstellen einer Referenzassembly anstelle einer vollständigen Assembly als primäre Ausgabe @@ -6207,11 +6212,6 @@ Der Wert "{0}" war als inline markiert, aber nicht in der Optimierungsumgebung gebunden. - - Local value {0} not found during optimization - Der lokale Wert "{0}" wurde während der Optimierung nicht gefunden. - - A value marked as 'inline' has an unexpected value Ein als "inline" markierter Wert hat einen unerwarteten Wert. diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index dcfce175697..9715d21a4ba 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -817,6 +817,11 @@ El nombre del archivo de salida pdb no puede coincidir con el nombre de archivo de salida de compilación. Use --pdb:filename.pdb + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Generar un ensamblado de referencia, en lugar de un ensamblado completo, como salida principal @@ -6207,11 +6212,6 @@ El valor '{0}' estaba marcado como inline pero no estaba enlazado en el entorno de optimización. - - Local value {0} not found during optimization - No se encontró el valor local {0} durante la optimización. - - A value marked as 'inline' has an unexpected value Un valor marcado como 'inline' tiene un valor inesperado. diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index 590c4fb8e15..f45cb12e075 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -817,6 +817,11 @@ Le nom du fichier de sortie pdb ne peut pas correspondre au nom de fichier de sortie de build utilisé --pdb:filename.pdb. + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Produire un assembly de référence, au lieu d’un assembly complet, en tant que sortie principale @@ -6207,11 +6212,6 @@ La valeur '{0}' a été marquée comme inline mais n'a pas été liée dans l'environnement d'optimisation - - Local value {0} not found during optimization - Valeur locale {0} introuvable durant l'optimisation - - A value marked as 'inline' has an unexpected value Une valeur marquée comme 'inline' a une valeur inattendue diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index 70613984b76..ddb1046a01a 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -817,6 +817,11 @@ Il nome del file di output pdb non può corrispondere all’uso del nome file di output della compilazione --pdb:filename.pdb + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Produce un assembly di riferimento, anziché un assembly completo, come output primario @@ -6207,11 +6212,6 @@ Il valore '{0}' è stato contrassegnato come inline, tuttavia non è stato associato nell'ambiente di ottimizzazione - - Local value {0} not found during optimization - Valore locale {0} non trovato durante l'ottimizzazione - - A value marked as 'inline' has an unexpected value Valore imprevisto contrassegnato come 'inline' diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index 84a9ca6ef70..93fd52da56d 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -817,6 +817,11 @@ PDB 出力ファイルåãŒãƒ“ルド出力ファイルåã¨ä¸€è‡´ã—ã¾ã›ã‚“ - --pdb:filename.pdb を使用ã—ã¦ãã ã•ã„ + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output 完全ãªã‚¢ã‚»ãƒ³ãƒ–リã§ã¯ãªãã€å‚照アセンブリをプライマリ出力ã¨ã—ã¦ç”Ÿæˆã—ã¾ã™ @@ -6207,11 +6212,6 @@ 値 '{0}' 㯠'inline' ã¨ãƒžãƒ¼ã‚¯ã•れã¾ã—ãŸãŒã€æœ€é©åŒ–環境ã§ã¯ãƒã‚¤ãƒ³ãƒ‰ã•れã¾ã›ã‚“ - - Local value {0} not found during optimization - 最é©åŒ–中ã«ãƒ­ãƒ¼ã‚«ãƒ«ã®å€¤ {0} ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—㟠- - A value marked as 'inline' has an unexpected value 'inline' ã¨ãƒžãƒ¼ã‚¯ã•れãŸå€¤ã«äºˆæœŸã—ãªã„値ãŒå«ã¾ã‚Œã¾ã™ diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 38ffac7d32d..a49575e2145 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -817,6 +817,11 @@ pdb 출력 íŒŒì¼ ì´ë¦„ì€ ë¹Œë“œ 출력 íŒŒì¼ ì´ë¦„ 사용 --pdb:filename.pdb와 ì¼ì¹˜í•  수 없습니다. + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output 주 출력으로 ì „ì²´ 어셈블리 대신 참조 어셈블리를 ìƒì„±í•©ë‹ˆë‹¤. @@ -6207,11 +6212,6 @@ ê°’ '{0}'ì´(ê°€) inline으로 표시ë˜ì—ˆì§€ë§Œ 최ì í™” í™˜ê²½ì— ë°”ì¸ë”©ë˜ì§€ 않았습니다. - - Local value {0} not found during optimization - 최ì í™”하는 ë™ì•ˆ 로컬 ê°’ {0}ì„(를) ì°¾ì„ ìˆ˜ 없습니다. - - A value marked as 'inline' has an unexpected value 'inline'으로 í‘œì‹œëœ ê°’ì— ì˜ˆê¸°ì¹˜ ì•Šì€ ê°’ì´ ìžˆìŠµë‹ˆë‹¤. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index ac1d54f63c4..ab40b92a82f 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -817,6 +817,11 @@ Nazwa pliku wyjÅ›ciowego pdb nie może być zgodna z nazwÄ… pliku wyjÅ›ciowego kompilacji, użyj parametru --pdb:filename.pdb + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Utwórz zestaw odwoÅ‚ania zamiast peÅ‚nego zestawu jako podstawowe dane wyjÅ›ciowe @@ -6207,11 +6212,6 @@ Wartość „{0}†zostaÅ‚a oznaczona jako Å›ródwierszowa, ale nie powiÄ…zano jej w Å›rodowisku optymalizacji - - Local value {0} not found during optimization - Nie znaleziono wartoÅ›ci lokalnej {0} podczas optymalizacji - - A value marked as 'inline' has an unexpected value Wartość oznaczona jako „inline†ma nieoczekiwanÄ… wartość diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index 6beb1946267..9554d8396ce 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -817,6 +817,11 @@ O nome do arquivo de saída pdb não pode corresponder ao nome do arquivo de saída do build. Use --pdb:filename.pdb + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Produzir um assembly de referência, em vez de um assembly completo, como a saída primária @@ -6207,11 +6212,6 @@ O valor '{0}' foi marcado como embutido, mas não está associado no ambiente de otimização - - Local value {0} not found during optimization - O valor local {0} não foi encontrado durante a otimização - - A value marked as 'inline' has an unexpected value Um valor marcado como 'embutido' possui um valor inesperado diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index 1b83dc7cc6b..e99e14c72c5 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -817,6 +817,11 @@ Ð˜Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла pdb не может Ñовпадать Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ выходного файла Ñборки. ИÑпользуйте --pdb:filename.pdb + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Создайте базовую Ñборку вмеÑто полной Ñборки в качеÑтве оÑновных выходных данных @@ -6207,11 +6212,6 @@ Значение "{0}" отмечено как "inline", однако не было привÑзано в Ñреде оптимизации - - Local value {0} not found during optimization - Ð’ процеÑÑе оптимизации не найдено локальное значение {0} - - A value marked as 'inline' has an unexpected value ÐедопуÑтимое значение Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ, отмеченного как "inline" diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 43f5069b2eb..df25f76b04d 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -817,6 +817,11 @@ pdb çıkış dosyası adı, derleme çıkış dosya adı kullanımı --pdb:filename.pdb ile eÅŸleÅŸmiyor + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output Birincil çıktı olarak, tam bir derleme yerine, baÅŸvuru bütünleÅŸtirilmiÅŸ kodu üretin @@ -6207,11 +6212,6 @@ '{0}' deÄŸeri satır içi olarak iÅŸaretlenmiÅŸ ancak iyileÅŸtirme ortamında baÄŸlanmamış - - Local value {0} not found during optimization - İyileÅŸtirme sırasında {0} yerel deÄŸeri bulunamadı - - A value marked as 'inline' has an unexpected value 'inline' olarak iÅŸaretlenmiÅŸ deÄŸerde beklenmeyen bir deÄŸer var diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index 91cad01e99e..b24ffa5045f 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -817,6 +817,11 @@ pdb 输出文件åä¸èƒ½ä¸Žç”Ÿæˆè¾“出文件å use --pdb: filename.pdb åŒ¹é… + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output 生æˆå¼•用程åºé›†è€Œä¸æ˜¯å®Œæ•´ç¨‹åºé›†ä½œä¸ºä¸»è¾“出 @@ -6207,11 +6212,6 @@ 值“{0}â€å·²æ ‡è®°ä¸ºâ€œinlineâ€ï¼Œä½†å…¶æœªåœ¨ä¼˜åŒ–环境中绑定 - - Local value {0} not found during optimization - 优化过程中未找到本地值 {0} - - A value marked as 'inline' has an unexpected value 标记为“inlineâ€çš„值具有æ„外的值 diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index f12b3fd0b5e..13c820b5f30 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -817,6 +817,11 @@ pdb 輸出檔案å與使用 --pdb:filename.pdb 的建置輸出檔案åä¸ç›¸ç¬¦ + + Generate assembly with dotnet visibility that matches source visibility + Generate assembly with dotnet visibility that matches source visibility + + Produce a reference assembly, instead of a full assembly, as the primary output 產生åƒè€ƒçµ„件,而éžå®Œæ•´çµ„件作為主è¦è¼¸å‡º @@ -6207,11 +6212,6 @@ 值 '{0}' å·²æ¨™è¨˜ç‚ºå…§åµŒï¼Œä½†æ˜¯æœªåœ¨æœ€ä½³åŒ–ç’°å¢ƒä¸­ç¹«çµ - - Local value {0} not found during optimization - 最佳化期間找ä¸åˆ°å€åŸŸæ•¸å€¼ {0} - - A value marked as 'inline' has an unexpected value 標記為 'inline' çš„å€¼æœ‰æœªé æœŸçš„值 diff --git a/src/FSharp.Core/array.fs b/src/FSharp.Core/array.fs index a2797467b7c..a88f3b2070d 100644 --- a/src/FSharp.Core/array.fs +++ b/src/FSharp.Core/array.fs @@ -2,6 +2,8 @@ namespace Microsoft.FSharp.Collections +#nowarn "1118" // 'Make' marked 'inline', perhaps because a recursive value was marked 'inline' + open System open System.Diagnostics open System.Collections.Generic diff --git a/src/FSharp.Core/fslib-extra-pervasives.fs b/src/FSharp.Core/fslib-extra-pervasives.fs index def5d42c2e5..b62d5b16eb8 100644 --- a/src/FSharp.Core/fslib-extra-pervasives.fs +++ b/src/FSharp.Core/fslib-extra-pervasives.fs @@ -13,6 +13,7 @@ module ExtraTopLevelOperators = open Microsoft.FSharp.Core.Operators open Microsoft.FSharp.Collections open Microsoft.FSharp.Control + open Microsoft.FSharp.Linq open Microsoft.FSharp.Primitives.Basics open Microsoft.FSharp.Core.CompilerServices @@ -334,7 +335,7 @@ module ExtraTopLevelOperators = let (|Lazy|) (input: Lazy<_>) = input.Force() - let query = Microsoft.FSharp.Linq.QueryBuilder() + let query = QueryBuilder() namespace Microsoft.FSharp.Core.CompilerServices diff --git a/src/FSharp.Core/fslib-extra-pervasives.fsi b/src/FSharp.Core/fslib-extra-pervasives.fsi index bd4bf0ee8b5..ffd6f6f6a00 100644 --- a/src/FSharp.Core/fslib-extra-pervasives.fsi +++ b/src/FSharp.Core/fslib-extra-pervasives.fsi @@ -13,6 +13,8 @@ module ExtraTopLevelOperators = open Microsoft.FSharp.Core open Microsoft.FSharp.Control open Microsoft.FSharp.Collections + open Microsoft.FSharp.Control + open Microsoft.FSharp.Linq open Microsoft.FSharp.Quotations /// Print to stdout using the given format. @@ -129,7 +131,7 @@ module ExtraTopLevelOperators = /// /// [] - val async: Microsoft.FSharp.Control.AsyncBuilder + val async: AsyncBuilder /// Converts the argument to 32-bit float. /// @@ -358,7 +360,7 @@ module ExtraTopLevelOperators = /// /// Evaluates to [4; 4; 12; 12]. /// - val query: Microsoft.FSharp.Linq.QueryBuilder + val query: QueryBuilder namespace Microsoft.FSharp.Core.CompilerServices diff --git a/src/FSharp.Core/printf.fs b/src/FSharp.Core/printf.fs index 7afcce1e66b..60095d03422 100644 --- a/src/FSharp.Core/printf.fs +++ b/src/FSharp.Core/printf.fs @@ -2,6 +2,8 @@ namespace Microsoft.FSharp.Core +#nowarn "1118" // 'Make' marked 'inline', perhaps because a recursive value was marked 'inline' + open System open System.IO open System.Text @@ -981,9 +983,9 @@ module internal PrintfImpl = let defaultFormat = getFormatForFloat spec.TypeChar DefaultPrecision FloatAndDecimal.withPadding spec (getFormatForFloat spec.TypeChar) defaultFormat - let private NonPublicStatics = BindingFlags.NonPublic ||| BindingFlags.Static + let private AllStatics = BindingFlags.Public ||| BindingFlags.NonPublic ||| BindingFlags.Static - let mi_GenericToString = typeof.GetMethod("GenericToString", NonPublicStatics) + let mi_GenericToString = typeof.GetMethod("GenericToString", AllStatics) let private getValueConverter (ty: Type) (spec: FormatSpecifier) : ValueConverter = match spec.TypeChar with @@ -1103,7 +1105,7 @@ module internal PrintfImpl = // %a has an existential type which must be converted to obj assert (argTys.Length = 2) let captureMethName = "CaptureLittleA" - let mi = typeof>.GetMethod(captureMethName, NonPublicStatics) + let mi = typeof>.GetMethod(captureMethName, AllStatics) let mi = mi.MakeGenericMethod([| argTys.[1]; retTy |]) let factoryObj = mi.Invoke(null, [| next |]) factoryObj, false, argTys, retTy, None @@ -1115,20 +1117,20 @@ module internal PrintfImpl = match nextNextOpt with | None -> let captureMethName = "CaptureFinal" + string captureCount - let mi = typeof>.GetMethod(captureMethName, NonPublicStatics) + let mi = typeof>.GetMethod(captureMethName, AllStatics) let mi = mi.MakeGenericMethod(combinedArgTys) let factoryObj = mi.Invoke(null, [| allSteps |]) factoryObj, true, combinedArgTys, nextRetTy, None | Some nextNext -> let captureMethName = "Capture" + string captureCount - let mi = typeof>.GetMethod(captureMethName, NonPublicStatics) + let mi = typeof>.GetMethod(captureMethName, AllStatics) let mi = mi.MakeGenericMethod(Array.append combinedArgTys [| nextRetTy |]) let factoryObj = mi.Invoke(null, [| nextNext |]) factoryObj, true, combinedArgTys, nextRetTy, nextNextOpt | captureCount, _ -> let captureMethName = "Capture" + string captureCount - let mi = typeof>.GetMethod(captureMethName, NonPublicStatics) + let mi = typeof>.GetMethod(captureMethName, AllStatics) let mi = mi.MakeGenericMethod(Array.append argTys [| retTy |]) let factoryObj = mi.Invoke(null, [| next |]) factoryObj, true, argTys, retTy, Some next @@ -1277,7 +1279,7 @@ module internal PrintfImpl = // If there is one simple format specifier then we can create an even better factory function | [| StepWithArg (prefix1, conv1); StepString prefix2 |] -> let captureMethName = "OneStepWithArg" - let mi = typeof>.GetMethod(captureMethName, NonPublicStatics) + let mi = typeof>.GetMethod(captureMethName, AllStatics) let mi = mi.MakeGenericMethod(combinedArgTys) let factoryObj = mi.Invoke(null, [| box prefix1; box conv1; box prefix2 |]) factoryObj @@ -1285,7 +1287,7 @@ module internal PrintfImpl = // If there are two simple format specifiers then we can create an even better factory function | [| StepWithArg (prefix1, conv1); StepWithArg (prefix2, conv2); StepString prefix3 |] -> let captureMethName = "TwoStepWithArg" - let mi = typeof>.GetMethod(captureMethName, NonPublicStatics) + let mi = typeof>.GetMethod(captureMethName, AllStatics) let mi = mi.MakeGenericMethod(combinedArgTys) let factoryObj = mi.Invoke(null, [| box prefix1; box conv1; box prefix2; box conv2; box prefix3 |]) factoryObj diff --git a/tests/AheadOfTime/Trimming/check.ps1 b/tests/AheadOfTime/Trimming/check.ps1 index 4b9dcaebf16..0025784d4b8 100644 --- a/tests/AheadOfTime/Trimming/check.ps1 +++ b/tests/AheadOfTime/Trimming/check.ps1 @@ -39,7 +39,7 @@ function CheckTrim($root, $tfm, $outputfile, $expected_len) { # error NETSDK1124: Trimming assemblies requires .NET Core 3.0 or higher. # Check net7.0 trimmed assemblies -CheckTrim -root "SelfContained_Trimming_Test" -tfm "net8.0" -outputfile "FSharp.Core.dll" -expected_len 287232 +CheckTrim -root "SelfContained_Trimming_Test" -tfm "net8.0" -outputfile "FSharp.Core.dll" -expected_len 303104 -# Check net7.0 trimmed assemblies -CheckTrim -root "StaticLinkedFSharpCore_Trimming_Test" -tfm "net8.0" -outputfile "StaticLinkedFSharpCore_Trimming_Test.dll" -expected_len 8821248 +# Check net8.0 trimmed assemblies +CheckTrim -root "StaticLinkedFSharpCore_Trimming_Test" -tfm "net8.0" -outputfile "StaticLinkedFSharpCore_Trimming_Test.dll" -expected_len 8839680 diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl index 2e064aacf82..9f884a75090 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl @@ -59,6 +59,7 @@ Copyright (c) Microsoft Corporation. All Rights Reserved. --tailcalls[+|-] Enable or disable tailcalls --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) +--realInternalSignature[+|-] Generate assembly with dotnet visibility that matches source visibility --pathmap: Maps physical paths to source path names output by the compiler --crossoptimize[+|-] Enable or disable cross-module optimizations --reflectionfree Disable implicit generation of constructs using reflection diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs index cddee9f80ab..72cb90dcbff 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/CustomAttributes/AttributeUsage/AttributeUsage.fs @@ -34,7 +34,7 @@ module CustomAttributes_AttributeUsage = |> verifyCompileAndRun |> shouldSucceed - // SOURCE=AssemblyVersion03.fs # AssemblyVersion03.fs + // SOURCE=AssemblyVersion03.fs # AssemblyVersion03.fs [] let ``AssemblyVersion03_fs`` compilation = compilation diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs index 613001af658..f6be373cf45 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs @@ -34,7 +34,7 @@ if returnvalue2<> true && value2 <> 7 then |> ignore [] - let ``Method with optional and out parameters resolves correctly (verify IL)`` () = + let ``Method with optional and out parameters resolves correctly withRealInternalSignatureOff (verify IL)`` () = FSharp """ module OutOptionalTests open System.Runtime.InteropServices @@ -47,6 +47,7 @@ let (_:bool), (_:int) = Thing.Do(i = 42) let (_:bool), (_:int) = Thing.Do() """ |> ignoreWarnings + |> withRealInternalSignatureOff |> compile |> shouldSucceed |> verifyIL [ @@ -203,6 +204,195 @@ extends [runtime]System.Object } """] + [] + let ``Method with optional and out parameters resolves correctly withRealInternalSignatureOn (verify IL)`` () = + FSharp """ +module OutOptionalTests +open System.Runtime.InteropServices + +type Thing = + static member Do(o: outref, []i: int) = + o <- i + i = 7 +let (_:bool), (_:int) = Thing.Do(i = 42) +let (_:bool), (_:int) = Thing.Do() + """ + |> ignoreWarnings + |> withRealInternalSignatureOn + |> compile + |> shouldSucceed + |> verifyIL [ + """ +.class public abstract auto ansi sealed OutOptionalTests + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Thing + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public static bool Do([out] int32& o, + [opt] int32 i) cil managed + { + .param [2] = int32(0x00000001) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stobj [runtime]System.Int32 + IL_0007: ldarg.1 + IL_0008: ldc.i4.7 + IL_0009: ceq + IL_000b: ret + } + + } + + .field static assembly class [runtime]System.Tuple`2 patternInput@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 outArg@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2 'patternInput@10-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 'outArg@10-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method assembly specialname static class [runtime]System.Tuple`2 get_patternInput@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2 OutOptionalTests::patternInput@9 + IL_0005: ret + } + + .method assembly specialname static int32 get_outArg@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 OutOptionalTests::outArg@9 + IL_0005: ret + } + + .method assembly specialname static void set_outArg@9(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 OutOptionalTests::outArg@9 + IL_0006: ret + } + + .method assembly specialname static class [runtime]System.Tuple`2 'get_patternInput@10-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2 OutOptionalTests::'patternInput@10-1' + IL_0005: ret + } + + .method assembly specialname static int32 'get_outArg@10-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 OutOptionalTests::'outArg@10-1' + IL_0005: ret + } + + .method assembly specialname static void 'set_outArg@10-1'(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 OutOptionalTests::'outArg@10-1' + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$OutOptionalTests::init@ + IL_0006: ldsfld int32 ''.$OutOptionalTests::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (int32& V_0) + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 OutOptionalTests::outArg@9 + IL_0006: ldsflda int32 OutOptionalTests::outArg@9 + IL_000b: stloc.0 + IL_000c: ldloc.0 + IL_000d: ldc.i4.s 42 + IL_000f: stobj [runtime]System.Int32 + IL_0014: ldc.i4.0 + IL_0015: call int32 OutOptionalTests::get_outArg@9() + IL_001a: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001f: stsfld class [runtime]System.Tuple`2 OutOptionalTests::patternInput@9 + IL_0024: ldc.i4.0 + IL_0025: stsfld int32 OutOptionalTests::'outArg@10-1' + IL_002a: ldsflda int32 OutOptionalTests::'outArg@10-1' + IL_002f: stloc.0 + IL_0030: ldloc.0 + IL_0031: ldc.i4.1 + IL_0032: stobj [runtime]System.Int32 + IL_0037: ldc.i4.0 + IL_0038: call int32 OutOptionalTests::'get_outArg@10-1'() + IL_003d: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0042: stsfld class [runtime]System.Tuple`2 OutOptionalTests::'patternInput@10-1' + IL_0047: ret + } + + .property class [runtime]System.Tuple`2 + patternInput@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2 OutOptionalTests::get_patternInput@9() + } + .property int32 outArg@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void OutOptionalTests::set_outArg@9(int32) + .get int32 OutOptionalTests::get_outArg@9() + } + .property class [runtime]System.Tuple`2 + 'patternInput@10-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2 OutOptionalTests::'get_patternInput@10-1'() + } + .property int32 'outArg@10-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void OutOptionalTests::'set_outArg@10-1'(int32) + .get int32 OutOptionalTests::'get_outArg@10-1'() + } +} + +.class private abstract auto ansi sealed ''.$OutOptionalTests + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void OutOptionalTests::staticInitialization@() + IL_0005: ret + } + +} + """] + [] let ``Method with optional and out parameters resolves correctly (examples from original issue: https://github.com/dotnet/fsharp/issues/12515)`` () = Fsx """ diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecords.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecords.fs index 32e090ebdbf..4facec5630e 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecords.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecords.fs @@ -7,7 +7,7 @@ type MyRecord<'T> = } static let sizeOfT = sizeof<'T> - static let cachedVal = + static let cachedVal = printfn "Creating cached val for %s" (typeof<'T>.Name) { X = Unchecked.defaultof<'T> ; Y = 15} static let mutable perTyparInstMutableCounter = 0 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecordsILtest.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecordsILtest.fs index 738bd09f0fd..ef2414db2ed 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecordsILtest.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInGenericRecordsILtest.fs @@ -9,7 +9,7 @@ type MyRecord<'T> = X: 'T } // Init per typar - static let cachedVal = + static let cachedVal = Console.WriteLine(typeof<'T>.Name) typeof<'T>.Name diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs index 257fb1eeab3..090e4319a32 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs @@ -396,7 +396,7 @@ Case2 1""" [] -let ``Static let IL init single file test`` () = +let ``Static let IL init single file test withRealInternalSignatureOff`` () = FSharp """ module Test open System @@ -408,6 +408,7 @@ type X = do Console.WriteLine("module after type") """ |> withLangVersion80 + |> withRealInternalSignatureOff |> compile |> shouldSucceed |> verifyIL [""" @@ -461,7 +462,99 @@ do Console.WriteLine("module after type") }"""] [] -let ``Static let in penultimate file IL test`` () = +let ``Static let IL init single file test withRealInternalSignatureOn`` () = + FSharp """ +module Test +open System + +do Console.WriteLine("module before type") +[] +type X = + static do Console.WriteLine("from type") +do Console.WriteLine("module after type") +""" + |> withLangVersion80 + |> withRealInternalSignatureOn + |> compile + |> shouldSucceed + |> verifyIL [""" +.class public abstract auto ansi sealed Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public X + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.NoEqualityAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.NoComparisonAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Test::init@ + IL_0006: ldsfld int32 ''.$Test::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "from type" + IL_0005: call void [runtime]System.Console::WriteLine(string) + IL_000a: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Test::init@ + IL_0006: ldsfld int32 ''.$Test::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "module before type" + IL_0005: call void [runtime]System.Console::WriteLine(string) + IL_000a: call void Test/X::staticInitialization@() + IL_000f: ldstr "module after type" + IL_0014: call void [runtime]System.Console::WriteLine(string) + IL_0019: ret + } + +} + +.class private abstract auto ansi sealed ''.$Test + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void Test::staticInitialization@() + IL_0005: ret + } + +} +"""] + +[] +let ``Static let in penultimate file IL test withRealInternalSignatureOff`` () = let types = """ namespace MyTypes open System @@ -483,6 +576,7 @@ Console.Write(MyTypes.X.GetX) FSharp types |> withAdditionalSourceFiles [SourceCodeFileKind.Create("program.fs", program)] |> withLangVersion80 + |> withRealInternalSignatureOff |> compile |> shouldSucceed |> verifyIL [""" @@ -578,6 +672,148 @@ Console.Write(MyTypes.X.GetX) }"""] +[] +let ``Static let in penultimate file IL test withRealInternalSignatureOn`` () = + let types = """ +namespace MyTypes +open System + +[] +type X = + static do Console.WriteLine("from type") + static let mutable x_value = 42 + static member GetX = x_value + +""" + + let program = """ +module ProgramMain +open System +Console.Write(MyTypes.X.GetX) +""" + + FSharp types + |> withAdditionalSourceFiles [SourceCodeFileKind.Create("program.fs", program)] + |> withLangVersion80 + |> withRealInternalSignatureOn + |> compile + |> shouldSucceed + |> verifyIL [""" +.class public auto ansi serializable MyTypes.X + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.NoEqualityAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.NoComparisonAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x_value + .field static assembly int32 init@6 + .method public specialname static int32 get_GetX() cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 MyTypes.X::init@6 + IL_0007: ldc.i4.0 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 MyTypes.X::x_value + IL_0016: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Test::init@ + IL_0006: ldsfld int32 ''.$Test::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "from type" + IL_0005: call void [runtime]System.Console::WriteLine(string) + IL_000a: ldc.i4.s 42 + IL_000c: stsfld int32 MyTypes.X::x_value + IL_0011: ldc.i4.0 + IL_0012: volatile. + IL_0014: stsfld int32 MyTypes.X::init@6 + IL_0019: ret + } + + .property int32 GetX() + { + .get int32 MyTypes.X::get_GetX() + } +} + +.class public abstract auto ansi sealed ProgramMain + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ProgramMain::init@ + IL_0006: ldsfld int32 ''.$ProgramMain::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call int32 MyTypes.X::get_GetX() + IL_0005: call void [runtime]System.Console::Write(int32) + IL_000a: ret + } + +} + +.class private abstract auto ansi sealed ''.$ProgramMain + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void ProgramMain::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$Test + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void MyTypes.X::staticInitialization@() + IL_0005: ret + } +"""] + + [] [] let ``Regression 16009 - module rec does not initialize let bindings`` langVersion = diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs index 52bf8601869..9b9beecfdb0 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/InferenceProcedures/RecursiveSafetyAnalysis/RecursiveSafetyAnalysis.fs @@ -49,7 +49,7 @@ module RecursiveSafetyAnalysis = (Error 1114, Line 8, Col 15, Line 8, Col 25, "The value 'E_RecursiveInline.test' was marked inline but was not bound in the optimization environment") (Error 1113, Line 7, Col 16, Line 7, Col 20, "The value 'test' was marked inline but its implementation makes use of an internal or private function which is not sufficiently accessible") (Warning 1116, Line 8, Col 15, Line 8, Col 25, "A value marked as 'inline' has an unexpected value") - (Error 1118, Line 8, Col 15, Line 8, Col 25, "Failed to inline the value 'test' marked 'inline', perhaps because a recursive value was marked 'inline'") + (Warning 1118, Line 8, Col 15, Line 8, Col 25, "Failed to inline the value 'test' marked 'inline', perhaps because a recursive value was marked 'inline'") ] // SOURCE=E_TypeDeclaration01.fs SCFLAGS="--langversion:5.0 --test:ErrorRanges" COMPILE_ONLY=1 # E_TypeDeclaration01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs new file mode 100644 index 00000000000..be4636185da --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs @@ -0,0 +1,45 @@ +namespace EmittedIL + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module AsyncExpressionSteppingRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> asFs + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withRealInternalSignatureOff + |> ignoreWarnings + |> verifyBaseline + |> verifyILBaseline + + [] + let ``AsyncExpressionSteppingTest1_fs`` compilation = + verifyCompilation compilation + + [] + let ``AsyncExpressionSteppingTest2_fs`` compilation = + verifyCompilation compilation + + [] + let ``AsyncExpressionSteppingTest3_fs`` compilation = + verifyCompilation compilation + + [] + let ``AsyncExpressionSteppingTest4_fs`` compilation = + verifyCompilation compilation + + [] + let ``AsyncExpressionSteppingTest5_fs`` compilation = + verifyCompilation compilation + + [] + let ``AsyncExpressionSteppingTest6_fs`` compilation = + verifyCompilation compilation + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionStepping.fs similarity index 94% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionStepping.fs index 9f5b523b944..7fde144dc99 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionStepping.fs @@ -4,7 +4,7 @@ open Xunit open FSharp.Test open FSharp.Test.Compiler -module AsyncExpressionStepping = +module AsyncExpressionSteppingRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -13,6 +13,7 @@ module AsyncExpressionStepping = |> withNoOptimize |> withEmbeddedPdb |> withEmbedAllSource + |> withRealInternalSignatureOn |> ignoreWarnings |> verifyBaseline |> verifyILBaseline @@ -40,5 +41,3 @@ module AsyncExpressionStepping = [] let ``AsyncExpressionSteppingTest6_fs`` compilation = verifyCompilation compilation - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs new file mode 100644 index 00000000000..695815a7168 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs @@ -0,0 +1,11 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Async +module AsyncExpressionSteppingTest1 // Regression test for FSHARP1.0:4058 +module AsyncExpressionSteppingTest1 = + + let f1 () = + async { printfn "hello" + printfn "stuck in the middle" + printfn "goodbye"} + + let _ = f1() |> Async.RunSynchronously + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.debug.bsl new file mode 100644 index 00000000000..8cb9e1adb0e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.debug.bsl @@ -0,0 +1,186 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit f1@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f1@6::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: ldstr "stuck in the middle" + IL_0015: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001f: pop + IL_0020: ldstr "goodbye" + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_002a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_002f: pop + IL_0030: ldarg.0 + IL_0031: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f1@6::builder@ + IL_0036: tail. + IL_0038: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_003d: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f1() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f1@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f1() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.release.bsl new file mode 100644 index 00000000000..8cb9e1adb0e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.release.bsl @@ -0,0 +1,186 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit f1@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f1@6::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: ldstr "stuck in the middle" + IL_0015: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001f: pop + IL_0020: ldstr "goodbye" + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_002a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_002f: pop + IL_0030: ldarg.0 + IL_0031: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f1@6::builder@ + IL_0036: tail. + IL_0038: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_003d: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f1() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f1@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f1() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs new file mode 100644 index 00000000000..68ff28401fe --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs @@ -0,0 +1,11 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Async +module AsyncExpressionSteppingTest2 // Regression test for FSHARP1.0:4058 +module AsyncExpressionSteppingTest2 = + let f2 () = + let x = ref 0 + async { while x.Value < 4 do + x.Value <- x.Value + 1 + printfn "hello" } + + + let _ = f2() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.debug.bsl new file mode 100644 index 00000000000..ba47f8fe54a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.debug.bsl @@ -0,0 +1,284 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@6-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@6-1'::x + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@6-1'::x + IL_0006: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000b: ldc.i4.4 + IL_000c: clt + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@7-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@7-2'::x + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f2@7-2'::builder@ + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@7-2'::x + IL_0006: ldarg.0 + IL_0007: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@7-2'::x + IL_000c: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0011: ldc.i4.1 + IL_0012: add + IL_0013: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0018: nop + IL_0019: ldstr "hello" + IL_001e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0023: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0028: pop + IL_0029: ldarg.0 + IL_002a: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f2@7-2'::builder@ + IL_002f: tail. + IL_0031: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_0036: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f2@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/f2@6::x + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 9 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0006: ldarg.0 + IL_0007: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/f2@6::x + IL_000c: newobj instance void assembly/assembly/'f2@6-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0011: ldarg.0 + IL_0012: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0017: ldarg.0 + IL_0018: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/f2@6::x + IL_001d: ldarg.0 + IL_001e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0023: newobj instance void assembly/assembly/'f2@7-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0028: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::While(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1) + IL_0034: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f2() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void assembly/assembly/f2@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0015: tail. + IL_0017: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.release.bsl new file mode 100644 index 00000000000..ba47f8fe54a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.release.bsl @@ -0,0 +1,284 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@6-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@6-1'::x + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@6-1'::x + IL_0006: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000b: ldc.i4.4 + IL_000c: clt + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@7-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@7-2'::x + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f2@7-2'::builder@ + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@7-2'::x + IL_0006: ldarg.0 + IL_0007: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f2@7-2'::x + IL_000c: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0011: ldc.i4.1 + IL_0012: add + IL_0013: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0018: nop + IL_0019: ldstr "hello" + IL_001e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0023: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0028: pop + IL_0029: ldarg.0 + IL_002a: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f2@7-2'::builder@ + IL_002f: tail. + IL_0031: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_0036: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f2@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/f2@6::x + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 9 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0006: ldarg.0 + IL_0007: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/f2@6::x + IL_000c: newobj instance void assembly/assembly/'f2@6-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0011: ldarg.0 + IL_0012: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0017: ldarg.0 + IL_0018: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/f2@6::x + IL_001d: ldarg.0 + IL_001e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@6::builder@ + IL_0023: newobj instance void assembly/assembly/'f2@7-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0028: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::While(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1) + IL_0034: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f2() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void assembly/assembly/f2@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0015: tail. + IL_0017: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs new file mode 100644 index 00000000000..8cd8bf03acb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs @@ -0,0 +1,12 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Async +module AsyncExpressionSteppingTest3 // Regression test for FSHARP1.0:4058 +module AsyncExpressionSteppingTest3 = + let f3 () = + async { let x = ref 0 + x.Value <- x.Value + 1 + let y = ref 0 + y.Value <- y.Value + 1 + let z = x.Value + x.Value + return z } + + let _ = f3() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.debug.bsl new file mode 100644 index 00000000000..030770c0d33 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.debug.bsl @@ -0,0 +1,249 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@10-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 res + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 res) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f3@10-1'::res + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f3@10-1'::res + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f3@5 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@5::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + int32 V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_3, + int32 V_4, + int32 V_5) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldloc.0 + IL_0009: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000e: ldc.i4.1 + IL_000f: add + IL_0010: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0015: nop + IL_0016: ldc.i4.0 + IL_0017: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldloc.1 + IL_001f: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_002b: nop + IL_002c: ldloc.0 + IL_002d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0032: ldloc.0 + IL_0033: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0038: add + IL_0039: stloc.2 + IL_003a: ldarg.0 + IL_003b: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@5::builder@ + IL_0040: stloc.3 + IL_0041: ldloc.2 + IL_0042: stloc.s V_4 + IL_0044: ldloc.s V_4 + IL_0046: stloc.s V_5 + IL_0048: ldloc.s V_5 + IL_004a: newobj instance void assembly/assembly/'f3@10-1'::.ctor(int32) + IL_004f: tail. + IL_0051: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0056: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f3() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f3@5::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f3() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.release.bsl new file mode 100644 index 00000000000..ff8b2cb73ad --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.release.bsl @@ -0,0 +1,246 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@10-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f3@10-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f3@10-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f3@5 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@5::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + int32 V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldloc.0 + IL_0009: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000e: ldc.i4.1 + IL_000f: add + IL_0010: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0015: nop + IL_0016: ldc.i4.0 + IL_0017: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldloc.1 + IL_001f: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_002b: nop + IL_002c: ldloc.0 + IL_002d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0032: ldloc.0 + IL_0033: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0038: add + IL_0039: stloc.2 + IL_003a: ldarg.0 + IL_003b: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@5::builder@ + IL_0040: stloc.3 + IL_0041: ldloc.2 + IL_0042: stloc.s V_4 + IL_0044: ldloc.s V_4 + IL_0046: newobj instance void assembly/assembly/'f3@10-1'::.ctor(int32) + IL_004b: tail. + IL_004d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0052: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f3() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f3@5::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f3() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs new file mode 100644 index 00000000000..42bef7b6e83 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs @@ -0,0 +1,15 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Async +module AsyncExpressionSteppingTest4 // Regression test for FSHARP1.0:4058 +module AsyncExpressionSteppingTest4 = + let f4 () = + async { let x = ref 0 + try + let y = ref 0 + y.Value <- y.Value + let z = x.Value + y.Value + return z + finally + x.Value <- x.Value + printfn "done" } + + let _ = f4() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.debug.bsl new file mode 100644 index 00000000000..4e38d7b48c4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.debug.bsl @@ -0,0 +1,395 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@10-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 res + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 res) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f4@10-2'::res + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f4@10-2'::res + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@7-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f4@7-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@7-1'::x + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_2, + int32 V_3, + int32 V_4) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000f: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0014: nop + IL_0015: ldarg.0 + IL_0016: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@7-1'::x + IL_001b: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0020: ldloc.0 + IL_0021: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0026: add + IL_0027: stloc.1 + IL_0028: ldarg.0 + IL_0029: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f4@7-1'::builder@ + IL_002e: stloc.2 + IL_002f: ldloc.1 + IL_0030: stloc.3 + IL_0031: ldloc.3 + IL_0032: stloc.s V_4 + IL_0034: ldloc.s V_4 + IL_0036: newobj instance void assembly/assembly/'f4@10-2'::.ctor(int32) + IL_003b: tail. + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0042: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@12-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@12-3'::x + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@12-3'::x + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@12-3'::x + IL_000d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0012: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0017: nop + IL_0018: ldstr "done" + IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0022: tail. + IL_0024: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0029: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@6-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 finallyFunction + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 finallyFunction, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/assembly/'f4@6-4'::finallyFunction + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f4@6-4'::computation + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f4@6-4'::computation + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/assembly/'f4@6-4'::finallyFunction + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::TryFinally(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f4@5 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_5) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_000d: stloc.1 + IL_000e: ldarg.0 + IL_000f: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_0014: ldarg.0 + IL_0015: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_001a: ldloc.0 + IL_001b: newobj instance void assembly/assembly/'f4@7-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0020: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0025: stloc.2 + IL_0026: ldloc.0 + IL_0027: newobj instance void assembly/assembly/'f4@12-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_002c: stloc.3 + IL_002d: ldloc.3 + IL_002e: stloc.s V_4 + IL_0030: ldloc.2 + IL_0031: stloc.s V_5 + IL_0033: ldloc.s V_4 + IL_0035: ldloc.s V_5 + IL_0037: newobj instance void assembly/assembly/'f4@6-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1) + IL_003c: tail. + IL_003e: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0043: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f4() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f4@5::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f4() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.release.bsl new file mode 100644 index 00000000000..03a3f844910 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.release.bsl @@ -0,0 +1,386 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@10-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f4@10-2'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f4@10-2'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@7-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f4@7-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@7-1'::x + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_2, + int32 V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000f: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0014: nop + IL_0015: ldarg.0 + IL_0016: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@7-1'::x + IL_001b: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0020: ldloc.0 + IL_0021: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0026: add + IL_0027: stloc.1 + IL_0028: ldarg.0 + IL_0029: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f4@7-1'::builder@ + IL_002e: stloc.2 + IL_002f: ldloc.1 + IL_0030: stloc.3 + IL_0031: ldloc.3 + IL_0032: newobj instance void assembly/assembly/'f4@10-2'::.ctor(int32) + IL_0037: tail. + IL_0039: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_003e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@12-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@12-3'::x + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@12-3'::x + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f4@12-3'::x + IL_000d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0012: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0017: nop + IL_0018: ldstr "done" + IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0022: tail. + IL_0024: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0029: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f4@6-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 compensation + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 compensation) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f4@6-4'::computation + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/assembly/'f4@6-4'::compensation + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f4@6-4'::computation + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/assembly/'f4@6-4'::compensation + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::TryFinally(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f4@5 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_3) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_000d: stloc.1 + IL_000e: ldarg.0 + IL_000f: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_0014: ldarg.0 + IL_0015: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f4@5::builder@ + IL_001a: ldloc.0 + IL_001b: newobj instance void assembly/assembly/'f4@7-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0020: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0025: stloc.2 + IL_0026: ldloc.0 + IL_0027: newobj instance void assembly/assembly/'f4@12-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_002c: stloc.3 + IL_002d: ldloc.2 + IL_002e: ldloc.3 + IL_002f: newobj instance void assembly/assembly/'f4@6-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0034: tail. + IL_0036: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_003b: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f4() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f4@5::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f4() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs new file mode 100644 index 00000000000..3dc21b1403b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs @@ -0,0 +1,13 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Async +module AsyncExpressionSteppingTest5 // Regression test for FSHARP1.0:4058 +module AsyncExpressionSteppingTest5 = + let es = [3;4;5] + let f7 () = + async { for x in es do + printfn "hello" + printfn "hello 2" + for x in es do + printfn "goodbye" + printfn "goodbye 2" } + + let _ = f7() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.debug.bsl new file mode 100644 index 00000000000..15b97638127 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.debug.bsl @@ -0,0 +1,447 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@6-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@6-1'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldstr "hello" + IL_0007: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0011: pop + IL_0012: ldstr "hello 2" + IL_0017: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0021: pop + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@6-1'::builder@ + IL_0028: tail. + IL_002a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_002f: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@9-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg2) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldstr "goodbye" + IL_0007: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0011: pop + IL_0012: ldstr "goodbye 2" + IL_0017: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0021: pop + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-3'::builder@ + IL_0028: tail. + IL_002a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_002f: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@9-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-2'::builder@ + IL_0006: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::get_es() + IL_000b: ldarg.0 + IL_000c: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-2'::builder@ + IL_0011: newobj instance void assembly/assembly/'f7@9-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0016: tail. + IL_0018: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [runtime]System.Collections.Generic.IEnumerable`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001d: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@6-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-4'::part2 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-4'::part2 + IL_0006: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@6-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-5'::part1 + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f7@6-5'::part2 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-5'::part1 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f7@6-5'::part2 + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f7@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_5, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_6) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::get_es() + IL_0012: ldarg.0 + IL_0013: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_0018: newobj instance void assembly/assembly/'f7@6-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_001d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [runtime]System.Collections.Generic.IEnumerable`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0022: stloc.1 + IL_0023: ldarg.0 + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_0029: ldarg.0 + IL_002a: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_002f: newobj instance void assembly/assembly/'f7@9-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0034: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0039: stloc.2 + IL_003a: ldloc.1 + IL_003b: stloc.3 + IL_003c: ldloc.2 + IL_003d: stloc.s V_4 + IL_003f: ldloc.3 + IL_0040: stloc.s V_5 + IL_0042: ldloc.s V_4 + IL_0044: newobj instance void assembly/assembly/'f7@6-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1) + IL_0049: stloc.s V_6 + IL_004b: ldloc.s V_5 + IL_004d: ldloc.s V_6 + IL_004f: newobj instance void assembly/assembly/'f7@6-5'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0054: tail. + IL_0056: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_005b: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_es() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::es@4 + IL_0005: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f7() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f7@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: ldc.i4.3 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.5 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::es@4 + IL_001c: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f7() + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: stloc.1 + IL_0024: ldloc.1 + IL_0025: ldnull + IL_0026: ldnull + IL_0027: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_002c: pop + IL_002d: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + es() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::get_es() + } + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.release.bsl new file mode 100644 index 00000000000..c18fb037a12 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.release.bsl @@ -0,0 +1,438 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@6-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@6-1'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldstr "hello" + IL_0007: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0011: pop + IL_0012: ldstr "hello 2" + IL_0017: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0021: pop + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@6-1'::builder@ + IL_0028: tail. + IL_002a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_002f: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@9-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg2) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldstr "goodbye" + IL_0007: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0011: pop + IL_0012: ldstr "goodbye 2" + IL_0017: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0021: pop + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-3'::builder@ + IL_0028: tail. + IL_002a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Zero() + IL_002f: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@9-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-2'::builder@ + IL_0006: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::get_es() + IL_000b: ldarg.0 + IL_000c: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f7@9-2'::builder@ + IL_0011: newobj instance void assembly/assembly/'f7@9-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0016: tail. + IL_0018: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [runtime]System.Collections.Generic.IEnumerable`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001d: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@6-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-4'::computation2 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-4'::computation2 + IL_0006: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f7@6-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-5'::computation1 + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f7@6-5'::part2 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f7@6-5'::computation1 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f7@6-5'::part2 + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f7@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_3) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::get_es() + IL_0012: ldarg.0 + IL_0013: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_0018: newobj instance void assembly/assembly/'f7@6-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_001d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::For(class [runtime]System.Collections.Generic.IEnumerable`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0022: stloc.1 + IL_0023: ldarg.0 + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_0029: ldarg.0 + IL_002a: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f7@6::builder@ + IL_002f: newobj instance void assembly/assembly/'f7@9-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0034: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0039: stloc.2 + IL_003a: ldloc.2 + IL_003b: newobj instance void assembly/assembly/'f7@6-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1) + IL_0040: stloc.3 + IL_0041: ldloc.1 + IL_0042: ldloc.3 + IL_0043: newobj instance void assembly/assembly/'f7@6-5'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0048: tail. + IL_004a: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_004f: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_es() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::es@4 + IL_0005: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f7() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f7@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: ldc.i4.3 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.5 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::es@4 + IL_001c: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f7() + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: stloc.1 + IL_0024: ldloc.1 + IL_0025: ldnull + IL_0026: ldnull + IL_0027: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_002c: pop + IL_002d: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + es() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly/assembly::get_es() + } + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs new file mode 100644 index 00000000000..5cb8d015466 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs @@ -0,0 +1,22 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Async +module AsyncExpressionSteppingTest6 // Regression test for FSHARP1.0:4058 +module AsyncExpressionSteppingTest6 = + let f2 () = + async { let x = ref 0 + x.Value <- x.Value + 1 + let y = ref 0 + y.Value <- y.Value + 1 + let z = x.Value + y.Value + return z } + + let f3 () = + async { let! x1 = f2() + let! x2 = f2() + let! x3 = f2() + let y = ref 0 + y.Value <- y.Value + 1 + let! x4 = f2() + let z = x1 + y.Value + x4 + return z } + + let _ = f3() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.debug.bsl new file mode 100644 index 00000000000..c47f644e650 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.debug.bsl @@ -0,0 +1,818 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@10-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 res + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 res) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f2@10-1'::res + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f2@10-1'::res + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f2@5 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@5::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + int32 V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_3, + int32 V_4, + int32 V_5) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldloc.0 + IL_0009: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000e: ldc.i4.1 + IL_000f: add + IL_0010: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0015: nop + IL_0016: ldc.i4.0 + IL_0017: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldloc.1 + IL_001f: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_002b: nop + IL_002c: ldloc.0 + IL_002d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0032: ldloc.1 + IL_0033: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0038: add + IL_0039: stloc.2 + IL_003a: ldarg.0 + IL_003b: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@5::builder@ + IL_0040: stloc.3 + IL_0041: ldloc.2 + IL_0042: stloc.s V_4 + IL_0044: ldloc.s V_4 + IL_0046: stloc.s V_5 + IL_0048: ldloc.s V_5 + IL_004a: newobj instance void assembly/assembly/'f2@10-1'::.ctor(int32) + IL_004f: tail. + IL_0051: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0056: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@20-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 res + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 res) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f3@20-5'::res + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f3@20-5'::res + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@19-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x1 + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + int32 x1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@19-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/assembly/'f3@19-4'::x1 + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f3@19-4'::y + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg4) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld int32 assembly/assembly/'f3@19-4'::x1 + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f3@19-4'::y + IL_000e: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0013: add + IL_0014: ldloc.0 + IL_0015: add + IL_0016: stloc.1 + IL_0017: ldarg.0 + IL_0018: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@19-4'::builder@ + IL_001d: stloc.2 + IL_001e: ldloc.1 + IL_001f: stloc.3 + IL_0020: ldloc.3 + IL_0021: stloc.s V_4 + IL_0023: ldloc.s V_4 + IL_0025: newobj instance void assembly/assembly/'f3@20-5'::.ctor(int32) + IL_002a: tail. + IL_002c: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0031: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@18-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@18-6'::part1 + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@18-6'::part2 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@18-6'::part1 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@18-6'::part2 + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@16-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x1 + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + int32 x1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@16-3'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/assembly/'f3@16-3'::x1 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg3) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_4, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_5, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0008: stloc.1 + IL_0009: ldloc.1 + IL_000a: ldloc.1 + IL_000b: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0017: nop + IL_0018: ldarg.0 + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@16-3'::builder@ + IL_001e: stloc.2 + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_0024: stloc.3 + IL_0025: ldarg.0 + IL_0026: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@16-3'::builder@ + IL_002b: ldarg.0 + IL_002c: ldfld int32 assembly/assembly/'f3@16-3'::x1 + IL_0031: ldloc.1 + IL_0032: newobj instance void assembly/assembly/'f3@19-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + int32, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0037: stloc.s V_4 + IL_0039: ldloc.3 + IL_003a: stloc.s V_5 + IL_003c: ldloc.s V_4 + IL_003e: stloc.s V_6 + IL_0040: ldloc.s V_5 + IL_0042: ldloc.s V_6 + IL_0044: newobj instance void assembly/assembly/'f3@18-6'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0049: tail. + IL_004b: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0050: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-7' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@15-7'::part1 + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@15-7'::part2 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@15-7'::part1 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@15-7'::part2 + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x1 + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + int32 x1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@15-2'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/assembly/'f3@15-2'::x1 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg2) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_3, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_5) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@15-2'::builder@ + IL_0008: stloc.1 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_000e: stloc.2 + IL_000f: ldarg.0 + IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@15-2'::builder@ + IL_0015: ldarg.0 + IL_0016: ldfld int32 assembly/assembly/'f3@15-2'::x1 + IL_001b: newobj instance void assembly/assembly/'f3@16-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + int32) + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: stloc.s V_4 + IL_0024: ldloc.3 + IL_0025: stloc.s V_5 + IL_0027: ldloc.s V_4 + IL_0029: ldloc.s V_5 + IL_002b: newobj instance void assembly/assembly/'f3@15-7'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0030: tail. + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0037: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-8' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@14-8'::part1 + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@14-8'::part2 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@14-8'::part1 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@14-8'::part2 + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@14-1'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_3, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_5) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@14-1'::builder@ + IL_0008: stloc.1 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_000e: stloc.2 + IL_000f: ldarg.0 + IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@14-1'::builder@ + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/assembly/'f3@15-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + int32) + IL_001b: stloc.3 + IL_001c: ldloc.2 + IL_001d: stloc.s V_4 + IL_001f: ldloc.3 + IL_0020: stloc.s V_5 + IL_0022: ldloc.s V_4 + IL_0024: ldloc.s V_5 + IL_0026: newobj instance void assembly/assembly/'f3@14-8'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002b: tail. + IL_002d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0032: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@13-9' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 part1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> part2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@13-9'::part1 + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@13-9'::part2 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@13-9'::part1 + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@13-9'::part2 + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f3@13 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@13::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_4) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@13::builder@ + IL_0006: stloc.0 + IL_0007: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_000c: stloc.1 + IL_000d: ldarg.0 + IL_000e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@13::builder@ + IL_0013: newobj instance void assembly/assembly/'f3@14-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0018: stloc.2 + IL_0019: ldloc.1 + IL_001a: stloc.3 + IL_001b: ldloc.2 + IL_001c: stloc.s V_4 + IL_001e: ldloc.3 + IL_001f: ldloc.s V_4 + IL_0021: newobj instance void assembly/assembly/'f3@13-9'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0026: tail. + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_002d: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f2() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f2@5::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f3() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f3@13::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f3() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.release.bsl new file mode 100644 index 00000000000..ccd7f5f26c9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.release.bsl @@ -0,0 +1,788 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public assembly + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'f2@10-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f2@10-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f2@10-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f2@5 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@5::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + int32 V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldloc.0 + IL_0009: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_000e: ldc.i4.1 + IL_000f: add + IL_0010: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0015: nop + IL_0016: ldc.i4.0 + IL_0017: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldloc.1 + IL_001f: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_002b: nop + IL_002c: ldloc.0 + IL_002d: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0032: ldloc.1 + IL_0033: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0038: add + IL_0039: stloc.2 + IL_003a: ldarg.0 + IL_003b: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f2@5::builder@ + IL_0040: stloc.3 + IL_0041: ldloc.2 + IL_0042: stloc.s V_4 + IL_0044: ldloc.s V_4 + IL_0046: newobj instance void assembly/assembly/'f2@10-1'::.ctor(int32) + IL_004b: tail. + IL_004d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0052: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@20-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public int32 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/assembly/'f3@20-5'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/assembly/'f3@20-5'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@19-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x1 + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + int32 x1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@19-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/assembly/'f3@19-4'::x1 + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f3@19-4'::y + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg4) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_2, + int32 V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld int32 assembly/assembly/'f3@19-4'::x1 + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 assembly/assembly/'f3@19-4'::y + IL_000e: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0013: add + IL_0014: ldloc.0 + IL_0015: add + IL_0016: stloc.1 + IL_0017: ldarg.0 + IL_0018: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@19-4'::builder@ + IL_001d: stloc.2 + IL_001e: ldloc.1 + IL_001f: stloc.3 + IL_0020: ldloc.3 + IL_0021: newobj instance void assembly/assembly/'f3@20-5'::.ctor(int32) + IL_0026: tail. + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_002d: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@18-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@18-6'::computation + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@18-6'::binder + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@18-6'::computation + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@18-6'::binder + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@16-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x1 + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + int32 x1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@16-3'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/assembly/'f3@16-3'::x1 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg3) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_4) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::Ref(!!0) + IL_0008: stloc.1 + IL_0009: ldloc.1 + IL_000a: ldloc.1 + IL_000b: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_Value() + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: callvirt instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_Value(!0) + IL_0017: nop + IL_0018: ldarg.0 + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@16-3'::builder@ + IL_001e: stloc.2 + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_0024: stloc.3 + IL_0025: ldarg.0 + IL_0026: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@16-3'::builder@ + IL_002b: ldarg.0 + IL_002c: ldfld int32 assembly/assembly/'f3@16-3'::x1 + IL_0031: ldloc.1 + IL_0032: newobj instance void assembly/assembly/'f3@19-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + int32, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0037: stloc.s V_4 + IL_0039: ldloc.3 + IL_003a: ldloc.s V_4 + IL_003c: newobj instance void assembly/assembly/'f3@18-6'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0041: tail. + IL_0043: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0048: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-7' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@15-7'::computation + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@15-7'::binder + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@15-7'::computation + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@15-7'::binder + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@15-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 x1 + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@, + int32 x1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@15-2'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/assembly/'f3@15-2'::x1 + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg2) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@15-2'::builder@ + IL_0008: stloc.1 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_000e: stloc.2 + IL_000f: ldarg.0 + IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@15-2'::builder@ + IL_0015: ldarg.0 + IL_0016: ldfld int32 assembly/assembly/'f3@15-2'::x1 + IL_001b: newobj instance void assembly/assembly/'f3@16-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + int32) + IL_0020: stloc.3 + IL_0021: ldloc.2 + IL_0022: ldloc.3 + IL_0023: newobj instance void assembly/assembly/'f3@15-7'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0028: tail. + IL_002a: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_002f: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-8' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@14-8'::computation + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@14-8'::binder + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@14-8'::computation + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@14-8'::binder + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@14-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@14-1'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@14-1'::builder@ + IL_0008: stloc.1 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_000e: stloc.2 + IL_000f: ldarg.0 + IL_0010: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/'f3@14-1'::builder@ + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/assembly/'f3@15-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder, + int32) + IL_001b: stloc.3 + IL_001c: ldloc.2 + IL_001d: ldloc.3 + IL_001e: newobj instance void assembly/assembly/'f3@14-8'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0023: tail. + IL_0025: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_002a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f3@13-9' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 computation, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> binder) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@13-9'::computation + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@13-9'::binder + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1 ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly/'f3@13-9'::computation + IL_0007: ldarg.0 + IL_0008: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> assembly/assembly/'f3@13-9'::binder + IL_000d: tail. + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::Bind(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f3@13 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@13::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_2) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@13::builder@ + IL_0006: stloc.0 + IL_0007: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f2() + IL_000c: stloc.1 + IL_000d: ldarg.0 + IL_000e: ldfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder assembly/assembly/f3@13::builder@ + IL_0013: newobj instance void assembly/assembly/'f3@14-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_0018: stloc.2 + IL_0019: ldloc.1 + IL_001a: ldloc.2 + IL_001b: newobj instance void assembly/assembly/'f3@13-9'::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0020: tail. + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0027: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f2() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f2@5::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 f3() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder V_0) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void assembly/assembly/f3@13::.ctor(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder) + IL_000d: tail. + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 V_1) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 assembly/assembly::f3() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldnull + IL_000a: ldnull + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0010: pop + IL_0011: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/assembly::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs new file mode 100644 index 00000000000..792c92c12b0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs @@ -0,0 +1,31 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module AttributeTargetsRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> asFs + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> withRealInternalSignatureOff + |> verifyBaseline + |> verifyILBaseline + + [] + let ``Default_fs`` compilation = + verifyCompilation compilation + + [] + let ``Field_fs`` compilation = + verifyCompilation compilation + + [] + let ``Property_fs`` compilation = + verifyCompilation compilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/AttributeTargets.fs similarity index 86% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/AttributeTargets.fs index 8b7969e5235..072721b0f1c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/AttributeTargets.fs @@ -1,10 +1,10 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test open FSharp.Test.Compiler -module AttributeTargets = +module AttributeTargetsRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -14,6 +14,7 @@ module AttributeTargets = |> withEmbeddedPdb |> withEmbedAllSource |> ignoreWarnings + |> withRealInternalSignatureOn |> verifyBaseline |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs new file mode 100644 index 00000000000..a7e1ea97195 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs @@ -0,0 +1,12 @@ +// Regression test for DevDiv:339250 ("[Attribute] Duplicate of attributes on module fields (backing field of a property) even when the 'property' qualified is specified") +// In this case, we expect the attribute 'Export' do be on both the Property and the backing field + +module M +open System + +[] +type ExportAttribute() = + inherit Attribute() + +[< Export >] +let T = (printfn "hello"; 1) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.debug.bsl new file mode 100644 index 00000000000..a3ed8269dab --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.debug.bsl @@ -0,0 +1,129 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ExportAttribute + extends [runtime]System.Attribute + { + .custom instance void [runtime]System.AttributeUsageAttribute::.ctor(valuetype [runtime]System.AttributeTargets) = ( 01 00 80 01 00 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .field static assembly int32 T@12 + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_T() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 M::T@12 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldc.i4.1 + IL_0012: stsfld int32 M::T@12 + IL_0017: ret + } + + .property int32 T() + { + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 M::get_T() + } +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void M::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.release.bsl new file mode 100644 index 00000000000..a3ed8269dab --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.release.bsl @@ -0,0 +1,129 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ExportAttribute + extends [runtime]System.Attribute + { + .custom instance void [runtime]System.AttributeUsageAttribute::.ctor(valuetype [runtime]System.AttributeTargets) = ( 01 00 80 01 00 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .field static assembly int32 T@12 + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_T() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 M::T@12 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldc.i4.1 + IL_0012: stsfld int32 M::T@12 + IL_0017: ret + } + + .property int32 T() + { + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 M::get_T() + } +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void M::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs new file mode 100644 index 00000000000..476d55c2e49 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs @@ -0,0 +1,12 @@ +// Regression test for DevDiv:339250 ("[Attribute] Duplicate of attributes on module fields (backing field of a property) even when the 'property' qualified is specified") +// In this case, we expect the attribute 'Export' do be only on the backing field of the Property 'T' + +module M +open System + +[] +type ExportAttribute() = + inherit Attribute() + +[< field: Export >] +let T = (printfn "hello"; 1) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.debug.bsl new file mode 100644 index 00000000000..63be332b043 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.debug.bsl @@ -0,0 +1,128 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ExportAttribute + extends [runtime]System.Attribute + { + .custom instance void [runtime]System.AttributeUsageAttribute::.ctor(valuetype [runtime]System.AttributeTargets) = ( 01 00 80 01 00 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .field static assembly int32 T@12 + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_T() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 M::T@12 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldc.i4.1 + IL_0012: stsfld int32 M::T@12 + IL_0017: ret + } + + .property int32 T() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 M::get_T() + } +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void M::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.release.bsl new file mode 100644 index 00000000000..63be332b043 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.release.bsl @@ -0,0 +1,128 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ExportAttribute + extends [runtime]System.Attribute + { + .custom instance void [runtime]System.AttributeUsageAttribute::.ctor(valuetype [runtime]System.AttributeTargets) = ( 01 00 80 01 00 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .field static assembly int32 T@12 + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_T() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 M::T@12 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldc.i4.1 + IL_0012: stsfld int32 M::T@12 + IL_0017: ret + } + + .property int32 T() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 M::get_T() + } +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void M::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs new file mode 100644 index 00000000000..c372953c12c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs @@ -0,0 +1,13 @@ +// Regression test for DevDiv:339250 ("[Attribute] Duplicate of attributes on module fields (backing field of a property) even when the 'property' qualified is specified") +// In this case, we expect the attribute 'Export' do be only generate Property 'T' and NOT on its backing field + +module M +open System + +[] +type ExportAttribute() = + inherit Attribute() + +[< property: Export >] +let T = (printfn "hello"; 1) + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.debug.bsl new file mode 100644 index 00000000000..f4a6cfcd6df --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.debug.bsl @@ -0,0 +1,128 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ExportAttribute + extends [runtime]System.Attribute + { + .custom instance void [runtime]System.AttributeUsageAttribute::.ctor(valuetype [runtime]System.AttributeTargets) = ( 01 00 80 01 00 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .field static assembly int32 T@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_T() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 M::T@12 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldc.i4.1 + IL_0012: stsfld int32 M::T@12 + IL_0017: ret + } + + .property int32 T() + { + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 M::get_T() + } +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void M::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.release.bsl new file mode 100644 index 00000000000..f4a6cfcd6df --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.release.bsl @@ -0,0 +1,128 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ExportAttribute + extends [runtime]System.Attribute + { + .custom instance void [runtime]System.AttributeUsageAttribute::.ctor(valuetype [runtime]System.AttributeTargets) = ( 01 00 80 01 00 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .field static assembly int32 T@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_T() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 M::T@12 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldc.i4.1 + IL_0012: stsfld int32 M::T@12 + IL_0017: ret + } + + .property int32 T() + { + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 M::get_T() + } +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void M::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs index 133e67e45a7..ccbada39132 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs @@ -369,6 +369,9 @@ type C() = { .param [0] .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" + .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" + .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" + .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" let verifyIsReadOnlyAttribute = """ .class public auto ansi serializable System.Runtime.CompilerServices.IsReadOnlyAttribute diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs new file mode 100644 index 00000000000..5871f7641d7 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs @@ -0,0 +1,47 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module CCtorDUWithMemberRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> withRealInternalSignatureOff + |> verifyBaseline + |> verifyILBaseline + + [] + let ``CCtorDUWithMember01a_fs`` compilation = + compilation + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember01.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember02a_fs`` compilation = + compilation + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember02.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember03a_fs`` compilation = + compilation + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember03.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember04a_fs`` compilation = + compilation + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember04.fs")) + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember.fs similarity index 92% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember.fs index 1e7b359998a..744f4bc6492 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember.fs @@ -1,10 +1,10 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test open FSharp.Test.Compiler -module CCtorDUWithMember = +module CCtorDUWithMemberRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -14,6 +14,7 @@ module CCtorDUWithMember = |> withEmbeddedPdb |> withEmbedAllSource |> ignoreWarnings + |> withRealInternalSignatureOn |> verifyBaseline |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs new file mode 100644 index 00000000000..5e1a5a64006 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs @@ -0,0 +1,8 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Unions +module CCtorDUWithMember01a +type C = + | A + | B + member x.P = 1 + +let e2 = C.A diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.net472.bsl new file mode 100644 index 00000000000..d2af1bde4e8 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.net472.bsl @@ -0,0 +1,618 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed CCtorDUWithMember01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$CCtorDUWithMember01 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit C + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 A = int32(0x00000000) + .field public static literal int32 B = int32(0x00000001) + } + + .field assembly initonly int32 _tag + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field static assembly initonly class assembly/C _unique_A + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field static assembly initonly class assembly/C _unique_B + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: newobj instance void assembly/C::.ctor(int32) + IL_0006: stsfld class assembly/C assembly/C::_unique_A + IL_000b: ldc.i4.1 + IL_000c: newobj instance void assembly/C::.ctor(int32) + IL_0011: stsfld class assembly/C assembly/C::_unique_B + IL_0016: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 16 43 43 74 6F 72 44 55 57 69 + 74 68 4D 65 6D 62 65 72 30 31 61 2B 43 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/C::_tag + IL_000d: ret + } + + .method public static class assembly/C get_A() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/C assembly/C::_unique_A + IL_0005: ret + } + + .method public hidebysig instance bool get_IsA() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 assembly/C::get_Tag() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method public static class assembly/C get_B() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/C assembly/C::_unique_B + IL_0005: ret + } + + .method public hidebysig instance bool get_IsB() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 assembly/C::get_Tag() + IL_0006: ldc.i4.1 + IL_0007: ceq + IL_0009: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/C::_tag + IL_0006: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/C>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0020 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001e + + IL_0006: ldarg.0 + IL_0007: ldfld int32 assembly/C::_tag + IL_000c: stloc.0 + IL_000d: ldarg.1 + IL_000e: ldfld int32 assembly/C::_tag + IL_0013: stloc.1 + IL_0014: ldloc.0 + IL_0015: ldloc.1 + IL_0016: bne.un.s IL_001a + + IL_0018: ldc.i4.0 + IL_0019: ret + + IL_001a: ldloc.0 + IL_001b: ldloc.1 + IL_001c: sub + IL_001d: ret + + IL_001e: ldc.i4.1 + IL_001f: ret + + IL_0020: ldarg.1 + IL_0021: brfalse.s IL_0025 + + IL_0023: ldc.i4.m1 + IL_0024: ret + + IL_0025: ldc.i4.0 + IL_0026: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/C + IL_0007: callvirt instance int32 assembly/C::CompareTo(class assembly/C) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/C V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/C + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_002c + + IL_000a: ldarg.1 + IL_000b: unbox.any assembly/C + IL_0010: brfalse.s IL_002a + + IL_0012: ldarg.0 + IL_0013: ldfld int32 assembly/C::_tag + IL_0018: stloc.1 + IL_0019: ldloc.0 + IL_001a: ldfld int32 assembly/C::_tag + IL_001f: stloc.2 + IL_0020: ldloc.1 + IL_0021: ldloc.2 + IL_0022: bne.un.s IL_0026 + + IL_0024: ldc.i4.0 + IL_0025: ret + + IL_0026: ldloc.1 + IL_0027: ldloc.2 + IL_0028: sub + IL_0029: ret + + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldarg.1 + IL_002d: unbox.any assembly/C + IL_0032: brfalse.s IL_0036 + + IL_0034: ldc.i4.m1 + IL_0035: ret + + IL_0036: ldc.i4.0 + IL_0037: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_000c + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: ldfld int32 assembly/C::_tag + IL_000b: ret + + IL_000c: ldc.i4.0 + IL_000d: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/C V_0, + class assembly/C V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldarg.1 + IL_0004: isinst assembly/C + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0022 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: ldfld int32 assembly/C::_tag + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 assembly/C::_tag + IL_001c: stloc.3 + IL_001d: ldloc.2 + IL_001e: ldloc.3 + IL_001f: ceq + IL_0021: ret + + IL_0022: ldc.i4.0 + IL_0023: ret + + IL_0024: ldarg.1 + IL_0025: ldnull + IL_0026: cgt.un + IL_0028: ldc.i4.0 + IL_0029: ceq + IL_002b: ret + } + + .method public hidebysig specialname instance int32 get_P() cil managed + { + + .maxstack 3 + .locals init (class assembly/C V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ret + } + + .method public hidebysig virtual final instance bool Equals(class assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0019 + + IL_0006: ldarg.0 + IL_0007: ldfld int32 assembly/C::_tag + IL_000c: stloc.0 + IL_000d: ldarg.1 + IL_000e: ldfld int32 assembly/C::_tag + IL_0013: stloc.1 + IL_0014: ldloc.0 + IL_0015: ldloc.1 + IL_0016: ceq + IL_0018: ret + + IL_0019: ldc.i4.0 + IL_001a: ret + + IL_001b: ldarg.1 + IL_001c: ldnull + IL_001d: cgt.un + IL_001f: ldc.i4.0 + IL_0020: ceq + IL_0022: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/C V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/C + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/C::Equals(class assembly/C) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/C::get_Tag() + } + .property class assembly/C + A() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/C assembly/C::get_A() + } + .property instance bool IsA() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/C::get_IsA() + } + .property class assembly/C + B() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/C assembly/C::get_B() + } + .property instance bool IsB() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/C::get_IsB() + } + .property instance int32 P() + { + .get instance int32 assembly/C::get_P() + } + } + + .method public specialname static class assembly/C get_e2() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: call class assembly/C assembly/C::get_A() + IL_0005: ret + } + + .property class assembly/C e2() + { + .get class assembly/C assembly::get_e2() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.netcore.bsl new file mode 100644 index 00000000000..e631a36fccb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.netcore.bsl @@ -0,0 +1,526 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed CCtorDUWithMember01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$CCtorDUWithMember01 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit C + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 A = int32(0x00000000) + .field public static literal int32 B = int32(0x00000001) + } + + .field assembly initonly int32 _tag + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field static assembly initonly class assembly/C _unique_A + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field static assembly initonly class assembly/C _unique_B + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: newobj instance void assembly/C::.ctor(int32) + IL_0006: stsfld class assembly/C assembly/C::_unique_A + IL_000b: ldc.i4.1 + IL_000c: newobj instance void assembly/C::.ctor(int32) + IL_0011: stsfld class assembly/C assembly/C::_unique_B + IL_0016: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 16 43 43 74 6F 72 44 55 57 69 + 74 68 4D 65 6D 62 65 72 30 31 61 2B 43 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/C::_tag + IL_000d: ret + } + + .method public static class assembly/C get_A() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/C assembly/C::_unique_A + IL_0005: ret + } + + .method public hidebysig instance bool get_IsA() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 assembly/C::get_Tag() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method public static class assembly/C get_B() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/C assembly/C::_unique_B + IL_0005: ret + } + + .method public hidebysig instance bool get_IsB() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 assembly/C::get_Tag() + IL_0006: ldc.i4.1 + IL_0007: ceq + IL_0009: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/C::_tag + IL_0006: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/C>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0020 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001e + + IL_0006: ldarg.0 + IL_0007: ldfld int32 assembly/C::_tag + IL_000c: stloc.0 + IL_000d: ldarg.1 + IL_000e: ldfld int32 assembly/C::_tag + IL_0013: stloc.1 + IL_0014: ldloc.0 + IL_0015: ldloc.1 + IL_0016: bne.un.s IL_001a + + IL_0018: ldc.i4.0 + IL_0019: ret + + IL_001a: ldloc.0 + IL_001b: ldloc.1 + IL_001c: sub + IL_001d: ret + + IL_001e: ldc.i4.1 + IL_001f: ret + + IL_0020: ldarg.1 + IL_0021: brfalse.s IL_0025 + + IL_0023: ldc.i4.m1 + IL_0024: ret + + IL_0025: ldc.i4.0 + IL_0026: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/C + IL_0007: callvirt instance int32 assembly/C::CompareTo(class assembly/C) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/C V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/C + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_002c + + IL_000a: ldarg.1 + IL_000b: unbox.any assembly/C + IL_0010: brfalse.s IL_002a + + IL_0012: ldarg.0 + IL_0013: ldfld int32 assembly/C::_tag + IL_0018: stloc.1 + IL_0019: ldloc.0 + IL_001a: ldfld int32 assembly/C::_tag + IL_001f: stloc.2 + IL_0020: ldloc.1 + IL_0021: ldloc.2 + IL_0022: bne.un.s IL_0026 + + IL_0024: ldc.i4.0 + IL_0025: ret + + IL_0026: ldloc.1 + IL_0027: ldloc.2 + IL_0028: sub + IL_0029: ret + + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldarg.1 + IL_002d: unbox.any assembly/C + IL_0032: brfalse.s IL_0036 + + IL_0034: ldc.i4.m1 + IL_0035: ret + + IL_0036: ldc.i4.0 + IL_0037: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_000c + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: ldfld int32 assembly/C::_tag + IL_000b: ret + + IL_000c: ldc.i4.0 + IL_000d: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/C V_0, + class assembly/C V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldarg.1 + IL_0004: isinst assembly/C + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0022 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: ldfld int32 assembly/C::_tag + IL_0015: stloc.2 + IL_0016: ldloc.1 + IL_0017: ldfld int32 assembly/C::_tag + IL_001c: stloc.3 + IL_001d: ldloc.2 + IL_001e: ldloc.3 + IL_001f: ceq + IL_0021: ret + + IL_0022: ldc.i4.0 + IL_0023: ret + + IL_0024: ldarg.1 + IL_0025: ldnull + IL_0026: cgt.un + IL_0028: ldc.i4.0 + IL_0029: ceq + IL_002b: ret + } + + .method public hidebysig specialname instance int32 get_P() cil managed + { + + .maxstack 3 + .locals init (class assembly/C V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ret + } + + .method public hidebysig virtual final instance bool Equals(class assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0019 + + IL_0006: ldarg.0 + IL_0007: ldfld int32 assembly/C::_tag + IL_000c: stloc.0 + IL_000d: ldarg.1 + IL_000e: ldfld int32 assembly/C::_tag + IL_0013: stloc.1 + IL_0014: ldloc.0 + IL_0015: ldloc.1 + IL_0016: ceq + IL_0018: ret + + IL_0019: ldc.i4.0 + IL_001a: ret + + IL_001b: ldarg.1 + IL_001c: ldnull + IL_001d: cgt.un + IL_001f: ldc.i4.0 + IL_0020: ceq + IL_0022: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/C V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/C + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/C::Equals(class assembly/C) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/C::get_Tag() + } + .property class assembly/C + A() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/C assembly/C::get_A() + } + .property instance bool IsA() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/C::get_IsA() + } + .property class assembly/C + B() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/C assembly/C::get_B() + } + .property instance bool IsB() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/C::get_IsB() + } + .property instance int32 P() + { + .get instance int32 assembly/C::get_P() + } + } + + .method public specialname static class assembly/C get_e2() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: call class assembly/C assembly/C::get_A() + IL_0005: ret + } + + .property class assembly/C e2() + { + .get class assembly/C assembly::get_e2() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs new file mode 100644 index 00000000000..71e2df833cc --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs @@ -0,0 +1,9 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Unions +module CCtorDUWithMember02a +printfn "hello1" + +module M = + printfn "hello2" + let mutable x = ("1".Length) + +let y = (printfn "hello3"; M.x) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs.il.bsl new file mode 100644 index 00000000000..7ae7dcfd0e3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs.il.bsl @@ -0,0 +1,189 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed CCtorDUWithMember02 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$CCtorDUWithMember02 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public M + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32 x@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_x() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly/M::x@7 + IL_0005: ret + } + + .method public specialname static void set_x(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 assembly/M::x@7 + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "hello2" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: ldstr "1" + IL_0015: callvirt instance int32 [runtime]System.String::get_Length() + IL_001a: stsfld int32 assembly/M::x@7 + IL_001f: ret + } + + .property int32 x() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly/M::set_x(int32) + .get int32 assembly/M::get_x() + } + } + + .field static assembly int32 y@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_y() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::y@9 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "hello1" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: call void assembly/M::staticInitialization@() + IL_0015: nop + IL_0016: ldstr "hello3" + IL_001b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0020: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0025: pop + IL_0026: call int32 assembly/M::get_x() + IL_002b: stsfld int32 assembly::y@9 + IL_0030: ret + } + + .property int32 y() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_y() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs new file mode 100644 index 00000000000..20517cac94f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Unions +module CCtorDUWithMember03a +let mutable x = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs.il.bsl new file mode 100644 index 00000000000..f3c21b8e7e0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs.il.bsl @@ -0,0 +1,133 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed CCtorDUWithMember03 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$CCtorDUWithMember03 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32 x@3 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_x() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::x@3 + IL_0005: ret + } + + .method public specialname static void set_x(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 assembly::x@3 + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: stsfld int32 assembly::x@3 + IL_0006: ret + } + + .property int32 x() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_x(int32) + .get int32 assembly::get_x() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs new file mode 100644 index 00000000000..41bce046054 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Unions +module Program +printfn "File1.x = %A" CCtorDUWithMember04a.x diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs new file mode 100644 index 00000000000..24dfbc8ca0f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Unions +module CCtorDUWithMember04a +let x = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs.il.bsl new file mode 100644 index 00000000000..46cb4d1f008 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs.il.bsl @@ -0,0 +1,119 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "File1.x = %A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: call int32 assembly::get_x() + IL_0014: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0019: pop + IL_001a: ret + } + +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static int32 get_x() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + .property int32 x() + { + .get int32 assembly::get_x() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs index 27aca6b92b4..c1533a3d723 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs @@ -33,9 +33,16 @@ module CompiledNameAttribute = compilation |> verifyCompilation - [] - let ``CompiledNameAttribute04_fs`` compilation = + [] + let ``CompiledNameAttribute04_RealInternalSignatureOn_fs`` compilation = compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``CompiledNameAttribute04_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff |> verifyCompilation [] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.netcore.release.bsl similarity index 97% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.netcore.release.bsl index 5ad043e0603..e266b844053 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04.fs.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOff.fs.il.netcore.release.bsl @@ -1,388 +1,388 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly extern runtime { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Program - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto ansi serializable nested public C - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public hidebysig abstract virtual - instance int32 A1(int32 A_1, - int32 A_2) cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) - } - - .method public hidebysig abstract virtual - instance int32 A2(int32 A_1) cil managed - { - } - - .method public specialname rtspecialname - instance void .ctor() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: callvirt instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: pop - IL_0008: ret - } - - .method public hidebysig specialname - instance int32 get_P() cil managed - { - - .maxstack 8 - IL_0000: ldc.i4.1 - IL_0001: ret - } - - .method public hidebysig instance int32 - M1(int32 x, - int32 y) cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ldarg.2 - IL_0002: add - IL_0003: ret - } - - .method public hidebysig instance !!a - M2(!!a x) cil managed preservesig - { - - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ret - } - - .property instance int32 P() - { - .get instance int32 Program/C::get_P() - } - } - - .class interface abstract auto ansi serializable nested public IInterface - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public hidebysig abstract virtual - instance int32 SomeMethod(int32 A_1) cil managed preservesig - { - } - - } - - .class sequential ansi serializable sealed nested public S - extends [runtime]System.ValueType - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .pack 0 - .size 1 - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Program/S obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 3 - .locals init (valuetype Program/S& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldc.i4.0 - IL_0004: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Program/S - IL_0007: call instance int32 Program/S::CompareTo(valuetype Program/S) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 3 - .locals init (valuetype Program/S V_0, - valuetype Program/S& V_1) - IL_0000: ldarg.1 - IL_0001: unbox.any Program/S - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldc.i4.0 - IL_000b: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Program/S::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 3 - .locals init (object V_0, - valuetype Program/S V_1, - valuetype Program/S& V_2) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Program/S - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0019 - - IL_000d: ldarg.1 - IL_000e: unbox.any Program/S - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldc.i4.1 - IL_0018: ret - - IL_0019: ldc.i4.0 - IL_001a: ret - } - - .method public hidebysig instance !!a - M1(!!a x) cil managed preservesig - { - - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Program/S obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 3 - .locals init (valuetype Program/S& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldc.i4.1 - IL_0004: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Program/S V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Program/S - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Program/S - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Program/S::Equals(valuetype Program/S) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - } - - .class interface abstract auto ansi serializable nested public ITestInterface - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public hidebysig abstract virtual - instance int32 M(int32 A_1) cil managed - { - } - - } - - .class auto autochar serializable sealed nested assembly beforefieldinit specialname a@49 - extends [runtime]System.Object - implements Program/ITestInterface - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: callvirt instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: pop - IL_0008: ret - } - - .method private hidebysig newslot virtual final - instance int32 Program.ITestInterface.M(int32 x) cil managed - { - .custom instance void [System.Runtime.InteropServices]System.Runtime.InteropServices.PreserveSigAttribute::.ctor() = ( 01 00 00 00 ) - .override Program/ITestInterface::M - - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: ldc.i4.1 - IL_0002: add - IL_0003: ret - } - - } - - .method public static int32 f1(int32 x, - int32 y) cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: add - IL_0003: ret - } - - .method public static !!a f2(!!a x) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ret - } - - .method public specialname static class Program/ITestInterface - get_a() cil managed - { - - .maxstack 8 - IL_0000: ldsfld class Program/ITestInterface ''.$Program::a@49 - IL_0005: ret - } - - .property class Program/ITestInterface a() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class Program/ITestInterface Program::get_a() - } -} - -.class private abstract auto ansi sealed ''.$Program - extends [runtime]System.Object -{ - .field static assembly class Program/ITestInterface a@49 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 4 - .locals init (class Program/ITestInterface V_0) - IL_0000: newobj instance void Program/a@49::.ctor() - IL_0005: dup - IL_0006: stsfld class Program/ITestInterface ''.$Program::a@49 - IL_000b: stloc.0 - IL_000c: ret - } - -} - - - - - - + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 A1(int32 A_1, + int32 A_2) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + } + + .method public hidebysig abstract virtual + instance int32 A2(int32 A_1) cil managed + { + } + + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public hidebysig specialname + instance int32 get_P() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + .method public hidebysig instance int32 + M1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } + + .method public hidebysig instance !!a + M2(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .property instance int32 P() + { + .get instance int32 Program/C::get_P() + } + } + + .class interface abstract auto ansi serializable nested public IInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 SomeMethod(int32 A_1) cil managed preservesig + { + } + + } + + .class sequential ansi serializable sealed nested public S + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .pack 0 + .size 1 + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Program/S + IL_0007: call instance int32 Program/S::CompareTo(valuetype Program/S) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S V_0, + valuetype Program/S& V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Program/S + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldc.i4.0 + IL_000b: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Program/S::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (object V_0, + valuetype Program/S V_1, + valuetype Program/S& V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0019 + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldc.i4.1 + IL_0018: ret + + IL_0019: ldc.i4.0 + IL_001a: ret + } + + .method public hidebysig instance !!a + M1(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.1 + IL_0004: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Program/S V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Program/S::Equals(valuetype Program/S) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .class interface abstract auto ansi serializable nested public ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 M(int32 A_1) cil managed + { + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname a@49 + extends [runtime]System.Object + implements Program/ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private hidebysig newslot virtual final + instance int32 Program.ITestInterface.M(int32 x) cil managed + { + .custom instance void [System.Runtime.InteropServices]System.Runtime.InteropServices.PreserveSigAttribute::.ctor() = ( 01 00 00 00 ) + .override Program/ITestInterface::M + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + } + + .method public static int32 f1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public static !!a f2(!!a x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } + + .method public specialname static class Program/ITestInterface + get_a() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class Program/ITestInterface ''.$Program::a@49 + IL_0005: ret + } + + .property class Program/ITestInterface a() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class Program/ITestInterface Program::get_a() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly class Program/ITestInterface a@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 4 + .locals init (class Program/ITestInterface V_0) + IL_0000: newobj instance void Program/a@49::.ctor() + IL_0005: dup + IL_0006: stsfld class Program/ITestInterface ''.$Program::a@49 + IL_000b: stloc.0 + IL_000c: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..24c007eee73 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs @@ -0,0 +1,51 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Attributes +// Regression test for FSharp1.0:4740 +// Title: Expose currying information in F# compiled form + +// Regression test for FSharp1.0:4661 +// Title: PreserveSigAttribute pseudo-custom attribute on COM interop interfaces does not compile correctly + +// Regression test for FSharp1.0:5684 +// Title: We should align generation of IL code for pseudo-custom attributes like PreserveSigAttribute for all language constructs (currently, it is incorrect for object expressions) +module Program + +open System +open System.Runtime.InteropServices + + +let f1 x y = x + y +let f2 x = x + +[] +type C() = + member this.P = 1 + member this.M1 x y = x + y + [] + member this.M2 x = x + + abstract A1 : int -> int -> int + abstract A2 : int -> int + + +type IInterface = + interface + [] + abstract SomeMethod : int -> int + end + + +type S = + struct + [] + member this.M1 x = x + end + + +type ITestInterface = + interface + abstract M : int -> int + end + +let a = { new ITestInterface with + [] + member this.M x = x + 1 } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..f117b1d6a00 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl @@ -0,0 +1,387 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 A1(int32 A_1, + int32 A_2) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + } + + .method public hidebysig abstract virtual instance int32 A2(int32 A_1) cil managed + { + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_P() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + .method public hidebysig instance int32 + M1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } + + .method public hidebysig instance !!a M2(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .property instance int32 P() + { + .get instance int32 Program/C::get_P() + } + } + + .class interface abstract auto ansi serializable nested public IInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 SomeMethod(int32 A_1) cil managed preservesig + { + } + + } + + .class sequential ansi serializable sealed nested public S + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .pack 0 + .size 1 + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig virtual final instance int32 CompareTo(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Program/S + IL_0007: call instance int32 Program/S::CompareTo(valuetype Program/S) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S V_0, + valuetype Program/S& V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Program/S + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldc.i4.0 + IL_000b: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Program/S::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (object V_0, + valuetype Program/S V_1, + valuetype Program/S& V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0019 + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldc.i4.1 + IL_0018: ret + + IL_0019: ldc.i4.0 + IL_001a: ret + } + + .method public hidebysig instance !!a M1(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.1 + IL_0004: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Program/S V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Program/S::Equals(valuetype Program/S) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .class interface abstract auto ansi serializable nested public ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 M(int32 A_1) cil managed + { + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname a@49 + extends [runtime]System.Object + implements Program/ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private hidebysig newslot virtual final instance int32 Program.ITestInterface.M(int32 x) cil managed + { + .custom instance void [runtime]System.Runtime.InteropServices.PreserveSigAttribute::.ctor() = ( 01 00 00 00 ) + .override Program/ITestInterface::M + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + } + + .field static assembly class Program/ITestInterface a@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public static int32 f1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public static !!a f2(!!a x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } + + .method public specialname static class Program/ITestInterface get_a() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class Program/ITestInterface Program::a@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void Program/a@49::.ctor() + IL_0005: stsfld class Program/ITestInterface Program::a@49 + IL_000a: ret + } + + .property class Program/ITestInterface a() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class Program/ITestInterface Program::get_a() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl new file mode 100644 index 00000000000..f117b1d6a00 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl @@ -0,0 +1,387 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 A1(int32 A_1, + int32 A_2) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + } + + .method public hidebysig abstract virtual instance int32 A2(int32 A_1) cil managed + { + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_P() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + .method public hidebysig instance int32 + M1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } + + .method public hidebysig instance !!a M2(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .property instance int32 P() + { + .get instance int32 Program/C::get_P() + } + } + + .class interface abstract auto ansi serializable nested public IInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 SomeMethod(int32 A_1) cil managed preservesig + { + } + + } + + .class sequential ansi serializable sealed nested public S + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .pack 0 + .size 1 + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig virtual final instance int32 CompareTo(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Program/S + IL_0007: call instance int32 Program/S::CompareTo(valuetype Program/S) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S V_0, + valuetype Program/S& V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Program/S + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldc.i4.0 + IL_000b: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Program/S::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (object V_0, + valuetype Program/S V_1, + valuetype Program/S& V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0019 + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldc.i4.1 + IL_0018: ret + + IL_0019: ldc.i4.0 + IL_001a: ret + } + + .method public hidebysig instance !!a M1(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.1 + IL_0004: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Program/S V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Program/S::Equals(valuetype Program/S) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .class interface abstract auto ansi serializable nested public ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 M(int32 A_1) cil managed + { + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname a@49 + extends [runtime]System.Object + implements Program/ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private hidebysig newslot virtual final instance int32 Program.ITestInterface.M(int32 x) cil managed + { + .custom instance void [runtime]System.Runtime.InteropServices.PreserveSigAttribute::.ctor() = ( 01 00 00 00 ) + .override Program/ITestInterface::M + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + } + + .field static assembly class Program/ITestInterface a@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public static int32 f1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public static !!a f2(!!a x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } + + .method public specialname static class Program/ITestInterface get_a() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class Program/ITestInterface Program::a@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void Program/a@49::.ctor() + IL_0005: stsfld class Program/ITestInterface Program::a@49 + IL_000a: ret + } + + .property class Program/ITestInterface a() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class Program/ITestInterface Program::get_a() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..833f576f2d3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl @@ -0,0 +1,388 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 A1(int32 A_1, + int32 A_2) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + } + + .method public hidebysig abstract virtual instance int32 A2(int32 A_1) cil managed + { + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_P() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + .method public hidebysig instance int32 + M1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } + + .method public hidebysig instance !!a M2(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .property instance int32 P() + { + .get instance int32 Program/C::get_P() + } + } + + .class interface abstract auto ansi serializable nested public IInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 SomeMethod(int32 A_1) cil managed preservesig + { + } + + } + + .class sequential ansi serializable sealed nested public S + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .pack 0 + .size 1 + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig virtual final instance int32 CompareTo(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Program/S + IL_0007: call instance int32 Program/S::CompareTo(valuetype Program/S) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S V_0, + valuetype Program/S& V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Program/S + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldc.i4.0 + IL_000b: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Program/S::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (object V_0, + valuetype Program/S V_1, + valuetype Program/S& V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0019 + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldc.i4.1 + IL_0018: ret + + IL_0019: ldc.i4.0 + IL_001a: ret + } + + .method public hidebysig instance !!a M1(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.1 + IL_0004: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Program/S V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Program/S::Equals(valuetype Program/S) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .class interface abstract auto ansi serializable nested public ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 M(int32 A_1) cil managed + { + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname a@49 + extends [runtime]System.Object + implements Program/ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private hidebysig newslot virtual final instance int32 Program.ITestInterface.M(int32 x) cil managed + { + .custom instance void [System.Runtime.InteropServices]System.Runtime.InteropServices.PreserveSigAttribute::.ctor() = ( 01 00 00 00 ) + .override Program/ITestInterface::M + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + } + + .field static assembly class Program/ITestInterface a@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public static int32 f1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public static !!a f2(!!a x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } + + .method public specialname static class Program/ITestInterface get_a() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class Program/ITestInterface Program::a@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void Program/a@49::.ctor() + IL_0005: stsfld class Program/ITestInterface Program::a@49 + IL_000a: ret + } + + .property class Program/ITestInterface a() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class Program/ITestInterface Program::get_a() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..833f576f2d3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl @@ -0,0 +1,388 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 A1(int32 A_1, + int32 A_2) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + } + + .method public hidebysig abstract virtual instance int32 A2(int32 A_1) cil managed + { + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_P() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + .method public hidebysig instance int32 + M1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: add + IL_0003: ret + } + + .method public hidebysig instance !!a M2(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .property instance int32 P() + { + .get instance int32 Program/C::get_P() + } + } + + .class interface abstract auto ansi serializable nested public IInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 SomeMethod(int32 A_1) cil managed preservesig + { + } + + } + + .class sequential ansi serializable sealed nested public S + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .pack 0 + .size 1 + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig virtual final instance int32 CompareTo(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Program/S + IL_0007: call instance int32 Program/S::CompareTo(valuetype Program/S) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S V_0, + valuetype Program/S& V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Program/S + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldc.i4.0 + IL_000b: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Program/S::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (object V_0, + valuetype Program/S V_1, + valuetype Program/S& V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0019 + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldc.i4.1 + IL_0018: ret + + IL_0019: ldc.i4.0 + IL_001a: ret + } + + .method public hidebysig instance !!a M1(!!a x) cil managed preservesig + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype Program/S obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (valuetype Program/S& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldc.i4.1 + IL_0004: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Program/S V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Program/S + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Program/S + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Program/S::Equals(valuetype Program/S) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .class interface abstract auto ansi serializable nested public ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual instance int32 M(int32 A_1) cil managed + { + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname a@49 + extends [runtime]System.Object + implements Program/ITestInterface + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private hidebysig newslot virtual final instance int32 Program.ITestInterface.M(int32 x) cil managed + { + .custom instance void [System.Runtime.InteropServices]System.Runtime.InteropServices.PreserveSigAttribute::.ctor() = ( 01 00 00 00 ) + .override Program/ITestInterface::M + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + } + + .field static assembly class Program/ITestInterface a@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public static int32 f1(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public static !!a f2(!!a x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } + + .method public specialname static class Program/ITestInterface get_a() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class Program/ITestInterface Program::a@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void Program/a@49::.ctor() + IL_0005: stsfld class Program/ITestInterface Program::a@49 + IL_000a: ret + } + + .property class Program/ITestInterface a() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class Program/ITestInterface Program::get_a() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs index ec17c961cf2..57daed47789 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs @@ -185,8 +185,14 @@ module ``Auto-generated accessors have CompilerGenerated attribute`` = // Regression: https://github.com/dotnet/fsharp/issues/14652 module ``Let bindings in classes shoulnd't have DebuggerNonUserCodeAttribute`` = - [] - let ``let binding doesn't have DebuggerNonUserCodeAttribute`` () = + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + [] // RealSig + [] // Regular + [] + let ``let binding doesn't have DebuggerNonUserCodeAttribute`` (realSig) = FSharp """ module Test @@ -196,6 +202,7 @@ module ``Let bindings in classes shoulnd't have DebuggerNonUserCodeAttribute`` = member this.Age with get() = moo 9000 """ + |> withRealInternalSignature realSig |> compileAssembly |> getType "Test+User" |> getPrivateInstanceMethod "moo" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs index e75263be3e9..460fbc1226e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs @@ -7,9 +7,18 @@ open FSharp.Test.Compiler module ComputationExpressions = + let withRealInternalSignature compilation = + compilation + |> withOptions ["--realInternalSignature-"] + + let withoutRealInternalSignature compilation = + compilation + |> withOptions ["--realInternalSignature-"] + let computationExprLibrary = FsFromPath (Path.Combine(__SOURCE_DIRECTORY__, "ComputationExprLibrary.fs")) |> withName "ComputationExprLibrary" + |> withoutRealInternalSignature let verifyCompilation compilation = compilation @@ -24,36 +33,85 @@ module ComputationExpressions = |> verifyILBaseline [] - let ``ComputationExpr01_fs`` compilation = + let ``ComputationExpr01_realsig=true`` compilation = + compilation + |> withRealInternalSignature + |> verifyCompilation + + [] + let ``ComputationExpr01_realsig=false`` compilation = compilation + |> withoutRealInternalSignature |> verifyCompilation [] - let ``ComputationExpr02_fs`` compilation = + let ``ComputationExpr02_realsig=true`` compilation = + compilation + |> withRealInternalSignature + |> verifyCompilation + + [] + let ``ComputationExpr02_realsig=false`` compilation = + compilation + |> withoutRealInternalSignature + |> verifyCompilation + + [] + let ``ComputationExpr03_realsig=true`` compilation = compilation + |> withRealInternalSignature |> verifyCompilation [] - let ``ComputationExpr03_fs`` compilation = + let ``ComputationExpr03_realsig=false`` compilation = compilation + |> withoutRealInternalSignature |> verifyCompilation [] - let ``ComputationExpr04_fs`` compilation = + let ``ComputationExpr04_realsig=true`` compilation = compilation + |> withRealInternalSignature + |> verifyCompilation + + [] + let ``ComputationExpr04_realsig=false`` compilation = + compilation + |> withoutRealInternalSignature + |> verifyCompilation + + [] + let ``ComputationExpr05_realsig=true`` compilation = + compilation + |> withRealInternalSignature |> verifyCompilation [] - let ``ComputationExpr05_fs`` compilation = + let ``ComputationExpr05_realsig=false`` compilation = compilation + |> withoutRealInternalSignature |> verifyCompilation [] - let ``ComputationExpr06_fs`` compilation = + let ``ComputationExpr06_realsig=true`` compilation = + compilation + |> withRealInternalSignature + |> verifyCompilation + + [] + let ``ComputationExpr06_realsig=false`` compilation = + compilation + |> withoutRealInternalSignature + |> verifyCompilation + + [] + let ``ComputationExpr07_realsig=true`` compilation = compilation + |> withRealInternalSignature |> verifyCompilation [] - let ``ComputationExpr07_fs`` compilation = + let ``ComputationExpr07_realsig=false`` compilation = compilation + |> withoutRealInternalSignature |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/FixedBindings/FixedBindings.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/FixedBindings/FixedBindings.fs index 93ef808ce36..9f1c66decee 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/FixedBindings/FixedBindings.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/FixedBindings/FixedBindings.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.FixedBindings +namespace EmittedIL open System.Reflection open Microsoft.FSharp.NativeInterop @@ -8,7 +8,7 @@ open FSharp.Test open FSharp.Test.Utilities open FSharp.Test.Compiler -module Legacy = +module FixedBindings = [] [] let ``Pin naked string`` langVersion = diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnArray01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnArray01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnArray01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnArray01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnArray01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnList01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnList01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForEachOnString01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForEachOnString01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForLoop.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForLoop.fs new file mode 100644 index 00000000000..d670348ae71 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ForLoop.fs @@ -0,0 +1,133 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ForLoopRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> withRealInternalSignatureOff + |> verifyILBaseline + + // SOURCE=NoAllocationOfTuple01.fs SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoAllocationOfTuple01.dll" # NoAllocationOfTuple01.fs + [] + let ``NoAllocationOfTuple01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ForEachOnArray01.fs SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForEachOnArray01.dll" # ForEachOnArray01.fs + [] + let ``ForEachOnArray01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ForEachOnList01.fs SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForEachOnList01.dll" # ForEachOnList01.fs + [] + let ``ForEachOnList01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ForEachOnString01.fs SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForEachOnString01.dll" # ForEachOnString01.fs + [] + let ``ForEachOnString01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ZeroToArrLength01.fs SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ZeroToArrLength01.dll" # ZeroToArrLength01.fs + [] + let ``ZeroToArrLength01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ZeroToArrLength02.fs SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ZeroToArrLength02.dll" # ZeroToArrLength02.fs + [] + let ``ZeroToArrLength02_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NoIEnumerable01.fsx SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoIEnumerable01.dll" # NoIEnumerable01.fsx + [] + let ``NoIEnumerable01_fsx`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NoIEnumerable02.fsx SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoIEnumerable02.dll" # NoIEnumerable02.fsx + [] + let ``NoIEnumerable02_fsx`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NoIEnumerable03.fsx SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoIEnumerable03.dll" # NoIEnumerable03.fsx + [] + let ``NoIEnumerable03_fsx`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd01.fs SCFLAGS="--optimize+" # NonTrivialBranchingBindingInEnd01.fs --optimize+ + [] + let ``NonTrivialBranchingBindingInEnd01_fs_opt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd01.fs SCFLAGS="--optimize-" # NonTrivialBranchingBindingInEnd01.fs --optimize- + [] + let ``NonTrivialBranchingBindingInEnd01_fs_nonopt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd02.fs SCFLAGS="--optimize+" # NonTrivialBranchingBindingInEnd02.fs --optimize+ + [] + let ``NonTrivialBranchingBindingInEnd02_fs_opt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd02.fs SCFLAGS="--optimize-" # NonTrivialBranchingBindingInEnd02.fs --optimize- + [] + let ``NonTrivialBranchingBindingInEnd02_fs_nonopt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd03.fs SCFLAGS="--optimize+" # NonTrivialBranchingBindingInEnd03.fs --optimize+ + [] + let ``NonTrivialBranchingBindingInEnd03_fs_opt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd03.fs SCFLAGS="--optimize-" # NonTrivialBranchingBindingInEnd03.fs --optimize- + [] + let ``NonTrivialBranchingBindingInEnd03_fs_nonopt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd04.fs SCFLAGS="--optimize+" # NonTrivialBranchingBindingInEnd04.fs --optimize+ + [] + let ``NonTrivialBranchingBindingInEnd04_fs_opt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd04.fs SCFLAGS="--optimize-" # NonTrivialBranchingBindingInEnd04.fs --optimize- + [] + let ``NonTrivialBranchingBindingInEnd04_fs_nonopt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd05.fs SCFLAGS="--optimize+" # NonTrivialBranchingBindingInEnd05.fs --optimize+ + [] + let ``NonTrivialBranchingBindingInEnd05_fs_opt`` compilation = + compilation + |> verifyCompilation + + // SOURCE=NonTrivialBranchingBindingInEnd05.fs SCFLAGS="--optimize-" # NonTrivialBranchingBindingInEnd05.fs --optimize- + [] + let ``NonTrivialBranchingBindingInEnd05_fs_nonopt`` compilation = + compilation + |> verifyCompilation + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoAllocationOfTuple01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoAllocationOfTuple01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoAllocationOfTuple01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoAllocationOfTuple01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoAllocationOfTuple01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable01.fsx.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable01.fsx.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable02.fsx.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable02.fsx.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NoIEnumerable03.fsx.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NoIEnumerable03.fsx.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd03.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd03.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd04.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd04.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd05.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd05.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd05.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd05.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ZeroToArrLength02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOff/ZeroToArrLength02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs new file mode 100644 index 00000000000..ad9a9e104b5 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs @@ -0,0 +1,8 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// Regression test for FSHARP1.0:3982 +// Compiler should turn 'foreach' loops over arrays into 'for' loops +module ForEachOnArray01 +let test3(arr: int[]) = + let mutable z = 0 + for x in arr do + z <- z + x diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs.il.bsl new file mode 100644 index 00000000000..9aa3224bb63 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnArray01.fs.il.bsl @@ -0,0 +1,99 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void test3(int32[] arr) cil managed + { + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1, + int32 V_2) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0016 + + IL_0006: ldarg.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldloc.0 + IL_000f: ldloc.2 + IL_0010: add + IL_0011: stloc.0 + IL_0012: ldloc.1 + IL_0013: ldc.i4.1 + IL_0014: add + IL_0015: stloc.1 + IL_0016: ldloc.1 + IL_0017: ldarg.0 + IL_0018: ldlen + IL_0019: conv.i4 + IL_001a: blt.s IL_0006 + + IL_001c: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs new file mode 100644 index 00000000000..942d99c3234 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs @@ -0,0 +1,51 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// Compiler should turn 'foreach' loops over lists into 'while' loops +module ForEachOnList01 + +// Some variations to make sure optimizer can detect the foreach properly + +let test1(lst: int list) = + let mutable z = 0 + for x in lst do + z <- z + x + +let test2() = + let mutable z = 0 + for x in [1;2;3] do + z <- z + x + +let test3() = + let xs = [1;2;3] + let mutable z = 0 + for x in xs do + z <- z + x + +let test4() = + let mutable z = 0 + let xs = [1;2;3] + for x in xs do + z <- z + x + +let test5() = + let xs = [1;2;3] + for x in xs do + printfn "%A" x + +// more complex enumerable expression +let test6() = + for i in ( + [1;2;3;4] + |> List.map (fun x -> + x + 1) + ) do + printfn "%O" i + +// multiline body +let test7() = + for i in ( + [1;2;3;4] + |> List.map (fun x -> + x + 1) + ) do + let tmp = i + 1 + printfn "%O" tmp \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..9bd0a4ef373 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.debug.bsl @@ -0,0 +1,465 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test6@38 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test6@38 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test6@38::.ctor() + IL_0005: stsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test7@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test7@47 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test7@47::.ctor() + IL_0005: stsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_000a: ret + } + + } + + .method public static void test1(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lst) cil managed + { + + .maxstack 4 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: stloc.1 + IL_0004: ldloc.1 + IL_0005: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_000a: stloc.2 + IL_000b: br.s IL_0021 + + IL_000d: ldloc.1 + IL_000e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0013: stloc.3 + IL_0014: ldloc.0 + IL_0015: ldloc.3 + IL_0016: add + IL_0017: stloc.0 + IL_0018: ldloc.2 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: ldloc.2 + IL_0022: brtrue.s IL_000d + + IL_0024: ret + } + + .method public static void test2() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0037 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldloc.0 + IL_002b: ldloc.3 + IL_002c: add + IL_002d: stloc.0 + IL_002e: ldloc.2 + IL_002f: stloc.1 + IL_0030: ldloc.1 + IL_0031: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0036: stloc.2 + IL_0037: ldloc.2 + IL_0038: brtrue.s IL_0023 + + IL_003a: ret + } + + .method public static void test3() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.1 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test4() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.0 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.0 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test5() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldloc.0 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0049 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldstr "%A" + IL_002f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0034: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0039: ldloc.3 + IL_003a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_003f: pop + IL_0040: ldloc.2 + IL_0041: stloc.1 + IL_0042: ldloc.1 + IL_0043: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: brtrue.s IL_0023 + + IL_004c: ret + } + + .method public static void test6() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_0057 + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldstr "%O" + IL_003d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0042: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0047: ldloc.2 + IL_0048: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_004d: pop + IL_004e: ldloc.1 + IL_004f: stloc.0 + IL_0050: ldloc.0 + IL_0051: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0056: stloc.1 + IL_0057: ldloc.1 + IL_0058: brtrue.s IL_0031 + + IL_005a: ret + } + + .method public static void test7() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2, + int32 V_3) + IL_0000: ldsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_005b + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldloc.2 + IL_0039: ldc.i4.1 + IL_003a: add + IL_003b: stloc.3 + IL_003c: ldstr "%O" + IL_0041: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0046: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_004b: ldloc.3 + IL_004c: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0051: pop + IL_0052: ldloc.1 + IL_0053: stloc.0 + IL_0054: ldloc.0 + IL_0055: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_005a: stloc.1 + IL_005b: ldloc.1 + IL_005c: brtrue.s IL_0031 + + IL_005e: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..626c68acbf7 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.net472.release.bsl @@ -0,0 +1,485 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test6@38 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test6@38 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test6@38::.ctor() + IL_0005: stsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test7@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test7@47 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test7@47::.ctor() + IL_0005: stsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_000a: ret + } + + } + + .method public static void test1(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lst) cil managed + { + + .maxstack 4 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: stloc.1 + IL_0004: ldloc.1 + IL_0005: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_000a: stloc.2 + IL_000b: br.s IL_0021 + + IL_000d: ldloc.1 + IL_000e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0013: stloc.3 + IL_0014: ldloc.0 + IL_0015: ldloc.3 + IL_0016: add + IL_0017: stloc.0 + IL_0018: ldloc.2 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: ldloc.2 + IL_0022: brtrue.s IL_000d + + IL_0024: ret + } + + .method public static void test2() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0037 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldloc.0 + IL_002b: ldloc.3 + IL_002c: add + IL_002d: stloc.0 + IL_002e: ldloc.2 + IL_002f: stloc.1 + IL_0030: ldloc.1 + IL_0031: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0036: stloc.2 + IL_0037: ldloc.2 + IL_0038: brtrue.s IL_0023 + + IL_003a: ret + } + + .method public static void test3() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.1 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test4() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.0 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.0 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test5() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_4) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldloc.0 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0052 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldstr "%A" + IL_002f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0034: stloc.s V_4 + IL_0036: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_003b: ldloc.s V_4 + IL_003d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0042: ldloc.3 + IL_0043: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0048: pop + IL_0049: ldloc.2 + IL_004a: stloc.1 + IL_004b: ldloc.1 + IL_004c: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0051: stloc.2 + IL_0052: ldloc.2 + IL_0053: brtrue.s IL_0023 + + IL_0055: ret + } + + .method public static void test6() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_3) + IL_0000: ldsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_005e + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldstr "%O" + IL_003d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0042: stloc.3 + IL_0043: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0048: ldloc.3 + IL_0049: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_004e: ldloc.2 + IL_004f: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0054: pop + IL_0055: ldloc.1 + IL_0056: stloc.0 + IL_0057: ldloc.0 + IL_0058: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_005d: stloc.1 + IL_005e: ldloc.1 + IL_005f: brtrue.s IL_0031 + + IL_0061: ret + } + + .method public static void test7() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_4) + IL_0000: ldsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_0064 + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldloc.2 + IL_0039: ldc.i4.1 + IL_003a: add + IL_003b: stloc.3 + IL_003c: ldstr "%O" + IL_0041: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0046: stloc.s V_4 + IL_0048: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_004d: ldloc.s V_4 + IL_004f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0054: ldloc.3 + IL_0055: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_005a: pop + IL_005b: ldloc.1 + IL_005c: stloc.0 + IL_005d: ldloc.0 + IL_005e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0063: stloc.1 + IL_0064: ldloc.1 + IL_0065: brtrue.s IL_0031 + + IL_0067: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..9bd0a4ef373 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.debug.bsl @@ -0,0 +1,465 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test6@38 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test6@38 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test6@38::.ctor() + IL_0005: stsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test7@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test7@47 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test7@47::.ctor() + IL_0005: stsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_000a: ret + } + + } + + .method public static void test1(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lst) cil managed + { + + .maxstack 4 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: stloc.1 + IL_0004: ldloc.1 + IL_0005: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_000a: stloc.2 + IL_000b: br.s IL_0021 + + IL_000d: ldloc.1 + IL_000e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0013: stloc.3 + IL_0014: ldloc.0 + IL_0015: ldloc.3 + IL_0016: add + IL_0017: stloc.0 + IL_0018: ldloc.2 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: ldloc.2 + IL_0022: brtrue.s IL_000d + + IL_0024: ret + } + + .method public static void test2() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0037 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldloc.0 + IL_002b: ldloc.3 + IL_002c: add + IL_002d: stloc.0 + IL_002e: ldloc.2 + IL_002f: stloc.1 + IL_0030: ldloc.1 + IL_0031: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0036: stloc.2 + IL_0037: ldloc.2 + IL_0038: brtrue.s IL_0023 + + IL_003a: ret + } + + .method public static void test3() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.1 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test4() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.0 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.0 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test5() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldloc.0 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0049 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldstr "%A" + IL_002f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0034: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0039: ldloc.3 + IL_003a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_003f: pop + IL_0040: ldloc.2 + IL_0041: stloc.1 + IL_0042: ldloc.1 + IL_0043: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0048: stloc.2 + IL_0049: ldloc.2 + IL_004a: brtrue.s IL_0023 + + IL_004c: ret + } + + .method public static void test6() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_0057 + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldstr "%O" + IL_003d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0042: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0047: ldloc.2 + IL_0048: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_004d: pop + IL_004e: ldloc.1 + IL_004f: stloc.0 + IL_0050: ldloc.0 + IL_0051: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0056: stloc.1 + IL_0057: ldloc.1 + IL_0058: brtrue.s IL_0031 + + IL_005a: ret + } + + .method public static void test7() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2, + int32 V_3) + IL_0000: ldsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_005b + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldloc.2 + IL_0039: ldc.i4.1 + IL_003a: add + IL_003b: stloc.3 + IL_003c: ldstr "%O" + IL_0041: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0046: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_004b: ldloc.3 + IL_004c: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0051: pop + IL_0052: ldloc.1 + IL_0053: stloc.0 + IL_0054: ldloc.0 + IL_0055: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_005a: stloc.1 + IL_005b: ldloc.1 + IL_005c: brtrue.s IL_0031 + + IL_005e: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..ffb525ce929 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnList01.fs.il.netcore.release.bsl @@ -0,0 +1,485 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test6@38 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test6@38 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test6@38::.ctor() + IL_0005: stsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test7@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test7@47 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(int32 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.1 + IL_0002: add + IL_0003: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test7@47::.ctor() + IL_0005: stsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_000a: ret + } + + } + + .method public static void test1(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lst) cil managed + { + + .maxstack 4 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: stloc.1 + IL_0004: ldloc.1 + IL_0005: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_000a: stloc.2 + IL_000b: br.s IL_0021 + + IL_000d: ldloc.1 + IL_000e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0013: stloc.3 + IL_0014: ldloc.0 + IL_0015: ldloc.3 + IL_0016: add + IL_0017: stloc.0 + IL_0018: ldloc.2 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: ldloc.2 + IL_0022: brtrue.s IL_000d + + IL_0024: ret + } + + .method public static void test2() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0037 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldloc.0 + IL_002b: ldloc.3 + IL_002c: add + IL_002d: stloc.0 + IL_002e: ldloc.2 + IL_002f: stloc.1 + IL_0030: ldloc.1 + IL_0031: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0036: stloc.2 + IL_0037: ldloc.2 + IL_0038: brtrue.s IL_0023 + + IL_003a: ret + } + + .method public static void test3() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.1 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test4() cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.2 + IL_0004: ldc.i4.3 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0022: stloc.3 + IL_0023: br.s IL_003b + + IL_0025: ldloc.2 + IL_0026: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_002b: stloc.s V_4 + IL_002d: ldloc.0 + IL_002e: ldloc.s V_4 + IL_0030: add + IL_0031: stloc.0 + IL_0032: ldloc.3 + IL_0033: stloc.2 + IL_0034: ldloc.2 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.3 + IL_003b: ldloc.3 + IL_003c: brtrue.s IL_0025 + + IL_003e: ret + } + + .method public static void test5() cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_4) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.0 + IL_0018: ldloc.0 + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0020: stloc.2 + IL_0021: br.s IL_0052 + + IL_0023: ldloc.1 + IL_0024: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0029: stloc.3 + IL_002a: ldstr "%A" + IL_002f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0034: stloc.s V_4 + IL_0036: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_003b: ldloc.s V_4 + IL_003d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0042: ldloc.3 + IL_0043: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0048: pop + IL_0049: ldloc.2 + IL_004a: stloc.1 + IL_004b: ldloc.1 + IL_004c: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0051: stloc.2 + IL_0052: ldloc.2 + IL_0053: brtrue.s IL_0023 + + IL_0055: ret + } + + .method public static void test6() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_3) + IL_0000: ldsfld class assembly/test6@38 assembly/test6@38::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_005e + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldstr "%O" + IL_003d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0042: stloc.3 + IL_0043: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0048: ldloc.3 + IL_0049: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_004e: ldloc.2 + IL_004f: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0054: pop + IL_0055: ldloc.1 + IL_0056: stloc.0 + IL_0057: ldloc.0 + IL_0058: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_005d: stloc.1 + IL_005e: ldloc.1 + IL_005f: brtrue.s IL_0031 + + IL_0061: ret + } + + .method public static void test7() cil managed + { + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_4) + IL_0000: ldsfld class assembly/test7@47 assembly/test7@47::@_instance + IL_0005: ldc.i4.1 + IL_0006: ldc.i4.2 + IL_0007: ldc.i4.3 + IL_0008: ldc.i4.4 + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0013: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0018: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0027: stloc.0 + IL_0028: ldloc.0 + IL_0029: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002e: stloc.1 + IL_002f: br.s IL_0064 + + IL_0031: ldloc.0 + IL_0032: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0037: stloc.2 + IL_0038: ldloc.2 + IL_0039: ldc.i4.1 + IL_003a: add + IL_003b: stloc.3 + IL_003c: ldstr "%O" + IL_0041: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0046: stloc.s V_4 + IL_0048: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_004d: ldloc.s V_4 + IL_004f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0054: ldloc.3 + IL_0055: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_005a: pop + IL_005b: ldloc.1 + IL_005c: stloc.0 + IL_005d: ldloc.0 + IL_005e: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0063: stloc.1 + IL_0064: ldloc.1 + IL_0065: brtrue.s IL_0031 + + IL_0067: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs new file mode 100644 index 00000000000..04262a04e63 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs @@ -0,0 +1,67 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// Compiler should turn 'foreach' loops over strings into 'for' loops +module ForEachOnString01 + +open System + +let test1(str: string) = + let mutable z = 0 + for x in str do + z <- z + (int x) + +let test2() = + let mutable z = 0 + for x in "123" do + z <- z + (int x) + +let test3() = + let xs = "123" + let mutable z = 0 + for x in xs do + z <- z + (int x) + +let test4() = + let mutable z = 0 + let xs = "123" + for x in xs do + z <- z + (int x) + +let test5() = + let xs = "123" + for x in xs do + printfn "%A" x + +// test6, test7 makes sure the optimization triggers +// for System.String and String as well. +// They are the same type as string but internally string +// is an alias which potentially could make the optimizer +// miss one case or the other +let test6(str: System.String) = + let mutable z = 0 + for x in str do + z <- z + (int x) + +let test7() = + let xs : String = "123" + let mutable z = 0 + for x in xs do + z <- z + (int x) + +// more complex enumerable expression +let test8() = + for i in ( + "1234" + |> String.map (fun x -> + char ((int x) + 1)) + ) do + printfn "%O" i + +// multiline body +let test9() = + for i in ( + "1234" + |> String.map (fun x -> + char ((int x) + 1)) + ) do + let tmp = System.String.Format("{0} foo", i) + printfn "%O" tmp diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..e0dc7ca6f63 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.debug.bsl @@ -0,0 +1,556 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test8@54 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test8@54 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test8@54::.ctor() + IL_0005: stsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test9@63 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test9@63 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test9@63::.ctor() + IL_0005: stsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_000a: ret + } + + } + + .method public static void test1(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test2() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldstr "123" + IL_0009: callvirt instance int32 [runtime]System.String::get_Length() + IL_000e: ldc.i4.1 + IL_000f: sub + IL_0010: stloc.1 + IL_0011: ldloc.1 + IL_0012: ldloc.2 + IL_0013: blt.s IL_0030 + + IL_0015: ldstr "123" + IL_001a: ldloc.2 + IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0020: stloc.3 + IL_0021: ldloc.0 + IL_0022: ldloc.3 + IL_0023: conv.i4 + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.2 + IL_0027: ldc.i4.1 + IL_0028: add + IL_0029: stloc.2 + IL_002a: ldloc.2 + IL_002b: ldloc.1 + IL_002c: ldc.i4.1 + IL_002d: add + IL_002e: bne.un.s IL_0015 + + IL_0030: ret + } + + .method public static void test3() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test4() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test5() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + char V_2) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.1 + IL_0003: ldstr "123" + IL_0008: callvirt instance int32 [runtime]System.String::get_Length() + IL_000d: ldc.i4.1 + IL_000e: sub + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.1 + IL_0012: blt.s IL_0040 + + IL_0014: ldstr "123" + IL_0019: ldloc.1 + IL_001a: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_001f: stloc.2 + IL_0020: ldstr "%A" + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_002a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_002f: ldloc.2 + IL_0030: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0035: pop + IL_0036: ldloc.1 + IL_0037: ldc.i4.1 + IL_0038: add + IL_0039: stloc.1 + IL_003a: ldloc.1 + IL_003b: ldloc.0 + IL_003c: ldc.i4.1 + IL_003d: add + IL_003e: bne.un.s IL_0014 + + IL_0040: ret + } + + .method public static void test6(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test7() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test8() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_0047 + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "%O" + IL_002c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_0031: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0036: ldloc.3 + IL_0037: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_003c: pop + IL_003d: ldloc.2 + IL_003e: ldc.i4.1 + IL_003f: add + IL_0040: stloc.2 + IL_0041: ldloc.2 + IL_0042: ldloc.1 + IL_0043: ldc.i4.1 + IL_0044: add + IL_0045: bne.un.s IL_001f + + IL_0047: ret + } + + .method public static void test9() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3, + string V_4) + IL_0000: ldsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_005a + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "{0} foo" + IL_002c: ldloc.3 + IL_002d: box [runtime]System.Char + IL_0032: call string [runtime]System.String::Format(string, + object) + IL_0037: stloc.s V_4 + IL_0039: ldstr "%O" + IL_003e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string>::.ctor(string) + IL_0043: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0048: ldloc.s V_4 + IL_004a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_004f: pop + IL_0050: ldloc.2 + IL_0051: ldc.i4.1 + IL_0052: add + IL_0053: stloc.2 + IL_0054: ldloc.2 + IL_0055: ldloc.1 + IL_0056: ldc.i4.1 + IL_0057: add + IL_0058: bne.un.s IL_001f + + IL_005a: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..438815ac15a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.net472.release.bsl @@ -0,0 +1,571 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test8@54 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test8@54 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test8@54::.ctor() + IL_0005: stsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test9@63 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test9@63 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test9@63::.ctor() + IL_0005: stsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_000a: ret + } + + } + + .method public static void test1(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test2() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldstr "123" + IL_0009: callvirt instance int32 [runtime]System.String::get_Length() + IL_000e: ldc.i4.1 + IL_000f: sub + IL_0010: stloc.1 + IL_0011: ldloc.1 + IL_0012: ldloc.2 + IL_0013: blt.s IL_0030 + + IL_0015: ldstr "123" + IL_001a: ldloc.2 + IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0020: stloc.3 + IL_0021: ldloc.0 + IL_0022: ldloc.3 + IL_0023: conv.i4 + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.2 + IL_0027: ldc.i4.1 + IL_0028: add + IL_0029: stloc.2 + IL_002a: ldloc.2 + IL_002b: ldloc.1 + IL_002c: ldc.i4.1 + IL_002d: add + IL_002e: bne.un.s IL_0015 + + IL_0030: ret + } + + .method public static void test3() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test4() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test5() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + char V_2, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.1 + IL_0003: ldstr "123" + IL_0008: callvirt instance int32 [runtime]System.String::get_Length() + IL_000d: ldc.i4.1 + IL_000e: sub + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.1 + IL_0012: blt.s IL_0047 + + IL_0014: ldstr "123" + IL_0019: ldloc.1 + IL_001a: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_001f: stloc.2 + IL_0020: ldstr "%A" + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_002a: stloc.3 + IL_002b: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0030: ldloc.3 + IL_0031: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0036: ldloc.2 + IL_0037: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_003c: pop + IL_003d: ldloc.1 + IL_003e: ldc.i4.1 + IL_003f: add + IL_0040: stloc.1 + IL_0041: ldloc.1 + IL_0042: ldloc.0 + IL_0043: ldc.i4.1 + IL_0044: add + IL_0045: bne.un.s IL_0014 + + IL_0047: ret + } + + .method public static void test6(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test7() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test8() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_4) + IL_0000: ldsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_0050 + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "%O" + IL_002c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_0031: stloc.s V_4 + IL_0033: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0038: ldloc.s V_4 + IL_003a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_003f: ldloc.3 + IL_0040: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0045: pop + IL_0046: ldloc.2 + IL_0047: ldc.i4.1 + IL_0048: add + IL_0049: stloc.2 + IL_004a: ldloc.2 + IL_004b: ldloc.1 + IL_004c: ldc.i4.1 + IL_004d: add + IL_004e: bne.un.s IL_001f + + IL_0050: ret + } + + .method public static void test9() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3, + string V_4, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_5) + IL_0000: ldsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_0063 + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "{0} foo" + IL_002c: ldloc.3 + IL_002d: box [runtime]System.Char + IL_0032: call string [runtime]System.String::Format(string, + object) + IL_0037: stloc.s V_4 + IL_0039: ldstr "%O" + IL_003e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string>::.ctor(string) + IL_0043: stloc.s V_5 + IL_0045: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_004a: ldloc.s V_5 + IL_004c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0051: ldloc.s V_4 + IL_0053: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0058: pop + IL_0059: ldloc.2 + IL_005a: ldc.i4.1 + IL_005b: add + IL_005c: stloc.2 + IL_005d: ldloc.2 + IL_005e: ldloc.1 + IL_005f: ldc.i4.1 + IL_0060: add + IL_0061: bne.un.s IL_001f + + IL_0063: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..c56fef87382 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.debug.bsl @@ -0,0 +1,556 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test8@54 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test8@54 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test8@54::.ctor() + IL_0005: stsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test9@63 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test9@63 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test9@63::.ctor() + IL_0005: stsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_000a: ret + } + + } + + .method public static void test1(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test2() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldstr "123" + IL_0009: callvirt instance int32 [runtime]System.String::get_Length() + IL_000e: ldc.i4.1 + IL_000f: sub + IL_0010: stloc.1 + IL_0011: ldloc.1 + IL_0012: ldloc.2 + IL_0013: blt.s IL_0030 + + IL_0015: ldstr "123" + IL_001a: ldloc.2 + IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0020: stloc.3 + IL_0021: ldloc.0 + IL_0022: ldloc.3 + IL_0023: conv.i4 + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.2 + IL_0027: ldc.i4.1 + IL_0028: add + IL_0029: stloc.2 + IL_002a: ldloc.2 + IL_002b: ldloc.1 + IL_002c: ldc.i4.1 + IL_002d: add + IL_002e: bne.un.s IL_0015 + + IL_0030: ret + } + + .method public static void test3() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test4() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test5() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + char V_2) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.1 + IL_0003: ldstr "123" + IL_0008: callvirt instance int32 [runtime]System.String::get_Length() + IL_000d: ldc.i4.1 + IL_000e: sub + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.1 + IL_0012: blt.s IL_0040 + + IL_0014: ldstr "123" + IL_0019: ldloc.1 + IL_001a: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_001f: stloc.2 + IL_0020: ldstr "%A" + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_002a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_002f: ldloc.2 + IL_0030: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0035: pop + IL_0036: ldloc.1 + IL_0037: ldc.i4.1 + IL_0038: add + IL_0039: stloc.1 + IL_003a: ldloc.1 + IL_003b: ldloc.0 + IL_003c: ldc.i4.1 + IL_003d: add + IL_003e: bne.un.s IL_0014 + + IL_0040: ret + } + + .method public static void test6(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test7() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test8() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_0047 + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "%O" + IL_002c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_0031: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0036: ldloc.3 + IL_0037: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_003c: pop + IL_003d: ldloc.2 + IL_003e: ldc.i4.1 + IL_003f: add + IL_0040: stloc.2 + IL_0041: ldloc.2 + IL_0042: ldloc.1 + IL_0043: ldc.i4.1 + IL_0044: add + IL_0045: bne.un.s IL_001f + + IL_0047: ret + } + + .method public static void test9() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3, + string V_4) + IL_0000: ldsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_005a + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "{0} foo" + IL_002c: ldloc.3 + IL_002d: box [runtime]System.Char + IL_0032: call string [runtime]System.String::Format(string, + object) + IL_0037: stloc.s V_4 + IL_0039: ldstr "%O" + IL_003e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string>::.ctor(string) + IL_0043: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0048: ldloc.s V_4 + IL_004a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_004f: pop + IL_0050: ldloc.2 + IL_0051: ldc.i4.1 + IL_0052: add + IL_0053: stloc.2 + IL_0054: ldloc.2 + IL_0055: ldloc.1 + IL_0056: ldc.i4.1 + IL_0057: add + IL_0058: bne.un.s IL_001f + + IL_005a: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..66b3dcc4d84 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForEachOnString01.fs.il.netcore.release.bsl @@ -0,0 +1,571 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit test8@54 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test8@54 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test8@54::.ctor() + IL_0005: stsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit test9@63 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/test9@63 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char + Invoke(char x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: conv.i4 + IL_0002: ldc.i4.1 + IL_0003: add + IL_0004: conv.u2 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/test9@63::.ctor() + IL_0005: stsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_000a: ret + } + + } + + .method public static void test1(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test2() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldstr "123" + IL_0009: callvirt instance int32 [runtime]System.String::get_Length() + IL_000e: ldc.i4.1 + IL_000f: sub + IL_0010: stloc.1 + IL_0011: ldloc.1 + IL_0012: ldloc.2 + IL_0013: blt.s IL_0030 + + IL_0015: ldstr "123" + IL_001a: ldloc.2 + IL_001b: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0020: stloc.3 + IL_0021: ldloc.0 + IL_0022: ldloc.3 + IL_0023: conv.i4 + IL_0024: add + IL_0025: stloc.0 + IL_0026: ldloc.2 + IL_0027: ldc.i4.1 + IL_0028: add + IL_0029: stloc.2 + IL_002a: ldloc.2 + IL_002b: ldloc.1 + IL_002c: ldc.i4.1 + IL_002d: add + IL_002e: bne.un.s IL_0015 + + IL_0030: ret + } + + .method public static void test3() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test4() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test5() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + char V_2, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.1 + IL_0003: ldstr "123" + IL_0008: callvirt instance int32 [runtime]System.String::get_Length() + IL_000d: ldc.i4.1 + IL_000e: sub + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.1 + IL_0012: blt.s IL_0047 + + IL_0014: ldstr "123" + IL_0019: ldloc.1 + IL_001a: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_001f: stloc.2 + IL_0020: ldstr "%A" + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_002a: stloc.3 + IL_002b: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0030: ldloc.3 + IL_0031: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0036: ldloc.2 + IL_0037: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_003c: pop + IL_003d: ldloc.1 + IL_003e: ldc.i4.1 + IL_003f: add + IL_0040: stloc.1 + IL_0041: ldloc.1 + IL_0042: ldloc.0 + IL_0043: ldc.i4.1 + IL_0044: add + IL_0045: bne.un.s IL_0014 + + IL_0047: ret + } + + .method public static void test6(string str) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.2 + IL_0004: ldarg.0 + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: ldc.i4.1 + IL_000b: sub + IL_000c: stloc.1 + IL_000d: ldloc.1 + IL_000e: ldloc.2 + IL_000f: blt.s IL_0028 + + IL_0011: ldarg.0 + IL_0012: ldloc.2 + IL_0013: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0018: stloc.3 + IL_0019: ldloc.0 + IL_001a: ldloc.3 + IL_001b: conv.i4 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.2 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.2 + IL_0022: ldloc.2 + IL_0023: ldloc.1 + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: bne.un.s IL_0011 + + IL_0028: ret + } + + .method public static void test7() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + char V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: ldc.i4.0 + IL_0004: stloc.2 + IL_0005: ldstr "123" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: ldc.i4.1 + IL_0010: sub + IL_0011: stloc.1 + IL_0012: ldloc.1 + IL_0013: ldloc.2 + IL_0014: blt.s IL_0031 + + IL_0016: ldstr "123" + IL_001b: ldloc.2 + IL_001c: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0021: stloc.3 + IL_0022: ldloc.0 + IL_0023: ldloc.3 + IL_0024: conv.i4 + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.2 + IL_0028: ldc.i4.1 + IL_0029: add + IL_002a: stloc.2 + IL_002b: ldloc.2 + IL_002c: ldloc.1 + IL_002d: ldc.i4.1 + IL_002e: add + IL_002f: bne.un.s IL_0016 + + IL_0031: ret + } + + .method public static void test8() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_4) + IL_0000: ldsfld class assembly/test8@54 assembly/test8@54::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_0050 + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "%O" + IL_002c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,char>::.ctor(string) + IL_0031: stloc.s V_4 + IL_0033: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0038: ldloc.s V_4 + IL_003a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_003f: ldloc.3 + IL_0040: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0045: pop + IL_0046: ldloc.2 + IL_0047: ldc.i4.1 + IL_0048: add + IL_0049: stloc.2 + IL_004a: ldloc.2 + IL_004b: ldloc.1 + IL_004c: ldc.i4.1 + IL_004d: add + IL_004e: bne.un.s IL_001f + + IL_0050: ret + } + + .method public static void test9() cil managed + { + + .maxstack 5 + .locals init (string V_0, + int32 V_1, + int32 V_2, + char V_3, + string V_4, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_5) + IL_0000: ldsfld class assembly/test9@63 assembly/test9@63::@_instance + IL_0005: ldstr "1234" + IL_000a: call string [FSharp.Core]Microsoft.FSharp.Core.StringModule::Map(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + string) + IL_000f: stloc.0 + IL_0010: ldc.i4.0 + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: callvirt instance int32 [runtime]System.String::get_Length() + IL_0018: ldc.i4.1 + IL_0019: sub + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.2 + IL_001d: blt.s IL_0063 + + IL_001f: ldloc.0 + IL_0020: ldloc.2 + IL_0021: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0026: stloc.3 + IL_0027: ldstr "{0} foo" + IL_002c: ldloc.3 + IL_002d: box [runtime]System.Char + IL_0032: call string [runtime]System.String::Format(string, + object) + IL_0037: stloc.s V_4 + IL_0039: ldstr "%O" + IL_003e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string>::.ctor(string) + IL_0043: stloc.s V_5 + IL_0045: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_004a: ldloc.s V_5 + IL_004c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter>(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0051: ldloc.s V_4 + IL_0053: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0058: pop + IL_0059: ldloc.2 + IL_005a: ldc.i4.1 + IL_005b: add + IL_005c: stloc.2 + IL_005d: ldloc.2 + IL_005e: ldloc.1 + IL_005f: ldc.i4.1 + IL_0060: add + IL_0061: bne.un.s IL_001f + + IL_0063: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForLoop.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForLoop.fs similarity index 98% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForLoop.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForLoop.fs index 22607c2542c..f98947c030b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/ForLoop.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ForLoop.fs @@ -1,10 +1,10 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test open FSharp.Test.Compiler -module ForLoop = +module ForLoopRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -14,6 +14,7 @@ module ForLoop = |> withEmbeddedPdb |> withEmbedAllSource |> ignoreWarnings + |> withRealInternalSignatureOn |> verifyILBaseline // SOURCE=NoAllocationOfTuple01.fs SCFLAGS="-a -g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoAllocationOfTuple01.dll" # NoAllocationOfTuple01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs new file mode 100644 index 00000000000..54c5dd3c27c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs @@ -0,0 +1,11 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// Regression test for FSHARP1.0:5408 +// For-loop emitted with unnecessary tuple +module NoAllocationOfTuple01 +let loop n = + let a = Array.zeroCreate n + let mutable i = -1 + for j = 1 to n do + i <- i + 1 + a.[ i ] <- j // creates an unnecessary temporary tuple + a diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs.il.bsl new file mode 100644 index 00000000000..e43120841d9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoAllocationOfTuple01.fs.il.bsl @@ -0,0 +1,108 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static int32[] loop(int32 n) cil managed + { + + .maxstack 5 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::ZeroCreate(int32) + IL_0006: stloc.0 + IL_0007: ldc.i4.m1 + IL_0008: stloc.1 + IL_0009: ldc.i4.1 + IL_000a: stloc.3 + IL_000b: ldarg.0 + IL_000c: stloc.2 + IL_000d: ldloc.2 + IL_000e: ldloc.3 + IL_000f: blt.s IL_0027 + + IL_0011: ldloc.1 + IL_0012: ldc.i4.1 + IL_0013: add + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: ldloc.1 + IL_0017: ldloc.3 + IL_0018: stelem [runtime]System.Int32 + IL_001d: ldloc.3 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: stloc.3 + IL_0021: ldloc.3 + IL_0022: ldloc.2 + IL_0023: ldc.i4.1 + IL_0024: add + IL_0025: bne.un.s IL_0011 + + IL_0027: ldloc.0 + IL_0028: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx new file mode 100644 index 00000000000..6c6ab9e6c2f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx @@ -0,0 +1,8 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// Regression test for FSHARP1.0:6064 + +module M + +let loop1 N = + for i in 1 .. N do + printfn "aaa" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.debug.bsl new file mode 100644 index 00000000000..4c0acb5b6ba --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.debug.bsl @@ -0,0 +1,96 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop1(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0017: pop + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.release.bsl new file mode 100644 index 00000000000..1c1f3221262 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.net472.release.bsl @@ -0,0 +1,106 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop1(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4 V_2) + IL_0000: ldc.i4.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0029 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: stloc.2 + IL_0013: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0018: ldloc.2 + IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001e: pop + IL_001f: ldloc.1 + IL_0020: ldc.i4.1 + IL_0021: add + IL_0022: stloc.1 + IL_0023: ldloc.1 + IL_0024: ldloc.0 + IL_0025: ldc.i4.1 + IL_0026: add + IL_0027: bne.un.s IL_0008 + + IL_0029: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.debug.bsl new file mode 100644 index 00000000000..4c0acb5b6ba --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.debug.bsl @@ -0,0 +1,96 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop1(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0017: pop + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.release.bsl new file mode 100644 index 00000000000..51a1fd29773 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable01.fsx.il.netcore.release.bsl @@ -0,0 +1,106 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop1(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4 V_2) + IL_0000: ldc.i4.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0029 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: stloc.2 + IL_0013: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0018: ldloc.2 + IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001e: pop + IL_001f: ldloc.1 + IL_0020: ldc.i4.1 + IL_0021: add + IL_0022: stloc.1 + IL_0023: ldloc.1 + IL_0024: ldloc.0 + IL_0025: ldc.i4.1 + IL_0026: add + IL_0027: bne.un.s IL_0008 + + IL_0029: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx new file mode 100644 index 00000000000..14fa58c1458 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx @@ -0,0 +1,8 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// Regression test for FSHARP1.0:6064 + +module M + +let loop2 N = + for i in 100 .. N do + printfn "aaa" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.debug.bsl new file mode 100644 index 00000000000..e31d59290d9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.debug.bsl @@ -0,0 +1,96 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop2(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4.s 100 + IL_0002: stloc.1 + IL_0003: ldarg.0 + IL_0004: stloc.0 + IL_0005: ldloc.0 + IL_0006: ldloc.1 + IL_0007: blt.s IL_0023 + + IL_0009: ldstr "aaa" + IL_000e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0013: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0018: pop + IL_0019: ldloc.1 + IL_001a: ldc.i4.1 + IL_001b: add + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldloc.0 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: bne.un.s IL_0009 + + IL_0023: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.release.bsl new file mode 100644 index 00000000000..5db215b7499 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.net472.release.bsl @@ -0,0 +1,106 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop2(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4 V_2) + IL_0000: ldc.i4.s 100 + IL_0002: stloc.1 + IL_0003: ldarg.0 + IL_0004: stloc.0 + IL_0005: ldloc.0 + IL_0006: ldloc.1 + IL_0007: blt.s IL_002a + + IL_0009: ldstr "aaa" + IL_000e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0013: stloc.2 + IL_0014: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0019: ldloc.2 + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001f: pop + IL_0020: ldloc.1 + IL_0021: ldc.i4.1 + IL_0022: add + IL_0023: stloc.1 + IL_0024: ldloc.1 + IL_0025: ldloc.0 + IL_0026: ldc.i4.1 + IL_0027: add + IL_0028: bne.un.s IL_0009 + + IL_002a: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.debug.bsl new file mode 100644 index 00000000000..e31d59290d9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.debug.bsl @@ -0,0 +1,96 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop2(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4.s 100 + IL_0002: stloc.1 + IL_0003: ldarg.0 + IL_0004: stloc.0 + IL_0005: ldloc.0 + IL_0006: ldloc.1 + IL_0007: blt.s IL_0023 + + IL_0009: ldstr "aaa" + IL_000e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0013: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0018: pop + IL_0019: ldloc.1 + IL_001a: ldc.i4.1 + IL_001b: add + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: ldloc.0 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: bne.un.s IL_0009 + + IL_0023: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.release.bsl new file mode 100644 index 00000000000..1e7f43d17e9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable02.fsx.il.netcore.release.bsl @@ -0,0 +1,106 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop2(int32 N) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4 V_2) + IL_0000: ldc.i4.s 100 + IL_0002: stloc.1 + IL_0003: ldarg.0 + IL_0004: stloc.0 + IL_0005: ldloc.0 + IL_0006: ldloc.1 + IL_0007: blt.s IL_002a + + IL_0009: ldstr "aaa" + IL_000e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0013: stloc.2 + IL_0014: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0019: ldloc.2 + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001f: pop + IL_0020: ldloc.1 + IL_0021: ldc.i4.1 + IL_0022: add + IL_0023: stloc.1 + IL_0024: ldloc.1 + IL_0025: ldloc.0 + IL_0026: ldc.i4.1 + IL_0027: add + IL_0028: bne.un.s IL_0009 + + IL_002a: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx new file mode 100644 index 00000000000..a445b6fd3dd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx @@ -0,0 +1,9 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// Regression test for FSHARP1.0:6064 + +module M + +let loop3 a N = + for i in a .. N do + printfn "aaa" + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.debug.bsl new file mode 100644 index 00000000000..c580ba49eec --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.debug.bsl @@ -0,0 +1,98 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop3(int32 a, + int32 N) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0017: pop + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.release.bsl new file mode 100644 index 00000000000..30f24778b50 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.net472.release.bsl @@ -0,0 +1,108 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop3(int32 a, + int32 N) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0029 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: stloc.2 + IL_0013: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0018: ldloc.2 + IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001e: pop + IL_001f: ldloc.1 + IL_0020: ldc.i4.1 + IL_0021: add + IL_0022: stloc.1 + IL_0023: ldloc.1 + IL_0024: ldloc.0 + IL_0025: ldc.i4.1 + IL_0026: add + IL_0027: bne.un.s IL_0008 + + IL_0029: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.debug.bsl new file mode 100644 index 00000000000..c580ba49eec --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.debug.bsl @@ -0,0 +1,98 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop3(int32 a, + int32 N) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0017: pop + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.release.bsl new file mode 100644 index 00000000000..e916dd0c946 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NoIEnumerable03.fsx.il.netcore.release.bsl @@ -0,0 +1,108 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void loop3(int32 a, + int32 N) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0029 + + IL_0008: ldstr "aaa" + IL_000d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0012: stloc.2 + IL_0013: call class [netstandard]System.IO.TextWriter [netstandard]System.Console::get_Out() + IL_0018: ldloc.2 + IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.PrintfModule::PrintFormatLineToTextWriter(class [runtime]System.IO.TextWriter, + class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001e: pop + IL_001f: ldloc.1 + IL_0020: ldc.i4.1 + IL_0021: add + IL_0022: stloc.1 + IL_0023: ldloc.1 + IL_0024: ldloc.0 + IL_0025: ldc.i4.1 + IL_0026: add + IL_0027: bne.un.s IL_0008 + + IL_0029: ret + } + +} + +.class private abstract auto ansi sealed ''.$M$fsx + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs new file mode 100644 index 00000000000..9288143b4de --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs @@ -0,0 +1,12 @@ +// #Regression #CodeGen #Optimizations #ControlFlow +// Regression test for FSHARP1.0:5306 +// Bad codegen while optimizing for-loops with non-trivial branching and binding in end +// + +let r = Array.create 8 1 +let w = Array.create 5 2 + +for j = 0 to (min r.Length w.Length) - 1 do + r.[j] <- r.[j] + w.[j] + +(if r.[0] = 3 then 0 else 1) |> exit diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl new file mode 100644 index 00000000000..f39ef8b9a7e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl @@ -0,0 +1,195 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + int32 V_3) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: call int32[] assembly::get_r() + IL_001f: ldlen + IL_0020: conv.i4 + IL_0021: stloc.2 + IL_0022: call int32[] assembly::get_w() + IL_0027: ldlen + IL_0028: conv.i4 + IL_0029: stloc.3 + IL_002a: ldloc.2 + IL_002b: ldloc.3 + IL_002c: bge.s IL_0032 + + IL_002e: ldloc.2 + IL_002f: nop + IL_0030: br.s IL_0034 + + IL_0032: ldloc.3 + IL_0033: nop + IL_0034: ldc.i4.1 + IL_0035: sub + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ldloc.1 + IL_0039: blt.s IL_0067 + + IL_003b: call int32[] assembly::get_r() + IL_0040: ldloc.1 + IL_0041: call int32[] assembly::get_r() + IL_0046: ldloc.1 + IL_0047: ldelem [runtime]System.Int32 + IL_004c: call int32[] assembly::get_w() + IL_0051: ldloc.1 + IL_0052: ldelem [runtime]System.Int32 + IL_0057: add + IL_0058: stelem [runtime]System.Int32 + IL_005d: ldloc.1 + IL_005e: ldc.i4.1 + IL_005f: add + IL_0060: stloc.1 + IL_0061: ldloc.1 + IL_0062: ldloc.0 + IL_0063: ldc.i4.1 + IL_0064: add + IL_0065: bne.un.s IL_003b + + IL_0067: nop + IL_0068: nop + IL_0069: call int32[] assembly::get_r() + IL_006e: ldc.i4.0 + IL_006f: ldelem [runtime]System.Int32 + IL_0074: ldc.i4.3 + IL_0075: bne.un.s IL_007b + + IL_0077: ldc.i4.0 + IL_0078: nop + IL_0079: br.s IL_007d + + IL_007b: ldc.i4.1 + IL_007c: nop + IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0082: pop + IL_0083: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl new file mode 100644 index 00000000000..f39ef8b9a7e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl @@ -0,0 +1,195 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + int32 V_3) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: call int32[] assembly::get_r() + IL_001f: ldlen + IL_0020: conv.i4 + IL_0021: stloc.2 + IL_0022: call int32[] assembly::get_w() + IL_0027: ldlen + IL_0028: conv.i4 + IL_0029: stloc.3 + IL_002a: ldloc.2 + IL_002b: ldloc.3 + IL_002c: bge.s IL_0032 + + IL_002e: ldloc.2 + IL_002f: nop + IL_0030: br.s IL_0034 + + IL_0032: ldloc.3 + IL_0033: nop + IL_0034: ldc.i4.1 + IL_0035: sub + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ldloc.1 + IL_0039: blt.s IL_0067 + + IL_003b: call int32[] assembly::get_r() + IL_0040: ldloc.1 + IL_0041: call int32[] assembly::get_r() + IL_0046: ldloc.1 + IL_0047: ldelem [runtime]System.Int32 + IL_004c: call int32[] assembly::get_w() + IL_0051: ldloc.1 + IL_0052: ldelem [runtime]System.Int32 + IL_0057: add + IL_0058: stelem [runtime]System.Int32 + IL_005d: ldloc.1 + IL_005e: ldc.i4.1 + IL_005f: add + IL_0060: stloc.1 + IL_0061: ldloc.1 + IL_0062: ldloc.0 + IL_0063: ldc.i4.1 + IL_0064: add + IL_0065: bne.un.s IL_003b + + IL_0067: nop + IL_0068: nop + IL_0069: call int32[] assembly::get_r() + IL_006e: ldc.i4.0 + IL_006f: ldelem [runtime]System.Int32 + IL_0074: ldc.i4.3 + IL_0075: bne.un.s IL_007b + + IL_0077: ldc.i4.0 + IL_0078: nop + IL_0079: br.s IL_007d + + IL_007b: ldc.i4.1 + IL_007c: nop + IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0082: pop + IL_0083: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs new file mode 100644 index 00000000000..9f976b52b52 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs @@ -0,0 +1,12 @@ +// #Regression #CodeGen #Optimizations #ControlFlow +// Regression test for FSHARP1.0:5306 +// Bad codegen while optimizing for-loops with non-trivial branching and binding in end +// + +let r = Array.create 8 1 +let w = Array.create 5 2 + + +for j = (min r.Length w.Length) - 1 downto 0 do + r.[j] <- r.[j] + w.[j] +(if r.[0] = 3 then 0 else 1) |> exit diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl new file mode 100644 index 00000000000..c3223f5ab40 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl @@ -0,0 +1,193 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: call int32[] assembly::get_r() + IL_001d: ldlen + IL_001e: conv.i4 + IL_001f: stloc.0 + IL_0020: call int32[] assembly::get_w() + IL_0025: ldlen + IL_0026: conv.i4 + IL_0027: stloc.1 + IL_0028: ldloc.0 + IL_0029: ldloc.1 + IL_002a: bge.s IL_0030 + + IL_002c: ldloc.0 + IL_002d: nop + IL_002e: br.s IL_0032 + + IL_0030: ldloc.1 + IL_0031: nop + IL_0032: ldc.i4.1 + IL_0033: sub + IL_0034: stloc.1 + IL_0035: ldc.i4.0 + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ldloc.1 + IL_0039: bgt.s IL_0067 + + IL_003b: call int32[] assembly::get_r() + IL_0040: ldloc.1 + IL_0041: call int32[] assembly::get_r() + IL_0046: ldloc.1 + IL_0047: ldelem [runtime]System.Int32 + IL_004c: call int32[] assembly::get_w() + IL_0051: ldloc.1 + IL_0052: ldelem [runtime]System.Int32 + IL_0057: add + IL_0058: stelem [runtime]System.Int32 + IL_005d: ldloc.1 + IL_005e: ldc.i4.1 + IL_005f: sub + IL_0060: stloc.1 + IL_0061: ldloc.1 + IL_0062: ldloc.0 + IL_0063: ldc.i4.1 + IL_0064: sub + IL_0065: bne.un.s IL_003b + + IL_0067: nop + IL_0068: nop + IL_0069: call int32[] assembly::get_r() + IL_006e: ldc.i4.0 + IL_006f: ldelem [runtime]System.Int32 + IL_0074: ldc.i4.3 + IL_0075: bne.un.s IL_007b + + IL_0077: ldc.i4.0 + IL_0078: nop + IL_0079: br.s IL_007d + + IL_007b: ldc.i4.1 + IL_007c: nop + IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0082: pop + IL_0083: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl new file mode 100644 index 00000000000..c3223f5ab40 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl @@ -0,0 +1,193 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: call int32[] assembly::get_r() + IL_001d: ldlen + IL_001e: conv.i4 + IL_001f: stloc.0 + IL_0020: call int32[] assembly::get_w() + IL_0025: ldlen + IL_0026: conv.i4 + IL_0027: stloc.1 + IL_0028: ldloc.0 + IL_0029: ldloc.1 + IL_002a: bge.s IL_0030 + + IL_002c: ldloc.0 + IL_002d: nop + IL_002e: br.s IL_0032 + + IL_0030: ldloc.1 + IL_0031: nop + IL_0032: ldc.i4.1 + IL_0033: sub + IL_0034: stloc.1 + IL_0035: ldc.i4.0 + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ldloc.1 + IL_0039: bgt.s IL_0067 + + IL_003b: call int32[] assembly::get_r() + IL_0040: ldloc.1 + IL_0041: call int32[] assembly::get_r() + IL_0046: ldloc.1 + IL_0047: ldelem [runtime]System.Int32 + IL_004c: call int32[] assembly::get_w() + IL_0051: ldloc.1 + IL_0052: ldelem [runtime]System.Int32 + IL_0057: add + IL_0058: stelem [runtime]System.Int32 + IL_005d: ldloc.1 + IL_005e: ldc.i4.1 + IL_005f: sub + IL_0060: stloc.1 + IL_0061: ldloc.1 + IL_0062: ldloc.0 + IL_0063: ldc.i4.1 + IL_0064: sub + IL_0065: bne.un.s IL_003b + + IL_0067: nop + IL_0068: nop + IL_0069: call int32[] assembly::get_r() + IL_006e: ldc.i4.0 + IL_006f: ldelem [runtime]System.Int32 + IL_0074: ldc.i4.3 + IL_0075: bne.un.s IL_007b + + IL_0077: ldc.i4.0 + IL_0078: nop + IL_0079: br.s IL_007d + + IL_007b: ldc.i4.1 + IL_007c: nop + IL_007d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0082: pop + IL_0083: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs new file mode 100644 index 00000000000..25e457f4509 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs @@ -0,0 +1,11 @@ +// #Regression #CodeGen #Optimizations #ControlFlow +// Regression test for FSHARP1.0:5306 +// Bad codegen while optimizing for-loops with non-trivial branching and binding in end +// + +let r = Array.create 8 1 +let w = Array.create 5 2 + +for j in [0 .. (min r.Length w.Length) - 1] do + r.[j] <- r.[j] + w.[j] +(if r.[0] = 3 then 0 else 1) |> exit diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl new file mode 100644 index 00000000000..72ff1c43573 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl @@ -0,0 +1,281 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 current@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e1@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e2@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 next@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_current@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0005: ret + } + + .method assembly specialname static void set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0006: ret + } + + .method assembly specialname static int32 get_e1@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e1@1 + IL_0005: ret + } + + .method assembly specialname static int32 get_e2@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e2@1 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_next@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0005: ret + } + + .method assembly specialname static void set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: ldc.i4.0 + IL_0019: ldc.i4.1 + IL_001a: call int32[] assembly::get_r() + IL_001f: ldlen + IL_0020: conv.i4 + IL_0021: stsfld int32 assembly::e1@1 + IL_0026: call int32[] assembly::get_w() + IL_002b: ldlen + IL_002c: conv.i4 + IL_002d: stsfld int32 assembly::e2@1 + IL_0032: call int32 assembly::get_e1@1() + IL_0037: call int32 assembly::get_e2@1() + IL_003c: bge.s IL_0046 + + IL_003e: call int32 assembly::get_e1@1() + IL_0043: nop + IL_0044: br.s IL_004c + + IL_0046: call int32 assembly::get_e2@1() + IL_004b: nop + IL_004c: ldc.i4.1 + IL_004d: sub + IL_004e: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0053: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0067: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_006c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0071: br.s IL_00b9 + + IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_007d: stloc.0 + IL_007e: call int32[] assembly::get_r() + IL_0083: ldloc.0 + IL_0084: call int32[] assembly::get_r() + IL_0089: ldloc.0 + IL_008a: ldelem [runtime]System.Int32 + IL_008f: call int32[] assembly::get_w() + IL_0094: ldloc.0 + IL_0095: ldelem [runtime]System.Int32 + IL_009a: add + IL_009b: stelem [runtime]System.Int32 + IL_00a0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00a5: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00aa: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00af: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00b4: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00be: brtrue.s IL_0073 + + IL_00c0: nop + IL_00c1: nop + IL_00c2: call int32[] assembly::get_r() + IL_00c7: ldc.i4.0 + IL_00c8: ldelem [runtime]System.Int32 + IL_00cd: ldc.i4.3 + IL_00ce: bne.un.s IL_00d4 + + IL_00d0: ldc.i4.0 + IL_00d1: nop + IL_00d2: br.s IL_00d6 + + IL_00d4: ldc.i4.1 + IL_00d5: nop + IL_00d6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00db: pop + IL_00dc: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + current@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + } + .property int32 e1@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e1@1() + } + .property int32 e2@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e2@1() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + next@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl new file mode 100644 index 00000000000..72ff1c43573 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl @@ -0,0 +1,281 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 current@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e1@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e2@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 next@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_current@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0005: ret + } + + .method assembly specialname static void set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0006: ret + } + + .method assembly specialname static int32 get_e1@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e1@1 + IL_0005: ret + } + + .method assembly specialname static int32 get_e2@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e2@1 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_next@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0005: ret + } + + .method assembly specialname static void set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: ldc.i4.0 + IL_0019: ldc.i4.1 + IL_001a: call int32[] assembly::get_r() + IL_001f: ldlen + IL_0020: conv.i4 + IL_0021: stsfld int32 assembly::e1@1 + IL_0026: call int32[] assembly::get_w() + IL_002b: ldlen + IL_002c: conv.i4 + IL_002d: stsfld int32 assembly::e2@1 + IL_0032: call int32 assembly::get_e1@1() + IL_0037: call int32 assembly::get_e2@1() + IL_003c: bge.s IL_0046 + + IL_003e: call int32 assembly::get_e1@1() + IL_0043: nop + IL_0044: br.s IL_004c + + IL_0046: call int32 assembly::get_e2@1() + IL_004b: nop + IL_004c: ldc.i4.1 + IL_004d: sub + IL_004e: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0053: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0067: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_006c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0071: br.s IL_00b9 + + IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_007d: stloc.0 + IL_007e: call int32[] assembly::get_r() + IL_0083: ldloc.0 + IL_0084: call int32[] assembly::get_r() + IL_0089: ldloc.0 + IL_008a: ldelem [runtime]System.Int32 + IL_008f: call int32[] assembly::get_w() + IL_0094: ldloc.0 + IL_0095: ldelem [runtime]System.Int32 + IL_009a: add + IL_009b: stelem [runtime]System.Int32 + IL_00a0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00a5: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00aa: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00af: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00b4: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00be: brtrue.s IL_0073 + + IL_00c0: nop + IL_00c1: nop + IL_00c2: call int32[] assembly::get_r() + IL_00c7: ldc.i4.0 + IL_00c8: ldelem [runtime]System.Int32 + IL_00cd: ldc.i4.3 + IL_00ce: bne.un.s IL_00d4 + + IL_00d0: ldc.i4.0 + IL_00d1: nop + IL_00d2: br.s IL_00d6 + + IL_00d4: ldc.i4.1 + IL_00d5: nop + IL_00d6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00db: pop + IL_00dc: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + current@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + } + .property int32 e1@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e1@1() + } + .property int32 e2@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e2@1() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + next@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs new file mode 100644 index 00000000000..57bf33efac2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs @@ -0,0 +1,11 @@ +// #Regression #CodeGen #Optimizations #ControlFlow +// Regression test for FSHARP1.0:5306 +// Bad codegen while optimizing for-loops with non-trivial branching and binding in end +// + +let r = Array.create 8 1 +let w = Array.create 5 2 + +for j in [(min r.Length w.Length) - 1 .. -1 .. 0] do + r.[j] <- r.[j] + w.[j] +(if r.[0] = 3 then 0 else 1) |> exit diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl new file mode 100644 index 00000000000..4b2fcaa2cab --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl @@ -0,0 +1,281 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 current@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e1@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e2@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 next@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_current@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0005: ret + } + + .method assembly specialname static void set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0006: ret + } + + .method assembly specialname static int32 get_e1@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e1@1 + IL_0005: ret + } + + .method assembly specialname static int32 get_e2@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e2@1 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_next@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0005: ret + } + + .method assembly specialname static void set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: call int32[] assembly::get_r() + IL_001d: ldlen + IL_001e: conv.i4 + IL_001f: stsfld int32 assembly::e1@1 + IL_0024: call int32[] assembly::get_w() + IL_0029: ldlen + IL_002a: conv.i4 + IL_002b: stsfld int32 assembly::e2@1 + IL_0030: call int32 assembly::get_e1@1() + IL_0035: call int32 assembly::get_e2@1() + IL_003a: bge.s IL_0044 + + IL_003c: call int32 assembly::get_e1@1() + IL_0041: nop + IL_0042: br.s IL_004a + + IL_0044: call int32 assembly::get_e2@1() + IL_0049: nop + IL_004a: ldc.i4.1 + IL_004b: sub + IL_004c: ldc.i4.m1 + IL_004d: ldc.i4.0 + IL_004e: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0053: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0067: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_006c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0071: br.s IL_00b9 + + IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_007d: stloc.0 + IL_007e: call int32[] assembly::get_r() + IL_0083: ldloc.0 + IL_0084: call int32[] assembly::get_r() + IL_0089: ldloc.0 + IL_008a: ldelem [runtime]System.Int32 + IL_008f: call int32[] assembly::get_w() + IL_0094: ldloc.0 + IL_0095: ldelem [runtime]System.Int32 + IL_009a: add + IL_009b: stelem [runtime]System.Int32 + IL_00a0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00a5: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00aa: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00af: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00b4: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00be: brtrue.s IL_0073 + + IL_00c0: nop + IL_00c1: nop + IL_00c2: call int32[] assembly::get_r() + IL_00c7: ldc.i4.0 + IL_00c8: ldelem [runtime]System.Int32 + IL_00cd: ldc.i4.3 + IL_00ce: bne.un.s IL_00d4 + + IL_00d0: ldc.i4.0 + IL_00d1: nop + IL_00d2: br.s IL_00d6 + + IL_00d4: ldc.i4.1 + IL_00d5: nop + IL_00d6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00db: pop + IL_00dc: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + current@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + } + .property int32 e1@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e1@1() + } + .property int32 e2@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e2@1() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + next@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl new file mode 100644 index 00000000000..4b2fcaa2cab --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl @@ -0,0 +1,281 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 current@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e1@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 e2@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 next@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_current@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0005: ret + } + + .method assembly specialname static void set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0006: ret + } + + .method assembly specialname static int32 get_e1@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e1@1 + IL_0005: ret + } + + .method assembly specialname static int32 get_e2@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::e2@1 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_next@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0005: ret + } + + .method assembly specialname static void set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: call int32[] assembly::get_r() + IL_001d: ldlen + IL_001e: conv.i4 + IL_001f: stsfld int32 assembly::e1@1 + IL_0024: call int32[] assembly::get_w() + IL_0029: ldlen + IL_002a: conv.i4 + IL_002b: stsfld int32 assembly::e2@1 + IL_0030: call int32 assembly::get_e1@1() + IL_0035: call int32 assembly::get_e2@1() + IL_003a: bge.s IL_0044 + + IL_003c: call int32 assembly::get_e1@1() + IL_0041: nop + IL_0042: br.s IL_004a + + IL_0044: call int32 assembly::get_e2@1() + IL_0049: nop + IL_004a: ldc.i4.1 + IL_004b: sub + IL_004c: ldc.i4.m1 + IL_004d: ldc.i4.0 + IL_004e: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0053: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::current@9 + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0067: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_006c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::next@9 + IL_0071: br.s IL_00b9 + + IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_007d: stloc.0 + IL_007e: call int32[] assembly::get_r() + IL_0083: ldloc.0 + IL_0084: call int32[] assembly::get_r() + IL_0089: ldloc.0 + IL_008a: ldelem [runtime]System.Int32 + IL_008f: call int32[] assembly::get_w() + IL_0094: ldloc.0 + IL_0095: ldelem [runtime]System.Int32 + IL_009a: add + IL_009b: stelem [runtime]System.Int32 + IL_00a0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00a5: call void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00aa: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + IL_00af: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_00b4: call void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + IL_00be: brtrue.s IL_0073 + + IL_00c0: nop + IL_00c1: nop + IL_00c2: call int32[] assembly::get_r() + IL_00c7: ldc.i4.0 + IL_00c8: ldelem [runtime]System.Int32 + IL_00cd: ldc.i4.3 + IL_00ce: bne.un.s IL_00d4 + + IL_00d0: ldc.i4.0 + IL_00d1: nop + IL_00d2: br.s IL_00d6 + + IL_00d4: ldc.i4.1 + IL_00d5: nop + IL_00d6: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00db: pop + IL_00dc: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + current@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_current@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_current@9() + } + .property int32 e1@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e1@1() + } + .property int32 e2@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_e2@1() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + next@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void assembly::set_next@9(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_next@9() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs new file mode 100644 index 00000000000..1c3e67958e4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs @@ -0,0 +1,12 @@ +// #Regression #CodeGen #Optimizations #ControlFlow +// Regression test for FSHARP1.0:5306 +// Bad codegen while optimizing for-loops with non-trivial branching and binding in end +// + +let r = Array.create 8 1 +let w = Array.create 5 2 + +for k = 0 to (min r.Length w.Length) - 1 do + for j = 0 to (min r.Length w.Length) - 1 do + r.[j] <- r.[j] + w.[j] +(if r.[0] = 11 then 0 else 1) |> exit diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl new file mode 100644 index 00000000000..2d1498a9e80 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl @@ -0,0 +1,234 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + int32 V_3, + int32 V_4, + int32 V_5) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: call int32[] assembly::get_r() + IL_001f: ldlen + IL_0020: conv.i4 + IL_0021: stloc.2 + IL_0022: call int32[] assembly::get_w() + IL_0027: ldlen + IL_0028: conv.i4 + IL_0029: stloc.3 + IL_002a: ldloc.2 + IL_002b: ldloc.3 + IL_002c: bge.s IL_0032 + + IL_002e: ldloc.2 + IL_002f: nop + IL_0030: br.s IL_0034 + + IL_0032: ldloc.3 + IL_0033: nop + IL_0034: ldc.i4.1 + IL_0035: sub + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ldloc.1 + IL_0039: blt.s IL_009a + + IL_003b: ldc.i4.0 + IL_003c: stloc.3 + IL_003d: call int32[] assembly::get_r() + IL_0042: ldlen + IL_0043: conv.i4 + IL_0044: stloc.s V_4 + IL_0046: call int32[] assembly::get_w() + IL_004b: ldlen + IL_004c: conv.i4 + IL_004d: stloc.s V_5 + IL_004f: ldloc.s V_4 + IL_0051: ldloc.s V_5 + IL_0053: bge.s IL_005a + + IL_0055: ldloc.s V_4 + IL_0057: nop + IL_0058: br.s IL_005d + + IL_005a: ldloc.s V_5 + IL_005c: nop + IL_005d: ldc.i4.1 + IL_005e: sub + IL_005f: stloc.2 + IL_0060: ldloc.2 + IL_0061: ldloc.3 + IL_0062: blt.s IL_0090 + + IL_0064: call int32[] assembly::get_r() + IL_0069: ldloc.3 + IL_006a: call int32[] assembly::get_r() + IL_006f: ldloc.3 + IL_0070: ldelem [runtime]System.Int32 + IL_0075: call int32[] assembly::get_w() + IL_007a: ldloc.3 + IL_007b: ldelem [runtime]System.Int32 + IL_0080: add + IL_0081: stelem [runtime]System.Int32 + IL_0086: ldloc.3 + IL_0087: ldc.i4.1 + IL_0088: add + IL_0089: stloc.3 + IL_008a: ldloc.3 + IL_008b: ldloc.2 + IL_008c: ldc.i4.1 + IL_008d: add + IL_008e: bne.un.s IL_0064 + + IL_0090: ldloc.1 + IL_0091: ldc.i4.1 + IL_0092: add + IL_0093: stloc.1 + IL_0094: ldloc.1 + IL_0095: ldloc.0 + IL_0096: ldc.i4.1 + IL_0097: add + IL_0098: bne.un.s IL_003b + + IL_009a: nop + IL_009b: nop + IL_009c: call int32[] assembly::get_r() + IL_00a1: ldc.i4.0 + IL_00a2: ldelem [runtime]System.Int32 + IL_00a7: ldc.i4.s 11 + IL_00a9: bne.un.s IL_00af + + IL_00ab: ldc.i4.0 + IL_00ac: nop + IL_00ad: br.s IL_00b1 + + IL_00af: ldc.i4.1 + IL_00b0: nop + IL_00b1: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00b6: pop + IL_00b7: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl new file mode 100644 index 00000000000..2d1498a9e80 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl @@ -0,0 +1,234 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32[] r@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] w@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32[] get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::r@6 + IL_0005: ret + } + + .method public specialname static int32[] get_w() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] assembly::w@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + int32 V_2, + int32 V_3, + int32 V_4, + int32 V_5) + IL_0000: ldc.i4.8 + IL_0001: ldc.i4.1 + IL_0002: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0007: stsfld int32[] assembly::r@6 + IL_000c: ldc.i4.5 + IL_000d: ldc.i4.2 + IL_000e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0013: stsfld int32[] assembly::w@7 + IL_0018: ldc.i4.0 + IL_0019: stloc.1 + IL_001a: call int32[] assembly::get_r() + IL_001f: ldlen + IL_0020: conv.i4 + IL_0021: stloc.2 + IL_0022: call int32[] assembly::get_w() + IL_0027: ldlen + IL_0028: conv.i4 + IL_0029: stloc.3 + IL_002a: ldloc.2 + IL_002b: ldloc.3 + IL_002c: bge.s IL_0032 + + IL_002e: ldloc.2 + IL_002f: nop + IL_0030: br.s IL_0034 + + IL_0032: ldloc.3 + IL_0033: nop + IL_0034: ldc.i4.1 + IL_0035: sub + IL_0036: stloc.0 + IL_0037: ldloc.0 + IL_0038: ldloc.1 + IL_0039: blt.s IL_009a + + IL_003b: ldc.i4.0 + IL_003c: stloc.3 + IL_003d: call int32[] assembly::get_r() + IL_0042: ldlen + IL_0043: conv.i4 + IL_0044: stloc.s V_4 + IL_0046: call int32[] assembly::get_w() + IL_004b: ldlen + IL_004c: conv.i4 + IL_004d: stloc.s V_5 + IL_004f: ldloc.s V_4 + IL_0051: ldloc.s V_5 + IL_0053: bge.s IL_005a + + IL_0055: ldloc.s V_4 + IL_0057: nop + IL_0058: br.s IL_005d + + IL_005a: ldloc.s V_5 + IL_005c: nop + IL_005d: ldc.i4.1 + IL_005e: sub + IL_005f: stloc.2 + IL_0060: ldloc.2 + IL_0061: ldloc.3 + IL_0062: blt.s IL_0090 + + IL_0064: call int32[] assembly::get_r() + IL_0069: ldloc.3 + IL_006a: call int32[] assembly::get_r() + IL_006f: ldloc.3 + IL_0070: ldelem [runtime]System.Int32 + IL_0075: call int32[] assembly::get_w() + IL_007a: ldloc.3 + IL_007b: ldelem [runtime]System.Int32 + IL_0080: add + IL_0081: stelem [runtime]System.Int32 + IL_0086: ldloc.3 + IL_0087: ldc.i4.1 + IL_0088: add + IL_0089: stloc.3 + IL_008a: ldloc.3 + IL_008b: ldloc.2 + IL_008c: ldc.i4.1 + IL_008d: add + IL_008e: bne.un.s IL_0064 + + IL_0090: ldloc.1 + IL_0091: ldc.i4.1 + IL_0092: add + IL_0093: stloc.1 + IL_0094: ldloc.1 + IL_0095: ldloc.0 + IL_0096: ldc.i4.1 + IL_0097: add + IL_0098: bne.un.s IL_003b + + IL_009a: nop + IL_009b: nop + IL_009c: call int32[] assembly::get_r() + IL_00a1: ldc.i4.0 + IL_00a2: ldelem [runtime]System.Int32 + IL_00a7: ldc.i4.s 11 + IL_00a9: bne.un.s IL_00af + + IL_00ab: ldc.i4.0 + IL_00ac: nop + IL_00ad: br.s IL_00b1 + + IL_00af: ldc.i4.1 + IL_00b0: nop + IL_00b1: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_00b6: pop + IL_00b7: ret + } + + .property int32[] r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_r() + } + .property int32[] w() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_w() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs new file mode 100644 index 00000000000..68f256b2add --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs @@ -0,0 +1,7 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// +// Regression test for FSHARP1.0:4461 +module ZeroToArrLength01 +let f1(arr:int[]) = + for i = 0 to arr.Length - 1 do + arr.[i] <- i diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs.il.bsl new file mode 100644 index 00000000000..5152851ed95 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength01.fs.il.bsl @@ -0,0 +1,91 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void f1(int32[] arr) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: br.s IL_0010 + + IL_0004: ldarg.0 + IL_0005: ldloc.0 + IL_0006: ldloc.0 + IL_0007: stelem [runtime]System.Int32 + IL_000c: ldloc.0 + IL_000d: ldc.i4.1 + IL_000e: add + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldarg.0 + IL_0012: ldlen + IL_0013: conv.i4 + IL_0014: blt.s IL_0004 + + IL_0016: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs new file mode 100644 index 00000000000..96ec6ca9cad --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs @@ -0,0 +1,7 @@ +// #Regression #CodeGen #Optimizations #ControlFlow #NoMono #ReqNOMT +// +// Regression test for FSHARP1.0:4461 +module ZeroToArrLength02 +let f1(arr:int[]) = + for i = 0 to Array.length arr - 1 do + arr.[i] <- i diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs.il.bsl new file mode 100644 index 00000000000..e8c4e29f45d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/ZeroToArrLength02.fs.il.bsl @@ -0,0 +1,99 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void f1(int32[] arr) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldc.i4.0 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Length(!!0[]) + IL_0008: ldc.i4.1 + IL_0009: sub + IL_000a: stloc.0 + IL_000b: ldloc.0 + IL_000c: ldloc.1 + IL_000d: blt.s IL_0021 + + IL_000f: ldarg.0 + IL_0010: ldloc.1 + IL_0011: ldloc.1 + IL_0012: stelem [runtime]System.Int32 + IL_0017: ldloc.1 + IL_0018: ldc.i4.1 + IL_0019: add + IL_001a: stloc.1 + IL_001b: ldloc.1 + IL_001c: ldloc.0 + IL_001d: ldc.i4.1 + IL_001e: add + IL_001f: bne.un.s IL_000f + + IL_0021: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOff.fs.il.bsl similarity index 96% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOff.fs.il.bsl index 659bb67ed6d..8ff1796aaff 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOff.fs.il.bsl @@ -43,8 +43,7 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_squaresOfOneToTenD() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_squaresOfOneToTenD() cil managed { .maxstack 8 @@ -85,8 +84,8 @@ IL_0002: ldc.i4.1 IL_0003: ldc.i4.s 10 IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) + int32, + int32) IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() IL_000f: stloc.2 .try diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..446e373977c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs @@ -0,0 +1,4 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:5646 + +let squaresOfOneToTenD = [ for x in 0 .. 10 -> x * x ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl new file mode 100644 index 00000000000..4dc09edbd98 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl @@ -0,0 +1,158 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 squaresOfOneToTenD@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_squaresOfOneToTenD() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::squaresOfOneToTenD@4 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + int32 V_3, + class [runtime]System.IDisposable V_4) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.s 10 + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0024 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.3 + IL_0019: ldloca.s V_0 + IL_001b: ldloc.3 + IL_001c: ldloc.3 + IL_001d: mul + IL_001e: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0023: nop + IL_0024: ldloc.1 + IL_0025: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002a: brtrue.s IL_0012 + + IL_002c: ldnull + IL_002d: stloc.2 + IL_002e: leave.s IL_0045 + + } + finally + { + IL_0030: ldloc.1 + IL_0031: isinst [runtime]System.IDisposable + IL_0036: stloc.s V_4 + IL_0038: ldloc.s V_4 + IL_003a: brfalse.s IL_0044 + + IL_003c: ldloc.s V_4 + IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0043: endfinally + IL_0044: endfinally + } + IL_0045: ldloc.2 + IL_0046: pop + IL_0047: ldloca.s V_0 + IL_0049: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_004e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::squaresOfOneToTenD@4 + IL_0053: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + squaresOfOneToTenD() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_squaresOfOneToTenD() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs index b88d553fe4e..f4c9163dc51 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs @@ -35,7 +35,15 @@ module GeneratedIterators = |> verifyCompilation // SOURCE=GenIter04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GenIter04.exe" # GenIter04.fs - - [] - let ``GenIter04_fs`` compilation = + [] + let ``GenIter04_RealInternalSignatureOff_fs`` compilation = compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=GenIter04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GenIter04.exe" # GenIter04.fs - + [] + let ``GenIter04_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs index ea0d10857ff..7b6e87b556f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs @@ -17,9 +17,17 @@ module Inlining = |> verifyILBaseline // SOURCE=Match01.fs SCFLAGS="-a --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Match01.dll" # Match01.fs - [] - let ``Match01_fs`` compilation = + [] + let ``Match01_RealInternalSignatureOn_fs`` compilation = compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Match01.fs SCFLAGS="-a --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Match01.dll" # Match01.fs + [] + let ``Match01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff |> verifyCompilation // SOURCE=Match02.fs SCFLAGS="-a --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Match02.dll" # Match02.fs @@ -44,7 +52,9 @@ let found = data |> List.contains nan |> asExe |> compile (* This is the essential aspect of the IL we are interested in - doing a direct specialized 'ceq' on primitive values, and not going via a GenericEqualityIntrinsic call*) - |> verifyIL [""" + |> verifyIL +#if Release + [""" .method assembly static bool contains@1(!!a e, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 xs1) cil managed { @@ -85,4 +95,47 @@ let found = data |> List.contains nan IL_0030: starg.s e IL_0032: br.s IL_0000 }"""] +#else + [""" + .method assembly static bool contains@1(!!a e, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 xs1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + float64 V_2) + IL_0000: ldarg.1 + IL_0001: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0006: brfalse.s IL_000a + + IL_0008: br.s IL_000c + + IL_000a: ldc.i4.0 + IL_000b: ret + + IL_000c: ldarg.1 + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0014: stloc.1 + IL_0015: ldloc.0 + IL_0016: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_001b: stloc.2 + IL_001c: call float64 [FSharp.Core]Microsoft.FSharp.Core.Operators::get_NaN() + IL_0021: ldloc.2 + IL_0022: ceq + IL_0024: brfalse.s IL_0028 + + IL_0026: ldc.i4.1 + IL_0027: ret + + IL_0028: ldarg.0 + IL_0029: ldloc.1 + IL_002a: starg.s xs1 + IL_002c: starg.s e + IL_002e: br.s IL_0000 + }"""] +#endif diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.net472.debug.bsl similarity index 78% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.net472.debug.bsl index c0c77ecf960..5e771165fc5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.net472.debug.bsl @@ -39,15 +39,15 @@ -.class public abstract auto ansi sealed assembly +.class public abstract auto ansi sealed Match01 extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class abstract auto autochar serializable nested public beforefieldinit Test1 extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, + implements class [runtime]System.IEquatable`1, [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, + class [runtime]System.IComparable`1, [runtime]System.IComparable, [runtime]System.Collections.IStructuralComparable { @@ -64,7 +64,7 @@ } .class auto ansi serializable nested public beforefieldinit specialname X11 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 @@ -75,8 +75,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -87,22 +86,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.0 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X11::item + IL_0009: stfld int32 Match01/Test1/X11::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld int32 Match01/Test1/X11::item IL_0006: ret } @@ -113,12 +111,12 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11::get_Item() + .get instance int32 Match01/Test1/X11::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X12 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 @@ -129,8 +127,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -141,22 +138,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.1 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X12::item + IL_0009: stfld int32 Match01/Test1/X12::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld int32 Match01/Test1/X12::item IL_0006: ret } @@ -167,12 +163,12 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12::get_Item() + .get instance int32 Match01/Test1/X12::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X13 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 @@ -183,8 +179,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -195,22 +190,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.2 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X13::item + IL_0009: stfld int32 Match01/Test1/X13::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld int32 Match01/Test1/X13::item IL_0006: ret } @@ -221,12 +215,12 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13::get_Item() + .get instance int32 Match01/Test1/X13::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X14 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 @@ -237,8 +231,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -249,22 +242,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.3 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X14::item + IL_0009: stfld int32 Match01/Test1/X14::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld int32 Match01/Test1/X14::item IL_0006: ret } @@ -275,19 +267,18 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14::get_Item() + .get instance int32 Match01/Test1/X14::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X11 _obj + .field assembly class Match01/Test1/X11 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X11 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -300,20 +291,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item IL_000b: ret } @@ -324,19 +314,18 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X12 _obj + .field assembly class Match01/Test1/X12 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X12 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -349,20 +338,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item IL_000b: ret } @@ -373,19 +361,18 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X13 _obj + .field assembly class Match01/Test1/X13 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X13 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -398,20 +385,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item IL_000b: ret } @@ -422,19 +408,18 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X14 _obj + .field assembly class Match01/Test1/X14 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X14 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -447,20 +432,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item IL_000b: ret } @@ -471,7 +455,7 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() } } @@ -479,8 +463,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 _tag) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -493,157 +476,145 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/Test1::_tag + IL_0008: stfld int32 Match01/Test1::_tag IL_000d: ret } - .method public static class assembly/Test1 - NewX11(int32 item) cil managed + .method public static class Match01/Test1 NewX11(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X11::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX11() cil managed + .method public hidebysig instance bool get_IsX11() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX12(int32 item) cil managed + .method public static class Match01/Test1 NewX12(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X12::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX12() cil managed + .method public hidebysig instance bool get_IsX12() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.1 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX13(int32 item) cil managed + .method public static class Match01/Test1 NewX13(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X13::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX13() cil managed + .method public hidebysig instance bool get_IsX13() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.2 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX14(int32 item) cil managed + .method public static class Match01/Test1 NewX14(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X14::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX14() cil managed + .method public hidebysig instance bool get_IsX14() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.3 IL_0007: ceq IL_0009: ret } - .method public hidebysig instance int32 - get_Tag() cil managed + .method public hidebysig instance int32 get_Tag() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: ret } - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public strict virtual instance string - ToString() cil managed + .method public strict virtual instance string ToString() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/Test1>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -657,8 +628,8 @@ IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: ldnull - IL_0009: call int32 assembly::CompareTo$cont@4(class assembly/Test1, - class assembly/Test1, + IL_0009: call int32 Match01::CompareTo$cont@4(class Match01/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_000e: ret @@ -675,16 +646,15 @@ IL_0017: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: unbox.any assembly/Test1 - IL_0007: callvirt instance int32 assembly/Test1::CompareTo(class assembly/Test1) + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) IL_000c: ret } @@ -695,22 +665,22 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 5 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: unbox.any assembly/Test1 + IL_0001: unbox.any Match01/Test1 IL_0006: stloc.0 IL_0007: ldarg.0 IL_0008: brfalse.s IL_001d IL_000a: ldarg.1 - IL_000b: unbox.any assembly/Test1 + IL_000b: unbox.any Match01/Test1 IL_0010: brfalse.s IL_001b IL_0012: ldarg.0 IL_0013: ldloc.0 IL_0014: ldnull - IL_0015: call int32 assembly::'CompareTo$cont@4-1'(class assembly/Test1, - class assembly/Test1, + IL_0015: call int32 Match01::'CompareTo$cont@4-1'(class Match01/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_001a: ret @@ -718,7 +688,7 @@ IL_001c: ret IL_001d: ldarg.1 - IL_001e: unbox.any assembly/Test1 + IL_001e: unbox.any Match01/Test1 IL_0023: brfalse.s IL_0027 IL_0025: ldc.i4.m1 @@ -728,37 +698,36 @@ IL_0028: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 7 .locals init (int32 V_0, - class assembly/Test1/X11 V_1, - class assembly/Test1/X12 V_2, - class assembly/Test1/X13 V_3, - class assembly/Test1/X14 V_4) + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) IL_0000: ldarg.0 IL_0001: brfalse IL_00a5 IL_0006: ldc.i4.0 IL_0007: stloc.0 IL_0008: ldarg.0 - IL_0009: call instance int32 assembly/Test1::get_Tag() + IL_0009: call instance int32 Match01/Test1::get_Tag() IL_000e: switch ( IL_0023, IL_0043, IL_0063, IL_0083) IL_0023: ldarg.0 - IL_0024: castclass assembly/Test1/X11 + IL_0024: castclass Match01/Test1/X11 IL_0029: stloc.1 IL_002a: ldc.i4.0 IL_002b: stloc.0 IL_002c: ldc.i4 0x9e3779b9 IL_0031: ldloc.1 - IL_0032: ldfld int32 assembly/Test1/X11::item + IL_0032: ldfld int32 Match01/Test1/X11::item IL_0037: ldloc.0 IL_0038: ldc.i4.6 IL_0039: shl @@ -773,13 +742,13 @@ IL_0042: ret IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X12 + IL_0044: castclass Match01/Test1/X12 IL_0049: stloc.2 IL_004a: ldc.i4.1 IL_004b: stloc.0 IL_004c: ldc.i4 0x9e3779b9 IL_0051: ldloc.2 - IL_0052: ldfld int32 assembly/Test1/X12::item + IL_0052: ldfld int32 Match01/Test1/X12::item IL_0057: ldloc.0 IL_0058: ldc.i4.6 IL_0059: shl @@ -794,13 +763,13 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X13 + IL_0064: castclass Match01/Test1/X13 IL_0069: stloc.3 IL_006a: ldc.i4.2 IL_006b: stloc.0 IL_006c: ldc.i4 0x9e3779b9 IL_0071: ldloc.3 - IL_0072: ldfld int32 assembly/Test1/X13::item + IL_0072: ldfld int32 Match01/Test1/X13::item IL_0077: ldloc.0 IL_0078: ldc.i4.6 IL_0079: shl @@ -815,13 +784,13 @@ IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X14 + IL_0084: castclass Match01/Test1/X14 IL_0089: stloc.s V_4 IL_008b: ldc.i4.3 IL_008c: stloc.0 IL_008d: ldc.i4 0x9e3779b9 IL_0092: ldloc.s V_4 - IL_0094: ldfld int32 assembly/Test1/X14::item + IL_0094: ldfld int32 Match01/Test1/X14::item IL_0099: ldloc.0 IL_009a: ldc.i4.6 IL_009b: shl @@ -839,15 +808,14 @@ IL_00a6: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) IL_000b: ret } @@ -858,92 +826,92 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0, + .locals init (class Match01/Test1 V_0, int32 V_1, int32 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X11 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X14 V_9, - class assembly/Test1/X14 V_10) + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) IL_0000: ldarg.0 IL_0001: brfalse IL_00c9 IL_0006: ldarg.1 - IL_0007: isinst assembly/Test1 + IL_0007: isinst Match01/Test1 IL_000c: stloc.0 IL_000d: ldloc.0 IL_000e: brfalse IL_00c7 IL_0013: ldarg.0 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 - IL_001b: ldfld int32 assembly/Test1::_tag + IL_001b: ldfld int32 Match01/Test1::_tag IL_0020: stloc.2 IL_0021: ldloc.1 IL_0022: ldloc.2 IL_0023: bne.un IL_00c5 IL_0028: ldarg.0 - IL_0029: call instance int32 assembly/Test1::get_Tag() + IL_0029: call instance int32 Match01/Test1::get_Tag() IL_002e: switch ( IL_0043, IL_0062, IL_0083, IL_00a4) IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.0 - IL_004b: castclass assembly/Test1/X11 + IL_004b: castclass Match01/Test1/X11 IL_0050: stloc.s V_4 IL_0052: ldloc.3 - IL_0053: ldfld int32 assembly/Test1/X11::item + IL_0053: ldfld int32 Match01/Test1/X11::item IL_0058: ldloc.s V_4 - IL_005a: ldfld int32 assembly/Test1/X11::item + IL_005a: ldfld int32 Match01/Test1/X11::item IL_005f: ceq IL_0061: ret IL_0062: ldarg.0 - IL_0063: castclass assembly/Test1/X12 + IL_0063: castclass Match01/Test1/X12 IL_0068: stloc.s V_5 IL_006a: ldloc.0 - IL_006b: castclass assembly/Test1/X12 + IL_006b: castclass Match01/Test1/X12 IL_0070: stloc.s V_6 IL_0072: ldloc.s V_5 - IL_0074: ldfld int32 assembly/Test1/X12::item + IL_0074: ldfld int32 Match01/Test1/X12::item IL_0079: ldloc.s V_6 - IL_007b: ldfld int32 assembly/Test1/X12::item + IL_007b: ldfld int32 Match01/Test1/X12::item IL_0080: ceq IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X13 + IL_0084: castclass Match01/Test1/X13 IL_0089: stloc.s V_7 IL_008b: ldloc.0 - IL_008c: castclass assembly/Test1/X13 + IL_008c: castclass Match01/Test1/X13 IL_0091: stloc.s V_8 IL_0093: ldloc.s V_7 - IL_0095: ldfld int32 assembly/Test1/X13::item + IL_0095: ldfld int32 Match01/Test1/X13::item IL_009a: ldloc.s V_8 - IL_009c: ldfld int32 assembly/Test1/X13::item + IL_009c: ldfld int32 Match01/Test1/X13::item IL_00a1: ceq IL_00a3: ret IL_00a4: ldarg.0 - IL_00a5: castclass assembly/Test1/X14 + IL_00a5: castclass Match01/Test1/X14 IL_00aa: stloc.s V_9 IL_00ac: ldloc.0 - IL_00ad: castclass assembly/Test1/X14 + IL_00ad: castclass Match01/Test1/X14 IL_00b2: stloc.s V_10 IL_00b4: ldloc.s V_9 - IL_00b6: ldfld int32 assembly/Test1/X14::item + IL_00b6: ldfld int32 Match01/Test1/X14::item IL_00bb: ldloc.s V_10 - IL_00bd: ldfld int32 assembly/Test1/X14::item + IL_00bd: ldfld int32 Match01/Test1/X14::item IL_00c2: ceq IL_00c4: ret @@ -961,22 +929,21 @@ IL_00d0: ret } - .method public hidebysig virtual final - instance bool Equals(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X12 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X13 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X14 V_8, - class assembly/Test1/X14 V_9) + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) IL_0000: ldarg.0 IL_0001: brfalse IL_00c0 @@ -984,71 +951,71 @@ IL_0007: brfalse IL_00be IL_000c: ldarg.0 - IL_000d: ldfld int32 assembly/Test1::_tag + IL_000d: ldfld int32 Match01/Test1::_tag IL_0012: stloc.0 IL_0013: ldarg.1 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 IL_001b: ldloc.1 IL_001c: bne.un IL_00bc IL_0021: ldarg.0 - IL_0022: call instance int32 assembly/Test1::get_Tag() + IL_0022: call instance int32 Match01/Test1::get_Tag() IL_0027: switch ( IL_003c, IL_0059, IL_007a, IL_009b) IL_003c: ldarg.0 - IL_003d: castclass assembly/Test1/X11 + IL_003d: castclass Match01/Test1/X11 IL_0042: stloc.2 IL_0043: ldarg.1 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.2 - IL_004b: ldfld int32 assembly/Test1/X11::item + IL_004b: ldfld int32 Match01/Test1/X11::item IL_0050: ldloc.3 - IL_0051: ldfld int32 assembly/Test1/X11::item + IL_0051: ldfld int32 Match01/Test1/X11::item IL_0056: ceq IL_0058: ret IL_0059: ldarg.0 - IL_005a: castclass assembly/Test1/X12 + IL_005a: castclass Match01/Test1/X12 IL_005f: stloc.s V_4 IL_0061: ldarg.1 - IL_0062: castclass assembly/Test1/X12 + IL_0062: castclass Match01/Test1/X12 IL_0067: stloc.s V_5 IL_0069: ldloc.s V_4 - IL_006b: ldfld int32 assembly/Test1/X12::item + IL_006b: ldfld int32 Match01/Test1/X12::item IL_0070: ldloc.s V_5 - IL_0072: ldfld int32 assembly/Test1/X12::item + IL_0072: ldfld int32 Match01/Test1/X12::item IL_0077: ceq IL_0079: ret IL_007a: ldarg.0 - IL_007b: castclass assembly/Test1/X13 + IL_007b: castclass Match01/Test1/X13 IL_0080: stloc.s V_6 IL_0082: ldarg.1 - IL_0083: castclass assembly/Test1/X13 + IL_0083: castclass Match01/Test1/X13 IL_0088: stloc.s V_7 IL_008a: ldloc.s V_6 - IL_008c: ldfld int32 assembly/Test1/X13::item + IL_008c: ldfld int32 Match01/Test1/X13::item IL_0091: ldloc.s V_7 - IL_0093: ldfld int32 assembly/Test1/X13::item + IL_0093: ldfld int32 Match01/Test1/X13::item IL_0098: ceq IL_009a: ret IL_009b: ldarg.0 - IL_009c: castclass assembly/Test1/X14 + IL_009c: castclass Match01/Test1/X14 IL_00a1: stloc.s V_8 IL_00a3: ldarg.1 - IL_00a4: castclass assembly/Test1/X14 + IL_00a4: castclass Match01/Test1/X14 IL_00a9: stloc.s V_9 IL_00ab: ldloc.s V_8 - IL_00ad: ldfld int32 assembly/Test1/X14::item + IL_00ad: ldfld int32 Match01/Test1/X14::item IL_00b2: ldloc.s V_9 - IL_00b4: ldfld int32 assembly/Test1/X14::item + IL_00b4: ldfld int32 Match01/Test1/X14::item IL_00b9: ceq IL_00bb: ret @@ -1066,22 +1033,21 @@ IL_00c7: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: isinst assembly/Test1 + IL_0001: isinst Match01/Test1 IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/Test1::Equals(class assembly/Test1) + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) IL_0011: ret IL_0012: ldc.i4.0 @@ -1093,40 +1059,40 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/Test1::get_Tag() + .get instance int32 Match01/Test1::get_Tag() } .property instance bool IsX11() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX11() + .get instance bool Match01/Test1::get_IsX11() } .property instance bool IsX12() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX12() + .get instance bool Match01/Test1::get_IsX12() } .property instance bool IsX13() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX13() + .get instance bool Match01/Test1::get_IsX13() } .property instance bool IsX14() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX14() + .get instance bool Match01/Test1::get_IsX14() } } - .method assembly static int32 CompareTo$cont@4(class assembly/Test1 this, - class assembly/Test1 obj, + .method assembly static int32 CompareTo$cont@4(class Match01/Test1 this, + class Match01/Test1 obj, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1134,47 +1100,47 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, class [runtime]System.Collections.IComparer V_4, int32 V_5, int32 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X12 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X13 V_10, - class assembly/Test1/X14 V_11, - class assembly/Test1/X14 V_12) + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: stloc.0 IL_0007: ldarg.1 - IL_0008: ldfld int32 assembly/Test1::_tag + IL_0008: ldfld int32 Match01/Test1::_tag IL_000d: stloc.1 IL_000e: ldloc.0 IL_000f: ldloc.1 IL_0010: bne.un IL_0108 IL_0015: ldarg.0 - IL_0016: call instance int32 assembly/Test1::get_Tag() + IL_0016: call instance int32 Match01/Test1::get_Tag() IL_001b: switch ( IL_0030, IL_0063, IL_009a, IL_00d1) IL_0030: ldarg.0 - IL_0031: castclass assembly/Test1/X11 + IL_0031: castclass Match01/Test1/X11 IL_0036: stloc.2 IL_0037: ldarg.1 - IL_0038: castclass assembly/Test1/X11 + IL_0038: castclass Match01/Test1/X11 IL_003d: stloc.3 IL_003e: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0043: stloc.s V_4 IL_0045: ldloc.2 - IL_0046: ldfld int32 assembly/Test1/X11::item + IL_0046: ldfld int32 Match01/Test1/X11::item IL_004b: stloc.s V_5 IL_004d: ldloc.3 - IL_004e: ldfld int32 assembly/Test1/X11::item + IL_004e: ldfld int32 Match01/Test1/X11::item IL_0053: stloc.s V_6 IL_0055: ldloc.s V_5 IL_0057: ldloc.s V_6 @@ -1186,18 +1152,18 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X12 + IL_0064: castclass Match01/Test1/X12 IL_0069: stloc.s V_7 IL_006b: ldarg.1 - IL_006c: castclass assembly/Test1/X12 + IL_006c: castclass Match01/Test1/X12 IL_0071: stloc.s V_8 IL_0073: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0078: stloc.s V_4 IL_007a: ldloc.s V_7 - IL_007c: ldfld int32 assembly/Test1/X12::item + IL_007c: ldfld int32 Match01/Test1/X12::item IL_0081: stloc.s V_5 IL_0083: ldloc.s V_8 - IL_0085: ldfld int32 assembly/Test1/X12::item + IL_0085: ldfld int32 Match01/Test1/X12::item IL_008a: stloc.s V_6 IL_008c: ldloc.s V_5 IL_008e: ldloc.s V_6 @@ -1209,18 +1175,18 @@ IL_0099: ret IL_009a: ldarg.0 - IL_009b: castclass assembly/Test1/X13 + IL_009b: castclass Match01/Test1/X13 IL_00a0: stloc.s V_9 IL_00a2: ldarg.1 - IL_00a3: castclass assembly/Test1/X13 + IL_00a3: castclass Match01/Test1/X13 IL_00a8: stloc.s V_10 IL_00aa: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00af: stloc.s V_4 IL_00b1: ldloc.s V_9 - IL_00b3: ldfld int32 assembly/Test1/X13::item + IL_00b3: ldfld int32 Match01/Test1/X13::item IL_00b8: stloc.s V_5 IL_00ba: ldloc.s V_10 - IL_00bc: ldfld int32 assembly/Test1/X13::item + IL_00bc: ldfld int32 Match01/Test1/X13::item IL_00c1: stloc.s V_6 IL_00c3: ldloc.s V_5 IL_00c5: ldloc.s V_6 @@ -1232,18 +1198,18 @@ IL_00d0: ret IL_00d1: ldarg.0 - IL_00d2: castclass assembly/Test1/X14 + IL_00d2: castclass Match01/Test1/X14 IL_00d7: stloc.s V_11 IL_00d9: ldarg.1 - IL_00da: castclass assembly/Test1/X14 + IL_00da: castclass Match01/Test1/X14 IL_00df: stloc.s V_12 IL_00e1: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00e6: stloc.s V_4 IL_00e8: ldloc.s V_11 - IL_00ea: ldfld int32 assembly/Test1/X14::item + IL_00ea: ldfld int32 Match01/Test1/X14::item IL_00ef: stloc.s V_5 IL_00f1: ldloc.s V_12 - IL_00f3: ldfld int32 assembly/Test1/X14::item + IL_00f3: ldfld int32 Match01/Test1/X14::item IL_00f8: stloc.s V_6 IL_00fa: ldloc.s V_5 IL_00fc: ldloc.s V_6 @@ -1260,8 +1226,8 @@ IL_010b: ret } - .method assembly static int32 'CompareTo$cont@4-1'(class assembly/Test1 this, - class assembly/Test1 objTemp, + .method assembly static int32 'CompareTo$cont@4-1'(class Match01/Test1 this, + class Match01/Test1 objTemp, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1269,44 +1235,44 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, int32 V_4, int32 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X14 V_10, - class assembly/Test1/X14 V_11) + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: stloc.0 IL_0007: ldarg.1 - IL_0008: ldfld int32 assembly/Test1::_tag + IL_0008: ldfld int32 Match01/Test1::_tag IL_000d: stloc.1 IL_000e: ldloc.0 IL_000f: ldloc.1 IL_0010: bne.un IL_00ec IL_0015: ldarg.0 - IL_0016: call instance int32 assembly/Test1::get_Tag() + IL_0016: call instance int32 Match01/Test1::get_Tag() IL_001b: switch ( IL_0030, IL_005c, IL_008c, IL_00bc) IL_0030: ldarg.0 - IL_0031: castclass assembly/Test1/X11 + IL_0031: castclass Match01/Test1/X11 IL_0036: stloc.2 IL_0037: ldarg.1 - IL_0038: castclass assembly/Test1/X11 + IL_0038: castclass Match01/Test1/X11 IL_003d: stloc.3 IL_003e: ldloc.2 - IL_003f: ldfld int32 assembly/Test1/X11::item + IL_003f: ldfld int32 Match01/Test1/X11::item IL_0044: stloc.s V_4 IL_0046: ldloc.3 - IL_0047: ldfld int32 assembly/Test1/X11::item + IL_0047: ldfld int32 Match01/Test1/X11::item IL_004c: stloc.s V_5 IL_004e: ldloc.s V_4 IL_0050: ldloc.s V_5 @@ -1318,16 +1284,16 @@ IL_005b: ret IL_005c: ldarg.0 - IL_005d: castclass assembly/Test1/X12 + IL_005d: castclass Match01/Test1/X12 IL_0062: stloc.s V_6 IL_0064: ldarg.1 - IL_0065: castclass assembly/Test1/X12 + IL_0065: castclass Match01/Test1/X12 IL_006a: stloc.s V_7 IL_006c: ldloc.s V_6 - IL_006e: ldfld int32 assembly/Test1/X12::item + IL_006e: ldfld int32 Match01/Test1/X12::item IL_0073: stloc.s V_4 IL_0075: ldloc.s V_7 - IL_0077: ldfld int32 assembly/Test1/X12::item + IL_0077: ldfld int32 Match01/Test1/X12::item IL_007c: stloc.s V_5 IL_007e: ldloc.s V_4 IL_0080: ldloc.s V_5 @@ -1339,16 +1305,16 @@ IL_008b: ret IL_008c: ldarg.0 - IL_008d: castclass assembly/Test1/X13 + IL_008d: castclass Match01/Test1/X13 IL_0092: stloc.s V_8 IL_0094: ldarg.1 - IL_0095: castclass assembly/Test1/X13 + IL_0095: castclass Match01/Test1/X13 IL_009a: stloc.s V_9 IL_009c: ldloc.s V_8 - IL_009e: ldfld int32 assembly/Test1/X13::item + IL_009e: ldfld int32 Match01/Test1/X13::item IL_00a3: stloc.s V_4 IL_00a5: ldloc.s V_9 - IL_00a7: ldfld int32 assembly/Test1/X13::item + IL_00a7: ldfld int32 Match01/Test1/X13::item IL_00ac: stloc.s V_5 IL_00ae: ldloc.s V_4 IL_00b0: ldloc.s V_5 @@ -1360,16 +1326,16 @@ IL_00bb: ret IL_00bc: ldarg.0 - IL_00bd: castclass assembly/Test1/X14 + IL_00bd: castclass Match01/Test1/X14 IL_00c2: stloc.s V_10 IL_00c4: ldarg.1 - IL_00c5: castclass assembly/Test1/X14 + IL_00c5: castclass Match01/Test1/X14 IL_00ca: stloc.s V_11 IL_00cc: ldloc.s V_10 - IL_00ce: ldfld int32 assembly/Test1/X14::item + IL_00ce: ldfld int32 Match01/Test1/X14::item IL_00d3: stloc.s V_4 IL_00d5: ldloc.s V_11 - IL_00d7: ldfld int32 assembly/Test1/X14::item + IL_00d7: ldfld int32 Match01/Test1/X14::item IL_00dc: stloc.s V_5 IL_00de: ldloc.s V_4 IL_00e0: ldloc.s V_5 @@ -1386,21 +1352,21 @@ IL_00ef: ret } - .method public static int32 select1(class assembly/Test1 x) cil managed + .method public static int32 select1(class Match01/Test1 x) cil managed { .maxstack 8 IL_0000: nop IL_0001: ldarg.0 - IL_0002: call instance int32 assembly/Test1::get_Tag() + IL_0002: call instance int32 Match01/Test1::get_Tag() IL_0007: switch ( IL_001c, IL_0028, IL_002a, IL_002c) IL_001c: ldarg.0 - IL_001d: castclass assembly/Test1/X11 - IL_0022: ldfld int32 assembly/Test1/X11::item + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item IL_0027: ret IL_0028: ldc.i4.2 @@ -1413,18 +1379,18 @@ IL_002d: ret } - .method public static int32 fm(class assembly/Test1 y) cil managed + .method public static int32 fm(class Match01/Test1 y) cil managed { .maxstack 8 IL_0000: ldarg.0 - IL_0001: call int32 assembly::select1(class assembly/Test1) + IL_0001: call int32 Match01::select1(class Match01/Test1) IL_0006: ret } } -.class private abstract auto ansi sealed ''.$assembly +.class private abstract auto ansi sealed ''.$Match01 extends [runtime]System.Object { .method public static void main@() cil managed @@ -1491,8 +1457,7 @@ IL_0014: ret } - .method public hidebysig specialname instance class [runtime]System.Type - get_Type() cil managed + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -1503,8 +1468,7 @@ IL_0006: ret } - .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - get_MemberType() cil managed + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.net472.release.bsl similarity index 78% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.net472.release.bsl index 9b90e1ab7d1..f1f842db266 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.net472.release.bsl @@ -39,15 +39,15 @@ -.class public abstract auto ansi sealed assembly +.class public abstract auto ansi sealed Match01 extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class abstract auto autochar serializable nested public beforefieldinit Test1 extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, + implements class [runtime]System.IEquatable`1, [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, + class [runtime]System.IComparable`1, [runtime]System.IComparable, [runtime]System.Collections.IStructuralComparable { @@ -64,7 +64,7 @@ } .class auto ansi serializable nested public beforefieldinit specialname X11 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 @@ -75,8 +75,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -87,22 +86,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.0 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X11::item + IL_0009: stfld int32 Match01/Test1/X11::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld int32 Match01/Test1/X11::item IL_0006: ret } @@ -113,12 +111,12 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11::get_Item() + .get instance int32 Match01/Test1/X11::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X12 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 @@ -129,8 +127,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -141,22 +138,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.1 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X12::item + IL_0009: stfld int32 Match01/Test1/X12::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld int32 Match01/Test1/X12::item IL_0006: ret } @@ -167,12 +163,12 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12::get_Item() + .get instance int32 Match01/Test1/X12::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X13 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 @@ -183,8 +179,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -195,22 +190,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.2 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X13::item + IL_0009: stfld int32 Match01/Test1/X13::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld int32 Match01/Test1/X13::item IL_0006: ret } @@ -221,12 +215,12 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13::get_Item() + .get instance int32 Match01/Test1/X13::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X14 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 @@ -237,8 +231,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -249,22 +242,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.3 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X14::item + IL_0009: stfld int32 Match01/Test1/X14::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld int32 Match01/Test1/X14::item IL_0006: ret } @@ -275,19 +267,18 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14::get_Item() + .get instance int32 Match01/Test1/X14::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X11 _obj + .field assembly class Match01/Test1/X11 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X11 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -300,20 +291,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item IL_000b: ret } @@ -324,19 +314,18 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X12 _obj + .field assembly class Match01/Test1/X12 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X12 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -349,20 +338,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item IL_000b: ret } @@ -373,19 +361,18 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X13 _obj + .field assembly class Match01/Test1/X13 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X13 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -398,20 +385,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item IL_000b: ret } @@ -422,19 +408,18 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X14 _obj + .field assembly class Match01/Test1/X14 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X14 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -447,20 +432,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item IL_000b: ret } @@ -471,7 +455,7 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() } } @@ -479,8 +463,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 _tag) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -493,157 +476,145 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/Test1::_tag + IL_0008: stfld int32 Match01/Test1::_tag IL_000d: ret } - .method public static class assembly/Test1 - NewX11(int32 item) cil managed + .method public static class Match01/Test1 NewX11(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X11::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX11() cil managed + .method public hidebysig instance bool get_IsX11() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX12(int32 item) cil managed + .method public static class Match01/Test1 NewX12(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X12::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX12() cil managed + .method public hidebysig instance bool get_IsX12() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.1 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX13(int32 item) cil managed + .method public static class Match01/Test1 NewX13(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X13::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX13() cil managed + .method public hidebysig instance bool get_IsX13() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.2 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX14(int32 item) cil managed + .method public static class Match01/Test1 NewX14(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X14::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX14() cil managed + .method public hidebysig instance bool get_IsX14() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.3 IL_0007: ceq IL_0009: ret } - .method public hidebysig instance int32 - get_Tag() cil managed + .method public hidebysig instance int32 get_Tag() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: ret } - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public strict virtual instance string - ToString() cil managed + .method public strict virtual instance string ToString() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/Test1>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -657,8 +628,8 @@ IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: ldnull - IL_0009: call int32 assembly::CompareTo$cont@4(class assembly/Test1, - class assembly/Test1, + IL_0009: call int32 Match01::CompareTo$cont@4(class Match01/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_000e: ret @@ -675,16 +646,15 @@ IL_0017: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: unbox.any assembly/Test1 - IL_0007: callvirt instance int32 assembly/Test1::CompareTo(class assembly/Test1) + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) IL_000c: ret } @@ -695,9 +665,9 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 6 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: unbox.any assembly/Test1 + IL_0001: unbox.any Match01/Test1 IL_0006: stloc.0 IL_0007: ldarg.0 IL_0008: brfalse.s IL_0014 @@ -706,14 +676,14 @@ IL_000b: ldarg.1 IL_000c: ldloc.0 IL_000d: ldnull - IL_000e: call int32 assembly::'CompareTo$cont@4-1'(class assembly/Test1, + IL_000e: call int32 Match01::'CompareTo$cont@4-1'(class Match01/Test1, object, - class assembly/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_0013: ret IL_0014: ldarg.1 - IL_0015: unbox.any assembly/Test1 + IL_0015: unbox.any Match01/Test1 IL_001a: brfalse.s IL_001e IL_001c: ldc.i4.m1 @@ -723,37 +693,36 @@ IL_001f: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 7 .locals init (int32 V_0, - class assembly/Test1/X11 V_1, - class assembly/Test1/X12 V_2, - class assembly/Test1/X13 V_3, - class assembly/Test1/X14 V_4) + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) IL_0000: ldarg.0 IL_0001: brfalse IL_00a5 IL_0006: ldc.i4.0 IL_0007: stloc.0 IL_0008: ldarg.0 - IL_0009: call instance int32 assembly/Test1::get_Tag() + IL_0009: call instance int32 Match01/Test1::get_Tag() IL_000e: switch ( IL_0023, IL_0043, IL_0063, IL_0083) IL_0023: ldarg.0 - IL_0024: castclass assembly/Test1/X11 + IL_0024: castclass Match01/Test1/X11 IL_0029: stloc.1 IL_002a: ldc.i4.0 IL_002b: stloc.0 IL_002c: ldc.i4 0x9e3779b9 IL_0031: ldloc.1 - IL_0032: ldfld int32 assembly/Test1/X11::item + IL_0032: ldfld int32 Match01/Test1/X11::item IL_0037: ldloc.0 IL_0038: ldc.i4.6 IL_0039: shl @@ -768,13 +737,13 @@ IL_0042: ret IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X12 + IL_0044: castclass Match01/Test1/X12 IL_0049: stloc.2 IL_004a: ldc.i4.1 IL_004b: stloc.0 IL_004c: ldc.i4 0x9e3779b9 IL_0051: ldloc.2 - IL_0052: ldfld int32 assembly/Test1/X12::item + IL_0052: ldfld int32 Match01/Test1/X12::item IL_0057: ldloc.0 IL_0058: ldc.i4.6 IL_0059: shl @@ -789,13 +758,13 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X13 + IL_0064: castclass Match01/Test1/X13 IL_0069: stloc.3 IL_006a: ldc.i4.2 IL_006b: stloc.0 IL_006c: ldc.i4 0x9e3779b9 IL_0071: ldloc.3 - IL_0072: ldfld int32 assembly/Test1/X13::item + IL_0072: ldfld int32 Match01/Test1/X13::item IL_0077: ldloc.0 IL_0078: ldc.i4.6 IL_0079: shl @@ -810,13 +779,13 @@ IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X14 + IL_0084: castclass Match01/Test1/X14 IL_0089: stloc.s V_4 IL_008b: ldc.i4.3 IL_008c: stloc.0 IL_008d: ldc.i4 0x9e3779b9 IL_0092: ldloc.s V_4 - IL_0094: ldfld int32 assembly/Test1/X14::item + IL_0094: ldfld int32 Match01/Test1/X14::item IL_0099: ldloc.0 IL_009a: ldc.i4.6 IL_009b: shl @@ -834,15 +803,14 @@ IL_00a6: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) IL_000b: ret } @@ -853,92 +821,92 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0, + .locals init (class Match01/Test1 V_0, int32 V_1, int32 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X11 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X14 V_9, - class assembly/Test1/X14 V_10) + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) IL_0000: ldarg.0 IL_0001: brfalse IL_00c9 IL_0006: ldarg.1 - IL_0007: isinst assembly/Test1 + IL_0007: isinst Match01/Test1 IL_000c: stloc.0 IL_000d: ldloc.0 IL_000e: brfalse IL_00c7 IL_0013: ldarg.0 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 - IL_001b: ldfld int32 assembly/Test1::_tag + IL_001b: ldfld int32 Match01/Test1::_tag IL_0020: stloc.2 IL_0021: ldloc.1 IL_0022: ldloc.2 IL_0023: bne.un IL_00c5 IL_0028: ldarg.0 - IL_0029: call instance int32 assembly/Test1::get_Tag() + IL_0029: call instance int32 Match01/Test1::get_Tag() IL_002e: switch ( IL_0043, IL_0062, IL_0083, IL_00a4) IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.0 - IL_004b: castclass assembly/Test1/X11 + IL_004b: castclass Match01/Test1/X11 IL_0050: stloc.s V_4 IL_0052: ldloc.3 - IL_0053: ldfld int32 assembly/Test1/X11::item + IL_0053: ldfld int32 Match01/Test1/X11::item IL_0058: ldloc.s V_4 - IL_005a: ldfld int32 assembly/Test1/X11::item + IL_005a: ldfld int32 Match01/Test1/X11::item IL_005f: ceq IL_0061: ret IL_0062: ldarg.0 - IL_0063: castclass assembly/Test1/X12 + IL_0063: castclass Match01/Test1/X12 IL_0068: stloc.s V_5 IL_006a: ldloc.0 - IL_006b: castclass assembly/Test1/X12 + IL_006b: castclass Match01/Test1/X12 IL_0070: stloc.s V_6 IL_0072: ldloc.s V_5 - IL_0074: ldfld int32 assembly/Test1/X12::item + IL_0074: ldfld int32 Match01/Test1/X12::item IL_0079: ldloc.s V_6 - IL_007b: ldfld int32 assembly/Test1/X12::item + IL_007b: ldfld int32 Match01/Test1/X12::item IL_0080: ceq IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X13 + IL_0084: castclass Match01/Test1/X13 IL_0089: stloc.s V_7 IL_008b: ldloc.0 - IL_008c: castclass assembly/Test1/X13 + IL_008c: castclass Match01/Test1/X13 IL_0091: stloc.s V_8 IL_0093: ldloc.s V_7 - IL_0095: ldfld int32 assembly/Test1/X13::item + IL_0095: ldfld int32 Match01/Test1/X13::item IL_009a: ldloc.s V_8 - IL_009c: ldfld int32 assembly/Test1/X13::item + IL_009c: ldfld int32 Match01/Test1/X13::item IL_00a1: ceq IL_00a3: ret IL_00a4: ldarg.0 - IL_00a5: castclass assembly/Test1/X14 + IL_00a5: castclass Match01/Test1/X14 IL_00aa: stloc.s V_9 IL_00ac: ldloc.0 - IL_00ad: castclass assembly/Test1/X14 + IL_00ad: castclass Match01/Test1/X14 IL_00b2: stloc.s V_10 IL_00b4: ldloc.s V_9 - IL_00b6: ldfld int32 assembly/Test1/X14::item + IL_00b6: ldfld int32 Match01/Test1/X14::item IL_00bb: ldloc.s V_10 - IL_00bd: ldfld int32 assembly/Test1/X14::item + IL_00bd: ldfld int32 Match01/Test1/X14::item IL_00c2: ceq IL_00c4: ret @@ -956,22 +924,21 @@ IL_00d0: ret } - .method public hidebysig virtual final - instance bool Equals(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X12 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X13 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X14 V_8, - class assembly/Test1/X14 V_9) + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) IL_0000: ldarg.0 IL_0001: brfalse IL_00c0 @@ -979,71 +946,71 @@ IL_0007: brfalse IL_00be IL_000c: ldarg.0 - IL_000d: ldfld int32 assembly/Test1::_tag + IL_000d: ldfld int32 Match01/Test1::_tag IL_0012: stloc.0 IL_0013: ldarg.1 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 IL_001b: ldloc.1 IL_001c: bne.un IL_00bc IL_0021: ldarg.0 - IL_0022: call instance int32 assembly/Test1::get_Tag() + IL_0022: call instance int32 Match01/Test1::get_Tag() IL_0027: switch ( IL_003c, IL_0059, IL_007a, IL_009b) IL_003c: ldarg.0 - IL_003d: castclass assembly/Test1/X11 + IL_003d: castclass Match01/Test1/X11 IL_0042: stloc.2 IL_0043: ldarg.1 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.2 - IL_004b: ldfld int32 assembly/Test1/X11::item + IL_004b: ldfld int32 Match01/Test1/X11::item IL_0050: ldloc.3 - IL_0051: ldfld int32 assembly/Test1/X11::item + IL_0051: ldfld int32 Match01/Test1/X11::item IL_0056: ceq IL_0058: ret IL_0059: ldarg.0 - IL_005a: castclass assembly/Test1/X12 + IL_005a: castclass Match01/Test1/X12 IL_005f: stloc.s V_4 IL_0061: ldarg.1 - IL_0062: castclass assembly/Test1/X12 + IL_0062: castclass Match01/Test1/X12 IL_0067: stloc.s V_5 IL_0069: ldloc.s V_4 - IL_006b: ldfld int32 assembly/Test1/X12::item + IL_006b: ldfld int32 Match01/Test1/X12::item IL_0070: ldloc.s V_5 - IL_0072: ldfld int32 assembly/Test1/X12::item + IL_0072: ldfld int32 Match01/Test1/X12::item IL_0077: ceq IL_0079: ret IL_007a: ldarg.0 - IL_007b: castclass assembly/Test1/X13 + IL_007b: castclass Match01/Test1/X13 IL_0080: stloc.s V_6 IL_0082: ldarg.1 - IL_0083: castclass assembly/Test1/X13 + IL_0083: castclass Match01/Test1/X13 IL_0088: stloc.s V_7 IL_008a: ldloc.s V_6 - IL_008c: ldfld int32 assembly/Test1/X13::item + IL_008c: ldfld int32 Match01/Test1/X13::item IL_0091: ldloc.s V_7 - IL_0093: ldfld int32 assembly/Test1/X13::item + IL_0093: ldfld int32 Match01/Test1/X13::item IL_0098: ceq IL_009a: ret IL_009b: ldarg.0 - IL_009c: castclass assembly/Test1/X14 + IL_009c: castclass Match01/Test1/X14 IL_00a1: stloc.s V_8 IL_00a3: ldarg.1 - IL_00a4: castclass assembly/Test1/X14 + IL_00a4: castclass Match01/Test1/X14 IL_00a9: stloc.s V_9 IL_00ab: ldloc.s V_8 - IL_00ad: ldfld int32 assembly/Test1/X14::item + IL_00ad: ldfld int32 Match01/Test1/X14::item IL_00b2: ldloc.s V_9 - IL_00b4: ldfld int32 assembly/Test1/X14::item + IL_00b4: ldfld int32 Match01/Test1/X14::item IL_00b9: ceq IL_00bb: ret @@ -1061,22 +1028,21 @@ IL_00c7: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: isinst assembly/Test1 + IL_0001: isinst Match01/Test1 IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/Test1::Equals(class assembly/Test1) + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) IL_0011: ret IL_0012: ldc.i4.0 @@ -1088,40 +1054,40 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/Test1::get_Tag() + .get instance int32 Match01/Test1::get_Tag() } .property instance bool IsX11() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX11() + .get instance bool Match01/Test1::get_IsX11() } .property instance bool IsX12() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX12() + .get instance bool Match01/Test1::get_IsX12() } .property instance bool IsX13() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX13() + .get instance bool Match01/Test1::get_IsX13() } .property instance bool IsX14() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX14() + .get instance bool Match01/Test1::get_IsX14() } } - .method assembly static int32 CompareTo$cont@4(class assembly/Test1 this, - class assembly/Test1 obj, + .method assembly static int32 CompareTo$cont@4(class Match01/Test1 this, + class Match01/Test1 obj, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1129,47 +1095,47 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, class [runtime]System.Collections.IComparer V_4, int32 V_5, int32 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X12 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X13 V_10, - class assembly/Test1/X14 V_11, - class assembly/Test1/X14 V_12) + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: stloc.0 IL_0007: ldarg.1 - IL_0008: ldfld int32 assembly/Test1::_tag + IL_0008: ldfld int32 Match01/Test1::_tag IL_000d: stloc.1 IL_000e: ldloc.0 IL_000f: ldloc.1 IL_0010: bne.un IL_0108 IL_0015: ldarg.0 - IL_0016: call instance int32 assembly/Test1::get_Tag() + IL_0016: call instance int32 Match01/Test1::get_Tag() IL_001b: switch ( IL_0030, IL_0063, IL_009a, IL_00d1) IL_0030: ldarg.0 - IL_0031: castclass assembly/Test1/X11 + IL_0031: castclass Match01/Test1/X11 IL_0036: stloc.2 IL_0037: ldarg.1 - IL_0038: castclass assembly/Test1/X11 + IL_0038: castclass Match01/Test1/X11 IL_003d: stloc.3 IL_003e: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0043: stloc.s V_4 IL_0045: ldloc.2 - IL_0046: ldfld int32 assembly/Test1/X11::item + IL_0046: ldfld int32 Match01/Test1/X11::item IL_004b: stloc.s V_5 IL_004d: ldloc.3 - IL_004e: ldfld int32 assembly/Test1/X11::item + IL_004e: ldfld int32 Match01/Test1/X11::item IL_0053: stloc.s V_6 IL_0055: ldloc.s V_5 IL_0057: ldloc.s V_6 @@ -1181,18 +1147,18 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X12 + IL_0064: castclass Match01/Test1/X12 IL_0069: stloc.s V_7 IL_006b: ldarg.1 - IL_006c: castclass assembly/Test1/X12 + IL_006c: castclass Match01/Test1/X12 IL_0071: stloc.s V_8 IL_0073: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0078: stloc.s V_4 IL_007a: ldloc.s V_7 - IL_007c: ldfld int32 assembly/Test1/X12::item + IL_007c: ldfld int32 Match01/Test1/X12::item IL_0081: stloc.s V_5 IL_0083: ldloc.s V_8 - IL_0085: ldfld int32 assembly/Test1/X12::item + IL_0085: ldfld int32 Match01/Test1/X12::item IL_008a: stloc.s V_6 IL_008c: ldloc.s V_5 IL_008e: ldloc.s V_6 @@ -1204,18 +1170,18 @@ IL_0099: ret IL_009a: ldarg.0 - IL_009b: castclass assembly/Test1/X13 + IL_009b: castclass Match01/Test1/X13 IL_00a0: stloc.s V_9 IL_00a2: ldarg.1 - IL_00a3: castclass assembly/Test1/X13 + IL_00a3: castclass Match01/Test1/X13 IL_00a8: stloc.s V_10 IL_00aa: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00af: stloc.s V_4 IL_00b1: ldloc.s V_9 - IL_00b3: ldfld int32 assembly/Test1/X13::item + IL_00b3: ldfld int32 Match01/Test1/X13::item IL_00b8: stloc.s V_5 IL_00ba: ldloc.s V_10 - IL_00bc: ldfld int32 assembly/Test1/X13::item + IL_00bc: ldfld int32 Match01/Test1/X13::item IL_00c1: stloc.s V_6 IL_00c3: ldloc.s V_5 IL_00c5: ldloc.s V_6 @@ -1227,18 +1193,18 @@ IL_00d0: ret IL_00d1: ldarg.0 - IL_00d2: castclass assembly/Test1/X14 + IL_00d2: castclass Match01/Test1/X14 IL_00d7: stloc.s V_11 IL_00d9: ldarg.1 - IL_00da: castclass assembly/Test1/X14 + IL_00da: castclass Match01/Test1/X14 IL_00df: stloc.s V_12 IL_00e1: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00e6: stloc.s V_4 IL_00e8: ldloc.s V_11 - IL_00ea: ldfld int32 assembly/Test1/X14::item + IL_00ea: ldfld int32 Match01/Test1/X14::item IL_00ef: stloc.s V_5 IL_00f1: ldloc.s V_12 - IL_00f3: ldfld int32 assembly/Test1/X14::item + IL_00f3: ldfld int32 Match01/Test1/X14::item IL_00f8: stloc.s V_6 IL_00fa: ldloc.s V_5 IL_00fc: ldloc.s V_6 @@ -1255,9 +1221,9 @@ IL_010b: ret } - .method assembly static int32 'CompareTo$cont@4-1'(class assembly/Test1 this, + .method assembly static int32 'CompareTo$cont@4-1'(class Match01/Test1 this, object obj, - class assembly/Test1 objTemp, + class Match01/Test1 objTemp, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1265,48 +1231,48 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, int32 V_4, int32 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X14 V_10, - class assembly/Test1/X14 V_11) + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) IL_0000: ldarg.1 - IL_0001: unbox.any assembly/Test1 + IL_0001: unbox.any Match01/Test1 IL_0006: brfalse IL_00fb IL_000b: ldarg.0 - IL_000c: ldfld int32 assembly/Test1::_tag + IL_000c: ldfld int32 Match01/Test1::_tag IL_0011: stloc.0 IL_0012: ldarg.2 - IL_0013: ldfld int32 assembly/Test1::_tag + IL_0013: ldfld int32 Match01/Test1::_tag IL_0018: stloc.1 IL_0019: ldloc.0 IL_001a: ldloc.1 IL_001b: bne.un IL_00f7 IL_0020: ldarg.0 - IL_0021: call instance int32 assembly/Test1::get_Tag() + IL_0021: call instance int32 Match01/Test1::get_Tag() IL_0026: switch ( IL_003b, IL_0067, IL_0097, IL_00c7) IL_003b: ldarg.0 - IL_003c: castclass assembly/Test1/X11 + IL_003c: castclass Match01/Test1/X11 IL_0041: stloc.2 IL_0042: ldarg.2 - IL_0043: castclass assembly/Test1/X11 + IL_0043: castclass Match01/Test1/X11 IL_0048: stloc.3 IL_0049: ldloc.2 - IL_004a: ldfld int32 assembly/Test1/X11::item + IL_004a: ldfld int32 Match01/Test1/X11::item IL_004f: stloc.s V_4 IL_0051: ldloc.3 - IL_0052: ldfld int32 assembly/Test1/X11::item + IL_0052: ldfld int32 Match01/Test1/X11::item IL_0057: stloc.s V_5 IL_0059: ldloc.s V_4 IL_005b: ldloc.s V_5 @@ -1318,16 +1284,16 @@ IL_0066: ret IL_0067: ldarg.0 - IL_0068: castclass assembly/Test1/X12 + IL_0068: castclass Match01/Test1/X12 IL_006d: stloc.s V_6 IL_006f: ldarg.2 - IL_0070: castclass assembly/Test1/X12 + IL_0070: castclass Match01/Test1/X12 IL_0075: stloc.s V_7 IL_0077: ldloc.s V_6 - IL_0079: ldfld int32 assembly/Test1/X12::item + IL_0079: ldfld int32 Match01/Test1/X12::item IL_007e: stloc.s V_4 IL_0080: ldloc.s V_7 - IL_0082: ldfld int32 assembly/Test1/X12::item + IL_0082: ldfld int32 Match01/Test1/X12::item IL_0087: stloc.s V_5 IL_0089: ldloc.s V_4 IL_008b: ldloc.s V_5 @@ -1339,16 +1305,16 @@ IL_0096: ret IL_0097: ldarg.0 - IL_0098: castclass assembly/Test1/X13 + IL_0098: castclass Match01/Test1/X13 IL_009d: stloc.s V_8 IL_009f: ldarg.2 - IL_00a0: castclass assembly/Test1/X13 + IL_00a0: castclass Match01/Test1/X13 IL_00a5: stloc.s V_9 IL_00a7: ldloc.s V_8 - IL_00a9: ldfld int32 assembly/Test1/X13::item + IL_00a9: ldfld int32 Match01/Test1/X13::item IL_00ae: stloc.s V_4 IL_00b0: ldloc.s V_9 - IL_00b2: ldfld int32 assembly/Test1/X13::item + IL_00b2: ldfld int32 Match01/Test1/X13::item IL_00b7: stloc.s V_5 IL_00b9: ldloc.s V_4 IL_00bb: ldloc.s V_5 @@ -1360,16 +1326,16 @@ IL_00c6: ret IL_00c7: ldarg.0 - IL_00c8: castclass assembly/Test1/X14 + IL_00c8: castclass Match01/Test1/X14 IL_00cd: stloc.s V_10 IL_00cf: ldarg.2 - IL_00d0: castclass assembly/Test1/X14 + IL_00d0: castclass Match01/Test1/X14 IL_00d5: stloc.s V_11 IL_00d7: ldloc.s V_10 - IL_00d9: ldfld int32 assembly/Test1/X14::item + IL_00d9: ldfld int32 Match01/Test1/X14::item IL_00de: stloc.s V_4 IL_00e0: ldloc.s V_11 - IL_00e2: ldfld int32 assembly/Test1/X14::item + IL_00e2: ldfld int32 Match01/Test1/X14::item IL_00e7: stloc.s V_5 IL_00e9: ldloc.s V_4 IL_00eb: ldloc.s V_5 @@ -1389,21 +1355,21 @@ IL_00fc: ret } - .method public static int32 select1(class assembly/Test1 x) cil managed + .method public static int32 select1(class Match01/Test1 x) cil managed { .maxstack 8 IL_0000: nop IL_0001: ldarg.0 - IL_0002: call instance int32 assembly/Test1::get_Tag() + IL_0002: call instance int32 Match01/Test1::get_Tag() IL_0007: switch ( IL_001c, IL_0028, IL_002a, IL_002c) IL_001c: ldarg.0 - IL_001d: castclass assembly/Test1/X11 - IL_0022: ldfld int32 assembly/Test1/X11::item + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item IL_0027: ret IL_0028: ldc.i4.2 @@ -1416,18 +1382,18 @@ IL_002d: ret } - .method public static int32 fm(class assembly/Test1 y) cil managed + .method public static int32 fm(class Match01/Test1 y) cil managed { .maxstack 8 IL_0000: ldarg.0 - IL_0001: call int32 assembly::select1(class assembly/Test1) + IL_0001: call int32 Match01::select1(class Match01/Test1) IL_0006: ret } } -.class private abstract auto ansi sealed ''.$assembly +.class private abstract auto ansi sealed ''.$Match01 extends [runtime]System.Object { .method public static void main@() cil managed @@ -1494,8 +1460,7 @@ IL_0014: ret } - .method public hidebysig specialname instance class [runtime]System.Type - get_Type() cil managed + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -1506,8 +1471,7 @@ IL_0006: ret } - .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - get_MemberType() cil managed + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.netcore.debug.bsl similarity index 76% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.netcore.debug.bsl index a26af5e534a..c40defd36ee 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.netcore.debug.bsl @@ -39,15 +39,15 @@ -.class public abstract auto ansi sealed assembly +.class public abstract auto ansi sealed Match01 extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class abstract auto autochar serializable nested public beforefieldinit Test1 extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, + implements class [runtime]System.IEquatable`1, [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, + class [runtime]System.IComparable`1, [runtime]System.IComparable, [runtime]System.Collections.IStructuralComparable { @@ -64,7 +64,7 @@ } .class auto ansi serializable nested public beforefieldinit specialname X11 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 @@ -75,8 +75,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -87,22 +86,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.0 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X11::item + IL_0009: stfld int32 Match01/Test1/X11::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld int32 Match01/Test1/X11::item IL_0006: ret } @@ -113,12 +111,12 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11::get_Item() + .get instance int32 Match01/Test1/X11::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X12 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 @@ -129,8 +127,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -141,22 +138,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.1 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X12::item + IL_0009: stfld int32 Match01/Test1/X12::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld int32 Match01/Test1/X12::item IL_0006: ret } @@ -167,12 +163,12 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12::get_Item() + .get instance int32 Match01/Test1/X12::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X13 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 @@ -183,8 +179,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -195,22 +190,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.2 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X13::item + IL_0009: stfld int32 Match01/Test1/X13::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld int32 Match01/Test1/X13::item IL_0006: ret } @@ -221,12 +215,12 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13::get_Item() + .get instance int32 Match01/Test1/X13::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X14 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 @@ -237,8 +231,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -249,22 +242,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.3 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X14::item + IL_0009: stfld int32 Match01/Test1/X14::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld int32 Match01/Test1/X14::item IL_0006: ret } @@ -275,19 +267,18 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14::get_Item() + .get instance int32 Match01/Test1/X14::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X11 _obj + .field assembly class Match01/Test1/X11 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X11 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -300,20 +291,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item IL_000b: ret } @@ -324,19 +314,18 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X12 _obj + .field assembly class Match01/Test1/X12 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X12 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -349,20 +338,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item IL_000b: ret } @@ -373,19 +361,18 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X13 _obj + .field assembly class Match01/Test1/X13 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X13 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -398,20 +385,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item IL_000b: ret } @@ -422,19 +408,18 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X14 _obj + .field assembly class Match01/Test1/X14 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X14 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -447,20 +432,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item IL_000b: ret } @@ -471,7 +455,7 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() } } @@ -479,8 +463,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 _tag) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -493,157 +476,145 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/Test1::_tag + IL_0008: stfld int32 Match01/Test1::_tag IL_000d: ret } - .method public static class assembly/Test1 - NewX11(int32 item) cil managed + .method public static class Match01/Test1 NewX11(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X11::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX11() cil managed + .method public hidebysig instance bool get_IsX11() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX12(int32 item) cil managed + .method public static class Match01/Test1 NewX12(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X12::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX12() cil managed + .method public hidebysig instance bool get_IsX12() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.1 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX13(int32 item) cil managed + .method public static class Match01/Test1 NewX13(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X13::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX13() cil managed + .method public hidebysig instance bool get_IsX13() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.2 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX14(int32 item) cil managed + .method public static class Match01/Test1 NewX14(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X14::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX14() cil managed + .method public hidebysig instance bool get_IsX14() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.3 IL_0007: ceq IL_0009: ret } - .method public hidebysig instance int32 - get_Tag() cil managed + .method public hidebysig instance int32 get_Tag() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: ret } - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public strict virtual instance string - ToString() cil managed + .method public strict virtual instance string ToString() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/Test1>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -657,8 +628,8 @@ IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: ldnull - IL_0009: call int32 assembly::CompareTo$cont@4(class assembly/Test1, - class assembly/Test1, + IL_0009: call int32 Match01::CompareTo$cont@4(class Match01/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_000e: ret @@ -675,16 +646,15 @@ IL_0017: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: unbox.any assembly/Test1 - IL_0007: callvirt instance int32 assembly/Test1::CompareTo(class assembly/Test1) + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) IL_000c: ret } @@ -695,22 +665,22 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 5 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: unbox.any assembly/Test1 + IL_0001: unbox.any Match01/Test1 IL_0006: stloc.0 IL_0007: ldarg.0 IL_0008: brfalse.s IL_001d IL_000a: ldarg.1 - IL_000b: unbox.any assembly/Test1 + IL_000b: unbox.any Match01/Test1 IL_0010: brfalse.s IL_001b IL_0012: ldarg.0 IL_0013: ldloc.0 IL_0014: ldnull - IL_0015: call int32 assembly::'CompareTo$cont@4-1'(class assembly/Test1, - class assembly/Test1, + IL_0015: call int32 Match01::'CompareTo$cont@4-1'(class Match01/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_001a: ret @@ -718,7 +688,7 @@ IL_001c: ret IL_001d: ldarg.1 - IL_001e: unbox.any assembly/Test1 + IL_001e: unbox.any Match01/Test1 IL_0023: brfalse.s IL_0027 IL_0025: ldc.i4.m1 @@ -728,37 +698,36 @@ IL_0028: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 7 .locals init (int32 V_0, - class assembly/Test1/X11 V_1, - class assembly/Test1/X12 V_2, - class assembly/Test1/X13 V_3, - class assembly/Test1/X14 V_4) + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) IL_0000: ldarg.0 IL_0001: brfalse IL_00a5 IL_0006: ldc.i4.0 IL_0007: stloc.0 IL_0008: ldarg.0 - IL_0009: call instance int32 assembly/Test1::get_Tag() + IL_0009: call instance int32 Match01/Test1::get_Tag() IL_000e: switch ( IL_0023, IL_0043, IL_0063, IL_0083) IL_0023: ldarg.0 - IL_0024: castclass assembly/Test1/X11 + IL_0024: castclass Match01/Test1/X11 IL_0029: stloc.1 IL_002a: ldc.i4.0 IL_002b: stloc.0 IL_002c: ldc.i4 0x9e3779b9 IL_0031: ldloc.1 - IL_0032: ldfld int32 assembly/Test1/X11::item + IL_0032: ldfld int32 Match01/Test1/X11::item IL_0037: ldloc.0 IL_0038: ldc.i4.6 IL_0039: shl @@ -773,13 +742,13 @@ IL_0042: ret IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X12 + IL_0044: castclass Match01/Test1/X12 IL_0049: stloc.2 IL_004a: ldc.i4.1 IL_004b: stloc.0 IL_004c: ldc.i4 0x9e3779b9 IL_0051: ldloc.2 - IL_0052: ldfld int32 assembly/Test1/X12::item + IL_0052: ldfld int32 Match01/Test1/X12::item IL_0057: ldloc.0 IL_0058: ldc.i4.6 IL_0059: shl @@ -794,13 +763,13 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X13 + IL_0064: castclass Match01/Test1/X13 IL_0069: stloc.3 IL_006a: ldc.i4.2 IL_006b: stloc.0 IL_006c: ldc.i4 0x9e3779b9 IL_0071: ldloc.3 - IL_0072: ldfld int32 assembly/Test1/X13::item + IL_0072: ldfld int32 Match01/Test1/X13::item IL_0077: ldloc.0 IL_0078: ldc.i4.6 IL_0079: shl @@ -815,13 +784,13 @@ IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X14 + IL_0084: castclass Match01/Test1/X14 IL_0089: stloc.s V_4 IL_008b: ldc.i4.3 IL_008c: stloc.0 IL_008d: ldc.i4 0x9e3779b9 IL_0092: ldloc.s V_4 - IL_0094: ldfld int32 assembly/Test1/X14::item + IL_0094: ldfld int32 Match01/Test1/X14::item IL_0099: ldloc.0 IL_009a: ldc.i4.6 IL_009b: shl @@ -839,15 +808,14 @@ IL_00a6: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) IL_000b: ret } @@ -858,92 +826,92 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0, + .locals init (class Match01/Test1 V_0, int32 V_1, int32 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X11 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X14 V_9, - class assembly/Test1/X14 V_10) + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) IL_0000: ldarg.0 IL_0001: brfalse IL_00c9 IL_0006: ldarg.1 - IL_0007: isinst assembly/Test1 + IL_0007: isinst Match01/Test1 IL_000c: stloc.0 IL_000d: ldloc.0 IL_000e: brfalse IL_00c7 IL_0013: ldarg.0 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 - IL_001b: ldfld int32 assembly/Test1::_tag + IL_001b: ldfld int32 Match01/Test1::_tag IL_0020: stloc.2 IL_0021: ldloc.1 IL_0022: ldloc.2 IL_0023: bne.un IL_00c5 IL_0028: ldarg.0 - IL_0029: call instance int32 assembly/Test1::get_Tag() + IL_0029: call instance int32 Match01/Test1::get_Tag() IL_002e: switch ( IL_0043, IL_0062, IL_0083, IL_00a4) IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.0 - IL_004b: castclass assembly/Test1/X11 + IL_004b: castclass Match01/Test1/X11 IL_0050: stloc.s V_4 IL_0052: ldloc.3 - IL_0053: ldfld int32 assembly/Test1/X11::item + IL_0053: ldfld int32 Match01/Test1/X11::item IL_0058: ldloc.s V_4 - IL_005a: ldfld int32 assembly/Test1/X11::item + IL_005a: ldfld int32 Match01/Test1/X11::item IL_005f: ceq IL_0061: ret IL_0062: ldarg.0 - IL_0063: castclass assembly/Test1/X12 + IL_0063: castclass Match01/Test1/X12 IL_0068: stloc.s V_5 IL_006a: ldloc.0 - IL_006b: castclass assembly/Test1/X12 + IL_006b: castclass Match01/Test1/X12 IL_0070: stloc.s V_6 IL_0072: ldloc.s V_5 - IL_0074: ldfld int32 assembly/Test1/X12::item + IL_0074: ldfld int32 Match01/Test1/X12::item IL_0079: ldloc.s V_6 - IL_007b: ldfld int32 assembly/Test1/X12::item + IL_007b: ldfld int32 Match01/Test1/X12::item IL_0080: ceq IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X13 + IL_0084: castclass Match01/Test1/X13 IL_0089: stloc.s V_7 IL_008b: ldloc.0 - IL_008c: castclass assembly/Test1/X13 + IL_008c: castclass Match01/Test1/X13 IL_0091: stloc.s V_8 IL_0093: ldloc.s V_7 - IL_0095: ldfld int32 assembly/Test1/X13::item + IL_0095: ldfld int32 Match01/Test1/X13::item IL_009a: ldloc.s V_8 - IL_009c: ldfld int32 assembly/Test1/X13::item + IL_009c: ldfld int32 Match01/Test1/X13::item IL_00a1: ceq IL_00a3: ret IL_00a4: ldarg.0 - IL_00a5: castclass assembly/Test1/X14 + IL_00a5: castclass Match01/Test1/X14 IL_00aa: stloc.s V_9 IL_00ac: ldloc.0 - IL_00ad: castclass assembly/Test1/X14 + IL_00ad: castclass Match01/Test1/X14 IL_00b2: stloc.s V_10 IL_00b4: ldloc.s V_9 - IL_00b6: ldfld int32 assembly/Test1/X14::item + IL_00b6: ldfld int32 Match01/Test1/X14::item IL_00bb: ldloc.s V_10 - IL_00bd: ldfld int32 assembly/Test1/X14::item + IL_00bd: ldfld int32 Match01/Test1/X14::item IL_00c2: ceq IL_00c4: ret @@ -961,22 +929,21 @@ IL_00d0: ret } - .method public hidebysig virtual final - instance bool Equals(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X12 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X13 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X14 V_8, - class assembly/Test1/X14 V_9) + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) IL_0000: ldarg.0 IL_0001: brfalse IL_00c0 @@ -984,71 +951,71 @@ IL_0007: brfalse IL_00be IL_000c: ldarg.0 - IL_000d: ldfld int32 assembly/Test1::_tag + IL_000d: ldfld int32 Match01/Test1::_tag IL_0012: stloc.0 IL_0013: ldarg.1 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 IL_001b: ldloc.1 IL_001c: bne.un IL_00bc IL_0021: ldarg.0 - IL_0022: call instance int32 assembly/Test1::get_Tag() + IL_0022: call instance int32 Match01/Test1::get_Tag() IL_0027: switch ( IL_003c, IL_0059, IL_007a, IL_009b) IL_003c: ldarg.0 - IL_003d: castclass assembly/Test1/X11 + IL_003d: castclass Match01/Test1/X11 IL_0042: stloc.2 IL_0043: ldarg.1 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.2 - IL_004b: ldfld int32 assembly/Test1/X11::item + IL_004b: ldfld int32 Match01/Test1/X11::item IL_0050: ldloc.3 - IL_0051: ldfld int32 assembly/Test1/X11::item + IL_0051: ldfld int32 Match01/Test1/X11::item IL_0056: ceq IL_0058: ret IL_0059: ldarg.0 - IL_005a: castclass assembly/Test1/X12 + IL_005a: castclass Match01/Test1/X12 IL_005f: stloc.s V_4 IL_0061: ldarg.1 - IL_0062: castclass assembly/Test1/X12 + IL_0062: castclass Match01/Test1/X12 IL_0067: stloc.s V_5 IL_0069: ldloc.s V_4 - IL_006b: ldfld int32 assembly/Test1/X12::item + IL_006b: ldfld int32 Match01/Test1/X12::item IL_0070: ldloc.s V_5 - IL_0072: ldfld int32 assembly/Test1/X12::item + IL_0072: ldfld int32 Match01/Test1/X12::item IL_0077: ceq IL_0079: ret IL_007a: ldarg.0 - IL_007b: castclass assembly/Test1/X13 + IL_007b: castclass Match01/Test1/X13 IL_0080: stloc.s V_6 IL_0082: ldarg.1 - IL_0083: castclass assembly/Test1/X13 + IL_0083: castclass Match01/Test1/X13 IL_0088: stloc.s V_7 IL_008a: ldloc.s V_6 - IL_008c: ldfld int32 assembly/Test1/X13::item + IL_008c: ldfld int32 Match01/Test1/X13::item IL_0091: ldloc.s V_7 - IL_0093: ldfld int32 assembly/Test1/X13::item + IL_0093: ldfld int32 Match01/Test1/X13::item IL_0098: ceq IL_009a: ret IL_009b: ldarg.0 - IL_009c: castclass assembly/Test1/X14 + IL_009c: castclass Match01/Test1/X14 IL_00a1: stloc.s V_8 IL_00a3: ldarg.1 - IL_00a4: castclass assembly/Test1/X14 + IL_00a4: castclass Match01/Test1/X14 IL_00a9: stloc.s V_9 IL_00ab: ldloc.s V_8 - IL_00ad: ldfld int32 assembly/Test1/X14::item + IL_00ad: ldfld int32 Match01/Test1/X14::item IL_00b2: ldloc.s V_9 - IL_00b4: ldfld int32 assembly/Test1/X14::item + IL_00b4: ldfld int32 Match01/Test1/X14::item IL_00b9: ceq IL_00bb: ret @@ -1066,22 +1033,21 @@ IL_00c7: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: isinst assembly/Test1 + IL_0001: isinst Match01/Test1 IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/Test1::Equals(class assembly/Test1) + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) IL_0011: ret IL_0012: ldc.i4.0 @@ -1093,40 +1059,40 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/Test1::get_Tag() + .get instance int32 Match01/Test1::get_Tag() } .property instance bool IsX11() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX11() + .get instance bool Match01/Test1::get_IsX11() } .property instance bool IsX12() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX12() + .get instance bool Match01/Test1::get_IsX12() } .property instance bool IsX13() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX13() + .get instance bool Match01/Test1::get_IsX13() } .property instance bool IsX14() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX14() + .get instance bool Match01/Test1::get_IsX14() } } - .method assembly static int32 CompareTo$cont@4(class assembly/Test1 this, - class assembly/Test1 obj, + .method assembly static int32 CompareTo$cont@4(class Match01/Test1 this, + class Match01/Test1 obj, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1134,47 +1100,47 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, class [runtime]System.Collections.IComparer V_4, int32 V_5, int32 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X12 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X13 V_10, - class assembly/Test1/X14 V_11, - class assembly/Test1/X14 V_12) + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: stloc.0 IL_0007: ldarg.1 - IL_0008: ldfld int32 assembly/Test1::_tag + IL_0008: ldfld int32 Match01/Test1::_tag IL_000d: stloc.1 IL_000e: ldloc.0 IL_000f: ldloc.1 IL_0010: bne.un IL_0108 IL_0015: ldarg.0 - IL_0016: call instance int32 assembly/Test1::get_Tag() + IL_0016: call instance int32 Match01/Test1::get_Tag() IL_001b: switch ( IL_0030, IL_0063, IL_009a, IL_00d1) IL_0030: ldarg.0 - IL_0031: castclass assembly/Test1/X11 + IL_0031: castclass Match01/Test1/X11 IL_0036: stloc.2 IL_0037: ldarg.1 - IL_0038: castclass assembly/Test1/X11 + IL_0038: castclass Match01/Test1/X11 IL_003d: stloc.3 IL_003e: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0043: stloc.s V_4 IL_0045: ldloc.2 - IL_0046: ldfld int32 assembly/Test1/X11::item + IL_0046: ldfld int32 Match01/Test1/X11::item IL_004b: stloc.s V_5 IL_004d: ldloc.3 - IL_004e: ldfld int32 assembly/Test1/X11::item + IL_004e: ldfld int32 Match01/Test1/X11::item IL_0053: stloc.s V_6 IL_0055: ldloc.s V_5 IL_0057: ldloc.s V_6 @@ -1186,18 +1152,18 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X12 + IL_0064: castclass Match01/Test1/X12 IL_0069: stloc.s V_7 IL_006b: ldarg.1 - IL_006c: castclass assembly/Test1/X12 + IL_006c: castclass Match01/Test1/X12 IL_0071: stloc.s V_8 IL_0073: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0078: stloc.s V_4 IL_007a: ldloc.s V_7 - IL_007c: ldfld int32 assembly/Test1/X12::item + IL_007c: ldfld int32 Match01/Test1/X12::item IL_0081: stloc.s V_5 IL_0083: ldloc.s V_8 - IL_0085: ldfld int32 assembly/Test1/X12::item + IL_0085: ldfld int32 Match01/Test1/X12::item IL_008a: stloc.s V_6 IL_008c: ldloc.s V_5 IL_008e: ldloc.s V_6 @@ -1209,18 +1175,18 @@ IL_0099: ret IL_009a: ldarg.0 - IL_009b: castclass assembly/Test1/X13 + IL_009b: castclass Match01/Test1/X13 IL_00a0: stloc.s V_9 IL_00a2: ldarg.1 - IL_00a3: castclass assembly/Test1/X13 + IL_00a3: castclass Match01/Test1/X13 IL_00a8: stloc.s V_10 IL_00aa: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00af: stloc.s V_4 IL_00b1: ldloc.s V_9 - IL_00b3: ldfld int32 assembly/Test1/X13::item + IL_00b3: ldfld int32 Match01/Test1/X13::item IL_00b8: stloc.s V_5 IL_00ba: ldloc.s V_10 - IL_00bc: ldfld int32 assembly/Test1/X13::item + IL_00bc: ldfld int32 Match01/Test1/X13::item IL_00c1: stloc.s V_6 IL_00c3: ldloc.s V_5 IL_00c5: ldloc.s V_6 @@ -1232,18 +1198,18 @@ IL_00d0: ret IL_00d1: ldarg.0 - IL_00d2: castclass assembly/Test1/X14 + IL_00d2: castclass Match01/Test1/X14 IL_00d7: stloc.s V_11 IL_00d9: ldarg.1 - IL_00da: castclass assembly/Test1/X14 + IL_00da: castclass Match01/Test1/X14 IL_00df: stloc.s V_12 IL_00e1: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00e6: stloc.s V_4 IL_00e8: ldloc.s V_11 - IL_00ea: ldfld int32 assembly/Test1/X14::item + IL_00ea: ldfld int32 Match01/Test1/X14::item IL_00ef: stloc.s V_5 IL_00f1: ldloc.s V_12 - IL_00f3: ldfld int32 assembly/Test1/X14::item + IL_00f3: ldfld int32 Match01/Test1/X14::item IL_00f8: stloc.s V_6 IL_00fa: ldloc.s V_5 IL_00fc: ldloc.s V_6 @@ -1260,8 +1226,8 @@ IL_010b: ret } - .method assembly static int32 'CompareTo$cont@4-1'(class assembly/Test1 this, - class assembly/Test1 objTemp, + .method assembly static int32 'CompareTo$cont@4-1'(class Match01/Test1 this, + class Match01/Test1 objTemp, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1269,44 +1235,44 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, int32 V_4, int32 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X14 V_10, - class assembly/Test1/X14 V_11) + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: stloc.0 IL_0007: ldarg.1 - IL_0008: ldfld int32 assembly/Test1::_tag + IL_0008: ldfld int32 Match01/Test1::_tag IL_000d: stloc.1 IL_000e: ldloc.0 IL_000f: ldloc.1 IL_0010: bne.un IL_00ec IL_0015: ldarg.0 - IL_0016: call instance int32 assembly/Test1::get_Tag() + IL_0016: call instance int32 Match01/Test1::get_Tag() IL_001b: switch ( IL_0030, IL_005c, IL_008c, IL_00bc) IL_0030: ldarg.0 - IL_0031: castclass assembly/Test1/X11 + IL_0031: castclass Match01/Test1/X11 IL_0036: stloc.2 IL_0037: ldarg.1 - IL_0038: castclass assembly/Test1/X11 + IL_0038: castclass Match01/Test1/X11 IL_003d: stloc.3 IL_003e: ldloc.2 - IL_003f: ldfld int32 assembly/Test1/X11::item + IL_003f: ldfld int32 Match01/Test1/X11::item IL_0044: stloc.s V_4 IL_0046: ldloc.3 - IL_0047: ldfld int32 assembly/Test1/X11::item + IL_0047: ldfld int32 Match01/Test1/X11::item IL_004c: stloc.s V_5 IL_004e: ldloc.s V_4 IL_0050: ldloc.s V_5 @@ -1318,16 +1284,16 @@ IL_005b: ret IL_005c: ldarg.0 - IL_005d: castclass assembly/Test1/X12 + IL_005d: castclass Match01/Test1/X12 IL_0062: stloc.s V_6 IL_0064: ldarg.1 - IL_0065: castclass assembly/Test1/X12 + IL_0065: castclass Match01/Test1/X12 IL_006a: stloc.s V_7 IL_006c: ldloc.s V_6 - IL_006e: ldfld int32 assembly/Test1/X12::item + IL_006e: ldfld int32 Match01/Test1/X12::item IL_0073: stloc.s V_4 IL_0075: ldloc.s V_7 - IL_0077: ldfld int32 assembly/Test1/X12::item + IL_0077: ldfld int32 Match01/Test1/X12::item IL_007c: stloc.s V_5 IL_007e: ldloc.s V_4 IL_0080: ldloc.s V_5 @@ -1339,16 +1305,16 @@ IL_008b: ret IL_008c: ldarg.0 - IL_008d: castclass assembly/Test1/X13 + IL_008d: castclass Match01/Test1/X13 IL_0092: stloc.s V_8 IL_0094: ldarg.1 - IL_0095: castclass assembly/Test1/X13 + IL_0095: castclass Match01/Test1/X13 IL_009a: stloc.s V_9 IL_009c: ldloc.s V_8 - IL_009e: ldfld int32 assembly/Test1/X13::item + IL_009e: ldfld int32 Match01/Test1/X13::item IL_00a3: stloc.s V_4 IL_00a5: ldloc.s V_9 - IL_00a7: ldfld int32 assembly/Test1/X13::item + IL_00a7: ldfld int32 Match01/Test1/X13::item IL_00ac: stloc.s V_5 IL_00ae: ldloc.s V_4 IL_00b0: ldloc.s V_5 @@ -1360,16 +1326,16 @@ IL_00bb: ret IL_00bc: ldarg.0 - IL_00bd: castclass assembly/Test1/X14 + IL_00bd: castclass Match01/Test1/X14 IL_00c2: stloc.s V_10 IL_00c4: ldarg.1 - IL_00c5: castclass assembly/Test1/X14 + IL_00c5: castclass Match01/Test1/X14 IL_00ca: stloc.s V_11 IL_00cc: ldloc.s V_10 - IL_00ce: ldfld int32 assembly/Test1/X14::item + IL_00ce: ldfld int32 Match01/Test1/X14::item IL_00d3: stloc.s V_4 IL_00d5: ldloc.s V_11 - IL_00d7: ldfld int32 assembly/Test1/X14::item + IL_00d7: ldfld int32 Match01/Test1/X14::item IL_00dc: stloc.s V_5 IL_00de: ldloc.s V_4 IL_00e0: ldloc.s V_5 @@ -1386,21 +1352,21 @@ IL_00ef: ret } - .method public static int32 select1(class assembly/Test1 x) cil managed + .method public static int32 select1(class Match01/Test1 x) cil managed { .maxstack 8 IL_0000: nop IL_0001: ldarg.0 - IL_0002: call instance int32 assembly/Test1::get_Tag() + IL_0002: call instance int32 Match01/Test1::get_Tag() IL_0007: switch ( IL_001c, IL_0028, IL_002a, IL_002c) IL_001c: ldarg.0 - IL_001d: castclass assembly/Test1/X11 - IL_0022: ldfld int32 assembly/Test1/X11::item + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item IL_0027: ret IL_0028: ldc.i4.2 @@ -1413,18 +1379,18 @@ IL_002d: ret } - .method public static int32 fm(class assembly/Test1 y) cil managed + .method public static int32 fm(class Match01/Test1 y) cil managed { .maxstack 8 IL_0000: ldarg.0 - IL_0001: call int32 assembly::select1(class assembly/Test1) + IL_0001: call int32 Match01::select1(class Match01/Test1) IL_0006: ret } } -.class private abstract auto ansi sealed ''.$assembly +.class private abstract auto ansi sealed ''.$Match01 extends [runtime]System.Object { .method public static void main@() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.netcore.release.bsl similarity index 76% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.netcore.release.bsl index c6444083260..65aba2a52ca 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01.fs.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOff.fs.il.netcore.release.bsl @@ -39,15 +39,15 @@ -.class public abstract auto ansi sealed assembly +.class public abstract auto ansi sealed Match01 extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) .class abstract auto autochar serializable nested public beforefieldinit Test1 extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, + implements class [runtime]System.IEquatable`1, [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, + class [runtime]System.IComparable`1, [runtime]System.IComparable, [runtime]System.Collections.IStructuralComparable { @@ -64,7 +64,7 @@ } .class auto ansi serializable nested public beforefieldinit specialname X11 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 @@ -75,8 +75,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -87,22 +86,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.0 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X11::item + IL_0009: stfld int32 Match01/Test1/X11::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld int32 Match01/Test1/X11::item IL_0006: ret } @@ -113,12 +111,12 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11::get_Item() + .get instance int32 Match01/Test1/X11::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X12 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 @@ -129,8 +127,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -141,22 +138,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.1 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X12::item + IL_0009: stfld int32 Match01/Test1/X12::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld int32 Match01/Test1/X12::item IL_0006: ret } @@ -167,12 +163,12 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12::get_Item() + .get instance int32 Match01/Test1/X12::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X13 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 @@ -183,8 +179,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -195,22 +190,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.2 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X13::item + IL_0009: stfld int32 Match01/Test1/X13::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld int32 Match01/Test1/X13::item IL_0006: ret } @@ -221,12 +215,12 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13::get_Item() + .get instance int32 Match01/Test1/X13::get_Item() } } .class auto ansi serializable nested public beforefieldinit specialname X14 - extends assembly/Test1 + extends Match01/Test1 { .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 @@ -237,8 +231,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -249,22 +242,21 @@ .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.3 - IL_0002: call instance void assembly/Test1::.ctor(int32) + IL_0002: call instance void Match01/Test1::.ctor(int32) IL_0007: ldarg.0 IL_0008: ldarg.1 - IL_0009: stfld int32 assembly/Test1/X14::item + IL_0009: stfld int32 Match01/Test1/X14::item IL_000e: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld int32 Match01/Test1/X14::item IL_0006: ret } @@ -275,19 +267,18 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14::get_Item() + .get instance int32 Match01/Test1/X14::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X11 _obj + .field assembly class Match01/Test1/X11 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X11 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -300,20 +291,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X11 assembly/Test1/X11@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X11::item + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item IL_000b: ret } @@ -324,19 +314,18 @@ int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X11@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X12 _obj + .field assembly class Match01/Test1/X12 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X12 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -349,20 +338,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X12 assembly/Test1/X12@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X12::item + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item IL_000b: ret } @@ -373,19 +361,18 @@ int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X12@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X13 _obj + .field assembly class Match01/Test1/X13 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X13 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -398,20 +385,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X13 assembly/Test1/X13@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X13::item + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item IL_000b: ret } @@ -422,19 +408,18 @@ int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X13@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() } } .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy extends [runtime]System.Object { - .field assembly class assembly/Test1/X14 _obj + .field assembly class Match01/Test1/X14 _obj .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/Test1/X14 obj) cil managed + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -447,20 +432,19 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj IL_000d: ret } - .method public hidebysig instance int32 - get_Item() cil managed + .method public hidebysig instance int32 get_Item() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld class assembly/Test1/X14 assembly/Test1/X14@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/Test1/X14::item + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item IL_000b: ret } @@ -471,7 +455,7 @@ int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/Test1/X14@DebugTypeProxy::get_Item() + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() } } @@ -479,8 +463,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 _tag) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 @@ -493,157 +476,145 @@ IL_0001: call instance void [runtime]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/Test1::_tag + IL_0008: stfld int32 Match01/Test1::_tag IL_000d: ret } - .method public static class assembly/Test1 - NewX11(int32 item) cil managed + .method public static class Match01/Test1 NewX11(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X11::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX11() cil managed + .method public hidebysig instance bool get_IsX11() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.0 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX12(int32 item) cil managed + .method public static class Match01/Test1 NewX12(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X12::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX12() cil managed + .method public hidebysig instance bool get_IsX12() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.1 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX13(int32 item) cil managed + .method public static class Match01/Test1 NewX13(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X13::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX13() cil managed + .method public hidebysig instance bool get_IsX13() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.2 IL_0007: ceq IL_0009: ret } - .method public static class assembly/Test1 - NewX14(int32 item) cil managed + .method public static class Match01/Test1 NewX14(int32 item) cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/Test1/X14::.ctor(int32) + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) IL_0006: ret } - .method public hidebysig instance bool - get_IsX14() cil managed + .method public hidebysig instance bool get_IsX14() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: call instance int32 assembly/Test1::get_Tag() + IL_0001: call instance int32 Match01/Test1::get_Tag() IL_0006: ldc.i4.3 IL_0007: ceq IL_0009: ret } - .method public hidebysig instance int32 - get_Tag() cil managed + .method public hidebysig instance int32 get_Tag() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: ret } - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public strict virtual instance string - ToString() cil managed + .method public strict virtual instance string ToString() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/Test1>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_0015: ret } - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -657,8 +628,8 @@ IL_0006: ldarg.0 IL_0007: ldarg.1 IL_0008: ldnull - IL_0009: call int32 assembly::CompareTo$cont@4(class assembly/Test1, - class assembly/Test1, + IL_0009: call int32 Match01::CompareTo$cont@4(class Match01/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_000e: ret @@ -675,16 +646,15 @@ IL_0017: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldarg.1 - IL_0002: unbox.any assembly/Test1 - IL_0007: callvirt instance int32 assembly/Test1::CompareTo(class assembly/Test1) + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) IL_000c: ret } @@ -695,9 +665,9 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 6 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: unbox.any assembly/Test1 + IL_0001: unbox.any Match01/Test1 IL_0006: stloc.0 IL_0007: ldarg.0 IL_0008: brfalse.s IL_0014 @@ -706,14 +676,14 @@ IL_000b: ldarg.1 IL_000c: ldloc.0 IL_000d: ldnull - IL_000e: call int32 assembly::'CompareTo$cont@4-1'(class assembly/Test1, + IL_000e: call int32 Match01::'CompareTo$cont@4-1'(class Match01/Test1, object, - class assembly/Test1, + class Match01/Test1, class [FSharp.Core]Microsoft.FSharp.Core.Unit) IL_0013: ret IL_0014: ldarg.1 - IL_0015: unbox.any assembly/Test1 + IL_0015: unbox.any Match01/Test1 IL_001a: brfalse.s IL_001e IL_001c: ldc.i4.m1 @@ -723,37 +693,36 @@ IL_001f: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 7 .locals init (int32 V_0, - class assembly/Test1/X11 V_1, - class assembly/Test1/X12 V_2, - class assembly/Test1/X13 V_3, - class assembly/Test1/X14 V_4) + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) IL_0000: ldarg.0 IL_0001: brfalse IL_00a5 IL_0006: ldc.i4.0 IL_0007: stloc.0 IL_0008: ldarg.0 - IL_0009: call instance int32 assembly/Test1::get_Tag() + IL_0009: call instance int32 Match01/Test1::get_Tag() IL_000e: switch ( IL_0023, IL_0043, IL_0063, IL_0083) IL_0023: ldarg.0 - IL_0024: castclass assembly/Test1/X11 + IL_0024: castclass Match01/Test1/X11 IL_0029: stloc.1 IL_002a: ldc.i4.0 IL_002b: stloc.0 IL_002c: ldc.i4 0x9e3779b9 IL_0031: ldloc.1 - IL_0032: ldfld int32 assembly/Test1/X11::item + IL_0032: ldfld int32 Match01/Test1/X11::item IL_0037: ldloc.0 IL_0038: ldc.i4.6 IL_0039: shl @@ -768,13 +737,13 @@ IL_0042: ret IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X12 + IL_0044: castclass Match01/Test1/X12 IL_0049: stloc.2 IL_004a: ldc.i4.1 IL_004b: stloc.0 IL_004c: ldc.i4 0x9e3779b9 IL_0051: ldloc.2 - IL_0052: ldfld int32 assembly/Test1/X12::item + IL_0052: ldfld int32 Match01/Test1/X12::item IL_0057: ldloc.0 IL_0058: ldc.i4.6 IL_0059: shl @@ -789,13 +758,13 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X13 + IL_0064: castclass Match01/Test1/X13 IL_0069: stloc.3 IL_006a: ldc.i4.2 IL_006b: stloc.0 IL_006c: ldc.i4 0x9e3779b9 IL_0071: ldloc.3 - IL_0072: ldfld int32 assembly/Test1/X13::item + IL_0072: ldfld int32 Match01/Test1/X13::item IL_0077: ldloc.0 IL_0078: ldc.i4.6 IL_0079: shl @@ -810,13 +779,13 @@ IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X14 + IL_0084: castclass Match01/Test1/X14 IL_0089: stloc.s V_4 IL_008b: ldc.i4.3 IL_008c: stloc.0 IL_008d: ldc.i4 0x9e3779b9 IL_0092: ldloc.s V_4 - IL_0094: ldfld int32 assembly/Test1/X14::item + IL_0094: ldfld int32 Match01/Test1/X14::item IL_0099: ldloc.0 IL_009a: ldc.i4.6 IL_009b: shl @@ -834,15 +803,14 @@ IL_00a6: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 8 IL_0000: ldarg.0 IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) IL_000b: ret } @@ -853,92 +821,92 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0, + .locals init (class Match01/Test1 V_0, int32 V_1, int32 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X11 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X14 V_9, - class assembly/Test1/X14 V_10) + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) IL_0000: ldarg.0 IL_0001: brfalse IL_00c9 IL_0006: ldarg.1 - IL_0007: isinst assembly/Test1 + IL_0007: isinst Match01/Test1 IL_000c: stloc.0 IL_000d: ldloc.0 IL_000e: brfalse IL_00c7 IL_0013: ldarg.0 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 - IL_001b: ldfld int32 assembly/Test1::_tag + IL_001b: ldfld int32 Match01/Test1::_tag IL_0020: stloc.2 IL_0021: ldloc.1 IL_0022: ldloc.2 IL_0023: bne.un IL_00c5 IL_0028: ldarg.0 - IL_0029: call instance int32 assembly/Test1::get_Tag() + IL_0029: call instance int32 Match01/Test1::get_Tag() IL_002e: switch ( IL_0043, IL_0062, IL_0083, IL_00a4) IL_0043: ldarg.0 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.0 - IL_004b: castclass assembly/Test1/X11 + IL_004b: castclass Match01/Test1/X11 IL_0050: stloc.s V_4 IL_0052: ldloc.3 - IL_0053: ldfld int32 assembly/Test1/X11::item + IL_0053: ldfld int32 Match01/Test1/X11::item IL_0058: ldloc.s V_4 - IL_005a: ldfld int32 assembly/Test1/X11::item + IL_005a: ldfld int32 Match01/Test1/X11::item IL_005f: ceq IL_0061: ret IL_0062: ldarg.0 - IL_0063: castclass assembly/Test1/X12 + IL_0063: castclass Match01/Test1/X12 IL_0068: stloc.s V_5 IL_006a: ldloc.0 - IL_006b: castclass assembly/Test1/X12 + IL_006b: castclass Match01/Test1/X12 IL_0070: stloc.s V_6 IL_0072: ldloc.s V_5 - IL_0074: ldfld int32 assembly/Test1/X12::item + IL_0074: ldfld int32 Match01/Test1/X12::item IL_0079: ldloc.s V_6 - IL_007b: ldfld int32 assembly/Test1/X12::item + IL_007b: ldfld int32 Match01/Test1/X12::item IL_0080: ceq IL_0082: ret IL_0083: ldarg.0 - IL_0084: castclass assembly/Test1/X13 + IL_0084: castclass Match01/Test1/X13 IL_0089: stloc.s V_7 IL_008b: ldloc.0 - IL_008c: castclass assembly/Test1/X13 + IL_008c: castclass Match01/Test1/X13 IL_0091: stloc.s V_8 IL_0093: ldloc.s V_7 - IL_0095: ldfld int32 assembly/Test1/X13::item + IL_0095: ldfld int32 Match01/Test1/X13::item IL_009a: ldloc.s V_8 - IL_009c: ldfld int32 assembly/Test1/X13::item + IL_009c: ldfld int32 Match01/Test1/X13::item IL_00a1: ceq IL_00a3: ret IL_00a4: ldarg.0 - IL_00a5: castclass assembly/Test1/X14 + IL_00a5: castclass Match01/Test1/X14 IL_00aa: stloc.s V_9 IL_00ac: ldloc.0 - IL_00ad: castclass assembly/Test1/X14 + IL_00ad: castclass Match01/Test1/X14 IL_00b2: stloc.s V_10 IL_00b4: ldloc.s V_9 - IL_00b6: ldfld int32 assembly/Test1/X14::item + IL_00b6: ldfld int32 Match01/Test1/X14::item IL_00bb: ldloc.s V_10 - IL_00bd: ldfld int32 assembly/Test1/X14::item + IL_00bd: ldfld int32 Match01/Test1/X14::item IL_00c2: ceq IL_00c4: ret @@ -956,22 +924,21 @@ IL_00d0: ret } - .method public hidebysig virtual final - instance bool Equals(class assembly/Test1 obj) cil managed + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, - class assembly/Test1/X12 V_4, - class assembly/Test1/X12 V_5, - class assembly/Test1/X13 V_6, - class assembly/Test1/X13 V_7, - class assembly/Test1/X14 V_8, - class assembly/Test1/X14 V_9) + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) IL_0000: ldarg.0 IL_0001: brfalse IL_00c0 @@ -979,71 +946,71 @@ IL_0007: brfalse IL_00be IL_000c: ldarg.0 - IL_000d: ldfld int32 assembly/Test1::_tag + IL_000d: ldfld int32 Match01/Test1::_tag IL_0012: stloc.0 IL_0013: ldarg.1 - IL_0014: ldfld int32 assembly/Test1::_tag + IL_0014: ldfld int32 Match01/Test1::_tag IL_0019: stloc.1 IL_001a: ldloc.0 IL_001b: ldloc.1 IL_001c: bne.un IL_00bc IL_0021: ldarg.0 - IL_0022: call instance int32 assembly/Test1::get_Tag() + IL_0022: call instance int32 Match01/Test1::get_Tag() IL_0027: switch ( IL_003c, IL_0059, IL_007a, IL_009b) IL_003c: ldarg.0 - IL_003d: castclass assembly/Test1/X11 + IL_003d: castclass Match01/Test1/X11 IL_0042: stloc.2 IL_0043: ldarg.1 - IL_0044: castclass assembly/Test1/X11 + IL_0044: castclass Match01/Test1/X11 IL_0049: stloc.3 IL_004a: ldloc.2 - IL_004b: ldfld int32 assembly/Test1/X11::item + IL_004b: ldfld int32 Match01/Test1/X11::item IL_0050: ldloc.3 - IL_0051: ldfld int32 assembly/Test1/X11::item + IL_0051: ldfld int32 Match01/Test1/X11::item IL_0056: ceq IL_0058: ret IL_0059: ldarg.0 - IL_005a: castclass assembly/Test1/X12 + IL_005a: castclass Match01/Test1/X12 IL_005f: stloc.s V_4 IL_0061: ldarg.1 - IL_0062: castclass assembly/Test1/X12 + IL_0062: castclass Match01/Test1/X12 IL_0067: stloc.s V_5 IL_0069: ldloc.s V_4 - IL_006b: ldfld int32 assembly/Test1/X12::item + IL_006b: ldfld int32 Match01/Test1/X12::item IL_0070: ldloc.s V_5 - IL_0072: ldfld int32 assembly/Test1/X12::item + IL_0072: ldfld int32 Match01/Test1/X12::item IL_0077: ceq IL_0079: ret IL_007a: ldarg.0 - IL_007b: castclass assembly/Test1/X13 + IL_007b: castclass Match01/Test1/X13 IL_0080: stloc.s V_6 IL_0082: ldarg.1 - IL_0083: castclass assembly/Test1/X13 + IL_0083: castclass Match01/Test1/X13 IL_0088: stloc.s V_7 IL_008a: ldloc.s V_6 - IL_008c: ldfld int32 assembly/Test1/X13::item + IL_008c: ldfld int32 Match01/Test1/X13::item IL_0091: ldloc.s V_7 - IL_0093: ldfld int32 assembly/Test1/X13::item + IL_0093: ldfld int32 Match01/Test1/X13::item IL_0098: ceq IL_009a: ret IL_009b: ldarg.0 - IL_009c: castclass assembly/Test1/X14 + IL_009c: castclass Match01/Test1/X14 IL_00a1: stloc.s V_8 IL_00a3: ldarg.1 - IL_00a4: castclass assembly/Test1/X14 + IL_00a4: castclass Match01/Test1/X14 IL_00a9: stloc.s V_9 IL_00ab: ldloc.s V_8 - IL_00ad: ldfld int32 assembly/Test1/X14::item + IL_00ad: ldfld int32 Match01/Test1/X14::item IL_00b2: ldloc.s V_9 - IL_00b4: ldfld int32 assembly/Test1/X14::item + IL_00b4: ldfld int32 Match01/Test1/X14::item IL_00b9: ceq IL_00bb: ret @@ -1061,22 +1028,21 @@ IL_00c7: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .maxstack 4 - .locals init (class assembly/Test1 V_0) + .locals init (class Match01/Test1 V_0) IL_0000: ldarg.1 - IL_0001: isinst assembly/Test1 + IL_0001: isinst Match01/Test1 IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: brfalse.s IL_0012 IL_000a: ldarg.0 IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/Test1::Equals(class assembly/Test1) + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) IL_0011: ret IL_0012: ldc.i4.0 @@ -1088,40 +1054,40 @@ .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/Test1::get_Tag() + .get instance int32 Match01/Test1::get_Tag() } .property instance bool IsX11() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX11() + .get instance bool Match01/Test1::get_IsX11() } .property instance bool IsX12() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX12() + .get instance bool Match01/Test1::get_IsX12() } .property instance bool IsX13() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX13() + .get instance bool Match01/Test1::get_IsX13() } .property instance bool IsX14() { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/Test1::get_IsX14() + .get instance bool Match01/Test1::get_IsX14() } } - .method assembly static int32 CompareTo$cont@4(class assembly/Test1 this, - class assembly/Test1 obj, + .method assembly static int32 CompareTo$cont@4(class Match01/Test1 this, + class Match01/Test1 obj, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1129,47 +1095,47 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, class [runtime]System.Collections.IComparer V_4, int32 V_5, int32 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X12 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X13 V_10, - class assembly/Test1/X14 V_11, - class assembly/Test1/X14 V_12) + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/Test1::_tag + IL_0001: ldfld int32 Match01/Test1::_tag IL_0006: stloc.0 IL_0007: ldarg.1 - IL_0008: ldfld int32 assembly/Test1::_tag + IL_0008: ldfld int32 Match01/Test1::_tag IL_000d: stloc.1 IL_000e: ldloc.0 IL_000f: ldloc.1 IL_0010: bne.un IL_0108 IL_0015: ldarg.0 - IL_0016: call instance int32 assembly/Test1::get_Tag() + IL_0016: call instance int32 Match01/Test1::get_Tag() IL_001b: switch ( IL_0030, IL_0063, IL_009a, IL_00d1) IL_0030: ldarg.0 - IL_0031: castclass assembly/Test1/X11 + IL_0031: castclass Match01/Test1/X11 IL_0036: stloc.2 IL_0037: ldarg.1 - IL_0038: castclass assembly/Test1/X11 + IL_0038: castclass Match01/Test1/X11 IL_003d: stloc.3 IL_003e: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0043: stloc.s V_4 IL_0045: ldloc.2 - IL_0046: ldfld int32 assembly/Test1/X11::item + IL_0046: ldfld int32 Match01/Test1/X11::item IL_004b: stloc.s V_5 IL_004d: ldloc.3 - IL_004e: ldfld int32 assembly/Test1/X11::item + IL_004e: ldfld int32 Match01/Test1/X11::item IL_0053: stloc.s V_6 IL_0055: ldloc.s V_5 IL_0057: ldloc.s V_6 @@ -1181,18 +1147,18 @@ IL_0062: ret IL_0063: ldarg.0 - IL_0064: castclass assembly/Test1/X12 + IL_0064: castclass Match01/Test1/X12 IL_0069: stloc.s V_7 IL_006b: ldarg.1 - IL_006c: castclass assembly/Test1/X12 + IL_006c: castclass Match01/Test1/X12 IL_0071: stloc.s V_8 IL_0073: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_0078: stloc.s V_4 IL_007a: ldloc.s V_7 - IL_007c: ldfld int32 assembly/Test1/X12::item + IL_007c: ldfld int32 Match01/Test1/X12::item IL_0081: stloc.s V_5 IL_0083: ldloc.s V_8 - IL_0085: ldfld int32 assembly/Test1/X12::item + IL_0085: ldfld int32 Match01/Test1/X12::item IL_008a: stloc.s V_6 IL_008c: ldloc.s V_5 IL_008e: ldloc.s V_6 @@ -1204,18 +1170,18 @@ IL_0099: ret IL_009a: ldarg.0 - IL_009b: castclass assembly/Test1/X13 + IL_009b: castclass Match01/Test1/X13 IL_00a0: stloc.s V_9 IL_00a2: ldarg.1 - IL_00a3: castclass assembly/Test1/X13 + IL_00a3: castclass Match01/Test1/X13 IL_00a8: stloc.s V_10 IL_00aa: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00af: stloc.s V_4 IL_00b1: ldloc.s V_9 - IL_00b3: ldfld int32 assembly/Test1/X13::item + IL_00b3: ldfld int32 Match01/Test1/X13::item IL_00b8: stloc.s V_5 IL_00ba: ldloc.s V_10 - IL_00bc: ldfld int32 assembly/Test1/X13::item + IL_00bc: ldfld int32 Match01/Test1/X13::item IL_00c1: stloc.s V_6 IL_00c3: ldloc.s V_5 IL_00c5: ldloc.s V_6 @@ -1227,18 +1193,18 @@ IL_00d0: ret IL_00d1: ldarg.0 - IL_00d2: castclass assembly/Test1/X14 + IL_00d2: castclass Match01/Test1/X14 IL_00d7: stloc.s V_11 IL_00d9: ldarg.1 - IL_00da: castclass assembly/Test1/X14 + IL_00da: castclass Match01/Test1/X14 IL_00df: stloc.s V_12 IL_00e1: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() IL_00e6: stloc.s V_4 IL_00e8: ldloc.s V_11 - IL_00ea: ldfld int32 assembly/Test1/X14::item + IL_00ea: ldfld int32 Match01/Test1/X14::item IL_00ef: stloc.s V_5 IL_00f1: ldloc.s V_12 - IL_00f3: ldfld int32 assembly/Test1/X14::item + IL_00f3: ldfld int32 Match01/Test1/X14::item IL_00f8: stloc.s V_6 IL_00fa: ldloc.s V_5 IL_00fc: ldloc.s V_6 @@ -1255,9 +1221,9 @@ IL_010b: ret } - .method assembly static int32 'CompareTo$cont@4-1'(class assembly/Test1 this, + .method assembly static int32 'CompareTo$cont@4-1'(class Match01/Test1 this, object obj, - class assembly/Test1 objTemp, + class Match01/Test1 objTemp, class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -1265,48 +1231,48 @@ .maxstack 5 .locals init (int32 V_0, int32 V_1, - class assembly/Test1/X11 V_2, - class assembly/Test1/X11 V_3, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, int32 V_4, int32 V_5, - class assembly/Test1/X12 V_6, - class assembly/Test1/X12 V_7, - class assembly/Test1/X13 V_8, - class assembly/Test1/X13 V_9, - class assembly/Test1/X14 V_10, - class assembly/Test1/X14 V_11) + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) IL_0000: ldarg.1 - IL_0001: unbox.any assembly/Test1 + IL_0001: unbox.any Match01/Test1 IL_0006: brfalse IL_00fb IL_000b: ldarg.0 - IL_000c: ldfld int32 assembly/Test1::_tag + IL_000c: ldfld int32 Match01/Test1::_tag IL_0011: stloc.0 IL_0012: ldarg.2 - IL_0013: ldfld int32 assembly/Test1::_tag + IL_0013: ldfld int32 Match01/Test1::_tag IL_0018: stloc.1 IL_0019: ldloc.0 IL_001a: ldloc.1 IL_001b: bne.un IL_00f7 IL_0020: ldarg.0 - IL_0021: call instance int32 assembly/Test1::get_Tag() + IL_0021: call instance int32 Match01/Test1::get_Tag() IL_0026: switch ( IL_003b, IL_0067, IL_0097, IL_00c7) IL_003b: ldarg.0 - IL_003c: castclass assembly/Test1/X11 + IL_003c: castclass Match01/Test1/X11 IL_0041: stloc.2 IL_0042: ldarg.2 - IL_0043: castclass assembly/Test1/X11 + IL_0043: castclass Match01/Test1/X11 IL_0048: stloc.3 IL_0049: ldloc.2 - IL_004a: ldfld int32 assembly/Test1/X11::item + IL_004a: ldfld int32 Match01/Test1/X11::item IL_004f: stloc.s V_4 IL_0051: ldloc.3 - IL_0052: ldfld int32 assembly/Test1/X11::item + IL_0052: ldfld int32 Match01/Test1/X11::item IL_0057: stloc.s V_5 IL_0059: ldloc.s V_4 IL_005b: ldloc.s V_5 @@ -1318,16 +1284,16 @@ IL_0066: ret IL_0067: ldarg.0 - IL_0068: castclass assembly/Test1/X12 + IL_0068: castclass Match01/Test1/X12 IL_006d: stloc.s V_6 IL_006f: ldarg.2 - IL_0070: castclass assembly/Test1/X12 + IL_0070: castclass Match01/Test1/X12 IL_0075: stloc.s V_7 IL_0077: ldloc.s V_6 - IL_0079: ldfld int32 assembly/Test1/X12::item + IL_0079: ldfld int32 Match01/Test1/X12::item IL_007e: stloc.s V_4 IL_0080: ldloc.s V_7 - IL_0082: ldfld int32 assembly/Test1/X12::item + IL_0082: ldfld int32 Match01/Test1/X12::item IL_0087: stloc.s V_5 IL_0089: ldloc.s V_4 IL_008b: ldloc.s V_5 @@ -1339,16 +1305,16 @@ IL_0096: ret IL_0097: ldarg.0 - IL_0098: castclass assembly/Test1/X13 + IL_0098: castclass Match01/Test1/X13 IL_009d: stloc.s V_8 IL_009f: ldarg.2 - IL_00a0: castclass assembly/Test1/X13 + IL_00a0: castclass Match01/Test1/X13 IL_00a5: stloc.s V_9 IL_00a7: ldloc.s V_8 - IL_00a9: ldfld int32 assembly/Test1/X13::item + IL_00a9: ldfld int32 Match01/Test1/X13::item IL_00ae: stloc.s V_4 IL_00b0: ldloc.s V_9 - IL_00b2: ldfld int32 assembly/Test1/X13::item + IL_00b2: ldfld int32 Match01/Test1/X13::item IL_00b7: stloc.s V_5 IL_00b9: ldloc.s V_4 IL_00bb: ldloc.s V_5 @@ -1360,16 +1326,16 @@ IL_00c6: ret IL_00c7: ldarg.0 - IL_00c8: castclass assembly/Test1/X14 + IL_00c8: castclass Match01/Test1/X14 IL_00cd: stloc.s V_10 IL_00cf: ldarg.2 - IL_00d0: castclass assembly/Test1/X14 + IL_00d0: castclass Match01/Test1/X14 IL_00d5: stloc.s V_11 IL_00d7: ldloc.s V_10 - IL_00d9: ldfld int32 assembly/Test1/X14::item + IL_00d9: ldfld int32 Match01/Test1/X14::item IL_00de: stloc.s V_4 IL_00e0: ldloc.s V_11 - IL_00e2: ldfld int32 assembly/Test1/X14::item + IL_00e2: ldfld int32 Match01/Test1/X14::item IL_00e7: stloc.s V_5 IL_00e9: ldloc.s V_4 IL_00eb: ldloc.s V_5 @@ -1389,21 +1355,21 @@ IL_00fc: ret } - .method public static int32 select1(class assembly/Test1 x) cil managed + .method public static int32 select1(class Match01/Test1 x) cil managed { .maxstack 8 IL_0000: nop IL_0001: ldarg.0 - IL_0002: call instance int32 assembly/Test1::get_Tag() + IL_0002: call instance int32 Match01/Test1::get_Tag() IL_0007: switch ( IL_001c, IL_0028, IL_002a, IL_002c) IL_001c: ldarg.0 - IL_001d: castclass assembly/Test1/X11 - IL_0022: ldfld int32 assembly/Test1/X11::item + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item IL_0027: ret IL_0028: ldc.i4.2 @@ -1416,18 +1382,18 @@ IL_002d: ret } - .method public static int32 fm(class assembly/Test1 y) cil managed + .method public static int32 fm(class Match01/Test1 y) cil managed { .maxstack 8 IL_0000: ldarg.0 - IL_0001: call int32 assembly::select1(class assembly/Test1) + IL_0001: call int32 Match01::select1(class Match01/Test1) IL_0006: ret } } -.class private abstract auto ansi sealed ''.$assembly +.class private abstract auto ansi sealed ''.$Match01 extends [runtime]System.Object { .method public static void main@() cil managed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..455b569c200 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs @@ -0,0 +1,18 @@ +// #NoMono #CodeGen #Optimizations +module Match01 + +type Test1 = + | X11 of int + | X12 of int + | X13 of int + | X14 of int + +let select1 x = + match x with + | X11 x1 -> x1 + | X12 _ -> 2 + | X13 _ -> 3 + | X14 _ -> 4 + +// select1 is not supposed to be inlined here +let fm y = select1 y diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..3e70be9b6f3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.debug.bsl @@ -0,0 +1,1590 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Match01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit Test1 + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 X11 = int32(0x00000000) + .field public static literal int32 X12 = int32(0x00000001) + .field public static literal int32 X13 = int32(0x00000002) + .field public static literal int32 X14 = int32(0x00000003) + } + + .class auto ansi serializable nested public beforefieldinit specialname X11 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X11::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X11::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X12 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.1 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X12::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X12::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X13 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X13::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X13::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X14 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X14::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X14::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X11 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X12 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X13 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X14 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit clo@4 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/clo@4::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0014: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class [runtime]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0006: ldfld int32 Match01/Test1::_tag + IL_000b: stloc.0 + IL_000c: ldarg.0 + IL_000d: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0012: ldfld int32 Match01/Test1::_tag + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: ldloc.1 + IL_001a: bne.un IL_013f + + IL_001f: ldarg.0 + IL_0020: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0025: call instance int32 Match01/Test1::get_Tag() + IL_002a: switch ( + IL_003f, + IL_007c, + IL_00bd, + IL_00fe) + IL_003f: ldarg.0 + IL_0040: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0045: castclass Match01/Test1/X11 + IL_004a: stloc.2 + IL_004b: ldarg.0 + IL_004c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0051: castclass Match01/Test1/X11 + IL_0056: stloc.3 + IL_0057: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_005c: stloc.s V_4 + IL_005e: ldloc.2 + IL_005f: ldfld int32 Match01/Test1/X11::item + IL_0064: stloc.s V_5 + IL_0066: ldloc.3 + IL_0067: ldfld int32 Match01/Test1/X11::item + IL_006c: stloc.s V_6 + IL_006e: ldloc.s V_5 + IL_0070: ldloc.s V_6 + IL_0072: cgt + IL_0074: ldloc.s V_5 + IL_0076: ldloc.s V_6 + IL_0078: clt + IL_007a: sub + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0082: castclass Match01/Test1/X12 + IL_0087: stloc.s V_7 + IL_0089: ldarg.0 + IL_008a: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_008f: castclass Match01/Test1/X12 + IL_0094: stloc.s V_8 + IL_0096: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_009b: stloc.s V_4 + IL_009d: ldloc.s V_7 + IL_009f: ldfld int32 Match01/Test1/X12::item + IL_00a4: stloc.s V_5 + IL_00a6: ldloc.s V_8 + IL_00a8: ldfld int32 Match01/Test1/X12::item + IL_00ad: stloc.s V_6 + IL_00af: ldloc.s V_5 + IL_00b1: ldloc.s V_6 + IL_00b3: cgt + IL_00b5: ldloc.s V_5 + IL_00b7: ldloc.s V_6 + IL_00b9: clt + IL_00bb: sub + IL_00bc: ret + + IL_00bd: ldarg.0 + IL_00be: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_00c3: castclass Match01/Test1/X13 + IL_00c8: stloc.s V_9 + IL_00ca: ldarg.0 + IL_00cb: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_00d0: castclass Match01/Test1/X13 + IL_00d5: stloc.s V_10 + IL_00d7: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_00dc: stloc.s V_4 + IL_00de: ldloc.s V_9 + IL_00e0: ldfld int32 Match01/Test1/X13::item + IL_00e5: stloc.s V_5 + IL_00e7: ldloc.s V_10 + IL_00e9: ldfld int32 Match01/Test1/X13::item + IL_00ee: stloc.s V_6 + IL_00f0: ldloc.s V_5 + IL_00f2: ldloc.s V_6 + IL_00f4: cgt + IL_00f6: ldloc.s V_5 + IL_00f8: ldloc.s V_6 + IL_00fa: clt + IL_00fc: sub + IL_00fd: ret + + IL_00fe: ldarg.0 + IL_00ff: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0104: castclass Match01/Test1/X14 + IL_0109: stloc.s V_11 + IL_010b: ldarg.0 + IL_010c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0111: castclass Match01/Test1/X14 + IL_0116: stloc.s V_12 + IL_0118: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_011d: stloc.s V_4 + IL_011f: ldloc.s V_11 + IL_0121: ldfld int32 Match01/Test1/X14::item + IL_0126: stloc.s V_5 + IL_0128: ldloc.s V_12 + IL_012a: ldfld int32 Match01/Test1/X14::item + IL_012f: stloc.s V_6 + IL_0131: ldloc.s V_5 + IL_0133: ldloc.s V_6 + IL_0135: cgt + IL_0137: ldloc.s V_5 + IL_0139: ldloc.s V_6 + IL_013b: clt + IL_013d: sub + IL_013e: ret + + IL_013f: ldloc.0 + IL_0140: ldloc.1 + IL_0141: sub + IL_0142: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'clo@4-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 objTemp + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + class Match01/Test1 objTemp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0014: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + int32 V_4, + int32 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0006: ldfld int32 Match01/Test1::_tag + IL_000b: stloc.0 + IL_000c: ldarg.0 + IL_000d: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0012: ldfld int32 Match01/Test1::_tag + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: ldloc.1 + IL_001a: bne.un IL_0123 + + IL_001f: ldarg.0 + IL_0020: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0025: call instance int32 Match01/Test1::get_Tag() + IL_002a: switch ( + IL_003f, + IL_0075, + IL_00af, + IL_00e9) + IL_003f: ldarg.0 + IL_0040: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0045: castclass Match01/Test1/X11 + IL_004a: stloc.2 + IL_004b: ldarg.0 + IL_004c: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0051: castclass Match01/Test1/X11 + IL_0056: stloc.3 + IL_0057: ldloc.2 + IL_0058: ldfld int32 Match01/Test1/X11::item + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldfld int32 Match01/Test1/X11::item + IL_0065: stloc.s V_5 + IL_0067: ldloc.s V_4 + IL_0069: ldloc.s V_5 + IL_006b: cgt + IL_006d: ldloc.s V_4 + IL_006f: ldloc.s V_5 + IL_0071: clt + IL_0073: sub + IL_0074: ret + + IL_0075: ldarg.0 + IL_0076: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_007b: castclass Match01/Test1/X12 + IL_0080: stloc.s V_6 + IL_0082: ldarg.0 + IL_0083: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0088: castclass Match01/Test1/X12 + IL_008d: stloc.s V_7 + IL_008f: ldloc.s V_6 + IL_0091: ldfld int32 Match01/Test1/X12::item + IL_0096: stloc.s V_4 + IL_0098: ldloc.s V_7 + IL_009a: ldfld int32 Match01/Test1/X12::item + IL_009f: stloc.s V_5 + IL_00a1: ldloc.s V_4 + IL_00a3: ldloc.s V_5 + IL_00a5: cgt + IL_00a7: ldloc.s V_4 + IL_00a9: ldloc.s V_5 + IL_00ab: clt + IL_00ad: sub + IL_00ae: ret + + IL_00af: ldarg.0 + IL_00b0: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00b5: castclass Match01/Test1/X13 + IL_00ba: stloc.s V_8 + IL_00bc: ldarg.0 + IL_00bd: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_00c2: castclass Match01/Test1/X13 + IL_00c7: stloc.s V_9 + IL_00c9: ldloc.s V_8 + IL_00cb: ldfld int32 Match01/Test1/X13::item + IL_00d0: stloc.s V_4 + IL_00d2: ldloc.s V_9 + IL_00d4: ldfld int32 Match01/Test1/X13::item + IL_00d9: stloc.s V_5 + IL_00db: ldloc.s V_4 + IL_00dd: ldloc.s V_5 + IL_00df: cgt + IL_00e1: ldloc.s V_4 + IL_00e3: ldloc.s V_5 + IL_00e5: clt + IL_00e7: sub + IL_00e8: ret + + IL_00e9: ldarg.0 + IL_00ea: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00ef: castclass Match01/Test1/X14 + IL_00f4: stloc.s V_10 + IL_00f6: ldarg.0 + IL_00f7: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_00fc: castclass Match01/Test1/X14 + IL_0101: stloc.s V_11 + IL_0103: ldloc.s V_10 + IL_0105: ldfld int32 Match01/Test1/X14::item + IL_010a: stloc.s V_4 + IL_010c: ldloc.s V_11 + IL_010e: ldfld int32 Match01/Test1/X14::item + IL_0113: stloc.s V_5 + IL_0115: ldloc.s V_4 + IL_0117: ldloc.s V_5 + IL_0119: cgt + IL_011b: ldloc.s V_4 + IL_011d: ldloc.s V_5 + IL_011f: clt + IL_0121: sub + IL_0122: ret + + IL_0123: ldloc.0 + IL_0124: ldloc.1 + IL_0125: sub + IL_0126: ret + } + + } + + .field assembly initonly int32 _tag + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 Match01/Test1::_tag + IL_000d: ret + } + + .method public static class Match01/Test1 NewX11(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX11() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX12(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX12() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.1 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX13(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX13() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.2 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX14(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX14() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.3 + IL_0007: ceq + IL_0009: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1::_tag + IL_0006: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001a + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0018 + + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: newobj instance void Match01/Test1/clo@4::.ctor(class Match01/Test1, + class Match01/Test1) + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: ldnull + IL_0010: tail. + IL_0012: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0017: ret + + IL_0018: ldc.i4.1 + IL_0019: ret + + IL_001a: ldarg.1 + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.m1 + IL_001e: ret + + IL_001f: ldc.i4.0 + IL_0020: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0026 + + IL_000a: ldarg.1 + IL_000b: unbox.any Match01/Test1 + IL_0010: brfalse.s IL_0024 + + IL_0012: ldarg.0 + IL_0013: ldloc.0 + IL_0014: newobj instance void Match01/Test1/'clo@4-1'::.ctor(class Match01/Test1, + class Match01/Test1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: ldnull + IL_001c: tail. + IL_001e: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0023: ret + + IL_0024: ldc.i4.1 + IL_0025: ret + + IL_0026: ldarg.1 + IL_0027: unbox.any Match01/Test1 + IL_002c: brfalse.s IL_0030 + + IL_002e: ldc.i4.m1 + IL_002f: ret + + IL_0030: ldc.i4.0 + IL_0031: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00a5 + + IL_0006: ldc.i4.0 + IL_0007: stloc.0 + IL_0008: ldarg.0 + IL_0009: call instance int32 Match01/Test1::get_Tag() + IL_000e: switch ( + IL_0023, + IL_0043, + IL_0063, + IL_0083) + IL_0023: ldarg.0 + IL_0024: castclass Match01/Test1/X11 + IL_0029: stloc.1 + IL_002a: ldc.i4.0 + IL_002b: stloc.0 + IL_002c: ldc.i4 0x9e3779b9 + IL_0031: ldloc.1 + IL_0032: ldfld int32 Match01/Test1/X11::item + IL_0037: ldloc.0 + IL_0038: ldc.i4.6 + IL_0039: shl + IL_003a: ldloc.0 + IL_003b: ldc.i4.2 + IL_003c: shr + IL_003d: add + IL_003e: add + IL_003f: add + IL_0040: stloc.0 + IL_0041: ldloc.0 + IL_0042: ret + + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X12 + IL_0049: stloc.2 + IL_004a: ldc.i4.1 + IL_004b: stloc.0 + IL_004c: ldc.i4 0x9e3779b9 + IL_0051: ldloc.2 + IL_0052: ldfld int32 Match01/Test1/X12::item + IL_0057: ldloc.0 + IL_0058: ldc.i4.6 + IL_0059: shl + IL_005a: ldloc.0 + IL_005b: ldc.i4.2 + IL_005c: shr + IL_005d: add + IL_005e: add + IL_005f: add + IL_0060: stloc.0 + IL_0061: ldloc.0 + IL_0062: ret + + IL_0063: ldarg.0 + IL_0064: castclass Match01/Test1/X13 + IL_0069: stloc.3 + IL_006a: ldc.i4.2 + IL_006b: stloc.0 + IL_006c: ldc.i4 0x9e3779b9 + IL_0071: ldloc.3 + IL_0072: ldfld int32 Match01/Test1/X13::item + IL_0077: ldloc.0 + IL_0078: ldc.i4.6 + IL_0079: shl + IL_007a: ldloc.0 + IL_007b: ldc.i4.2 + IL_007c: shr + IL_007d: add + IL_007e: add + IL_007f: add + IL_0080: stloc.0 + IL_0081: ldloc.0 + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X14 + IL_0089: stloc.s V_4 + IL_008b: ldc.i4.3 + IL_008c: stloc.0 + IL_008d: ldc.i4 0x9e3779b9 + IL_0092: ldloc.s V_4 + IL_0094: ldfld int32 Match01/Test1/X14::item + IL_0099: ldloc.0 + IL_009a: ldc.i4.6 + IL_009b: shl + IL_009c: ldloc.0 + IL_009d: ldc.i4.2 + IL_009e: shr + IL_009f: add + IL_00a0: add + IL_00a1: add + IL_00a2: stloc.0 + IL_00a3: ldloc.0 + IL_00a4: ret + + IL_00a5: ldc.i4.0 + IL_00a6: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0, + int32 V_1, + int32 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c9 + + IL_0006: ldarg.1 + IL_0007: isinst Match01/Test1 + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: brfalse IL_00c7 + + IL_0013: ldarg.0 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldfld int32 Match01/Test1::_tag + IL_0020: stloc.2 + IL_0021: ldloc.1 + IL_0022: ldloc.2 + IL_0023: bne.un IL_00c5 + + IL_0028: ldarg.0 + IL_0029: call instance int32 Match01/Test1::get_Tag() + IL_002e: switch ( + IL_0043, + IL_0062, + IL_0083, + IL_00a4) + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.0 + IL_004b: castclass Match01/Test1/X11 + IL_0050: stloc.s V_4 + IL_0052: ldloc.3 + IL_0053: ldfld int32 Match01/Test1/X11::item + IL_0058: ldloc.s V_4 + IL_005a: ldfld int32 Match01/Test1/X11::item + IL_005f: ceq + IL_0061: ret + + IL_0062: ldarg.0 + IL_0063: castclass Match01/Test1/X12 + IL_0068: stloc.s V_5 + IL_006a: ldloc.0 + IL_006b: castclass Match01/Test1/X12 + IL_0070: stloc.s V_6 + IL_0072: ldloc.s V_5 + IL_0074: ldfld int32 Match01/Test1/X12::item + IL_0079: ldloc.s V_6 + IL_007b: ldfld int32 Match01/Test1/X12::item + IL_0080: ceq + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X13 + IL_0089: stloc.s V_7 + IL_008b: ldloc.0 + IL_008c: castclass Match01/Test1/X13 + IL_0091: stloc.s V_8 + IL_0093: ldloc.s V_7 + IL_0095: ldfld int32 Match01/Test1/X13::item + IL_009a: ldloc.s V_8 + IL_009c: ldfld int32 Match01/Test1/X13::item + IL_00a1: ceq + IL_00a3: ret + + IL_00a4: ldarg.0 + IL_00a5: castclass Match01/Test1/X14 + IL_00aa: stloc.s V_9 + IL_00ac: ldloc.0 + IL_00ad: castclass Match01/Test1/X14 + IL_00b2: stloc.s V_10 + IL_00b4: ldloc.s V_9 + IL_00b6: ldfld int32 Match01/Test1/X14::item + IL_00bb: ldloc.s V_10 + IL_00bd: ldfld int32 Match01/Test1/X14::item + IL_00c2: ceq + IL_00c4: ret + + IL_00c5: ldc.i4.0 + IL_00c6: ret + + IL_00c7: ldc.i4.0 + IL_00c8: ret + + IL_00c9: ldarg.1 + IL_00ca: ldnull + IL_00cb: cgt.un + IL_00cd: ldc.i4.0 + IL_00ce: ceq + IL_00d0: ret + } + + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c0 + + IL_0006: ldarg.1 + IL_0007: brfalse IL_00be + + IL_000c: ldarg.0 + IL_000d: ldfld int32 Match01/Test1::_tag + IL_0012: stloc.0 + IL_0013: ldarg.1 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldloc.1 + IL_001c: bne.un IL_00bc + + IL_0021: ldarg.0 + IL_0022: call instance int32 Match01/Test1::get_Tag() + IL_0027: switch ( + IL_003c, + IL_0059, + IL_007a, + IL_009b) + IL_003c: ldarg.0 + IL_003d: castclass Match01/Test1/X11 + IL_0042: stloc.2 + IL_0043: ldarg.1 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.2 + IL_004b: ldfld int32 Match01/Test1/X11::item + IL_0050: ldloc.3 + IL_0051: ldfld int32 Match01/Test1/X11::item + IL_0056: ceq + IL_0058: ret + + IL_0059: ldarg.0 + IL_005a: castclass Match01/Test1/X12 + IL_005f: stloc.s V_4 + IL_0061: ldarg.1 + IL_0062: castclass Match01/Test1/X12 + IL_0067: stloc.s V_5 + IL_0069: ldloc.s V_4 + IL_006b: ldfld int32 Match01/Test1/X12::item + IL_0070: ldloc.s V_5 + IL_0072: ldfld int32 Match01/Test1/X12::item + IL_0077: ceq + IL_0079: ret + + IL_007a: ldarg.0 + IL_007b: castclass Match01/Test1/X13 + IL_0080: stloc.s V_6 + IL_0082: ldarg.1 + IL_0083: castclass Match01/Test1/X13 + IL_0088: stloc.s V_7 + IL_008a: ldloc.s V_6 + IL_008c: ldfld int32 Match01/Test1/X13::item + IL_0091: ldloc.s V_7 + IL_0093: ldfld int32 Match01/Test1/X13::item + IL_0098: ceq + IL_009a: ret + + IL_009b: ldarg.0 + IL_009c: castclass Match01/Test1/X14 + IL_00a1: stloc.s V_8 + IL_00a3: ldarg.1 + IL_00a4: castclass Match01/Test1/X14 + IL_00a9: stloc.s V_9 + IL_00ab: ldloc.s V_8 + IL_00ad: ldfld int32 Match01/Test1/X14::item + IL_00b2: ldloc.s V_9 + IL_00b4: ldfld int32 Match01/Test1/X14::item + IL_00b9: ceq + IL_00bb: ret + + IL_00bc: ldc.i4.0 + IL_00bd: ret + + IL_00be: ldc.i4.0 + IL_00bf: ret + + IL_00c0: ldarg.1 + IL_00c1: ldnull + IL_00c2: cgt.un + IL_00c4: ldc.i4.0 + IL_00c5: ceq + IL_00c7: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0) + IL_0000: ldarg.1 + IL_0001: isinst Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 Match01/Test1::get_Tag() + } + .property instance bool IsX11() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX11() + } + .property instance bool IsX12() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX12() + } + .property instance bool IsX13() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX13() + } + .property instance bool IsX14() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX14() + } + } + + .method public static int32 select1(class Match01/Test1 x) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: call instance int32 Match01/Test1::get_Tag() + IL_0007: switch ( + IL_001c, + IL_0028, + IL_002a, + IL_002c) + IL_001c: ldarg.0 + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item + IL_0027: ret + + IL_0028: ldc.i4.2 + IL_0029: ret + + IL_002a: ldc.i4.3 + IL_002b: ret + + IL_002c: ldc.i4.4 + IL_002d: ret + } + + .method public static int32 fm(class Match01/Test1 y) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call int32 Match01::select1(class Match01/Test1) + IL_0006: ret + } + +} + +.class private abstract auto ansi sealed ''.$Match01 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.release.bsl new file mode 100644 index 00000000000..8d01ee81962 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.net472.release.bsl @@ -0,0 +1,1601 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Match01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit Test1 + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 X11 = int32(0x00000000) + .field public static literal int32 X12 = int32(0x00000001) + .field public static literal int32 X13 = int32(0x00000002) + .field public static literal int32 X14 = int32(0x00000003) + } + + .class auto ansi serializable nested public beforefieldinit specialname X11 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X11::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X11::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X12 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.1 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X12::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X12::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X13 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X13::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X13::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X14 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X14::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X14::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X11 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X12 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X13 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X14 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit clo@4 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/clo@4::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0014: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class [runtime]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0006: ldfld int32 Match01/Test1::_tag + IL_000b: stloc.0 + IL_000c: ldarg.0 + IL_000d: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0012: ldfld int32 Match01/Test1::_tag + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: ldloc.1 + IL_001a: bne.un IL_013f + + IL_001f: ldarg.0 + IL_0020: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0025: call instance int32 Match01/Test1::get_Tag() + IL_002a: switch ( + IL_003f, + IL_007c, + IL_00bd, + IL_00fe) + IL_003f: ldarg.0 + IL_0040: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0045: castclass Match01/Test1/X11 + IL_004a: stloc.2 + IL_004b: ldarg.0 + IL_004c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0051: castclass Match01/Test1/X11 + IL_0056: stloc.3 + IL_0057: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_005c: stloc.s V_4 + IL_005e: ldloc.2 + IL_005f: ldfld int32 Match01/Test1/X11::item + IL_0064: stloc.s V_5 + IL_0066: ldloc.3 + IL_0067: ldfld int32 Match01/Test1/X11::item + IL_006c: stloc.s V_6 + IL_006e: ldloc.s V_5 + IL_0070: ldloc.s V_6 + IL_0072: cgt + IL_0074: ldloc.s V_5 + IL_0076: ldloc.s V_6 + IL_0078: clt + IL_007a: sub + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0082: castclass Match01/Test1/X12 + IL_0087: stloc.s V_7 + IL_0089: ldarg.0 + IL_008a: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_008f: castclass Match01/Test1/X12 + IL_0094: stloc.s V_8 + IL_0096: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_009b: stloc.s V_4 + IL_009d: ldloc.s V_7 + IL_009f: ldfld int32 Match01/Test1/X12::item + IL_00a4: stloc.s V_5 + IL_00a6: ldloc.s V_8 + IL_00a8: ldfld int32 Match01/Test1/X12::item + IL_00ad: stloc.s V_6 + IL_00af: ldloc.s V_5 + IL_00b1: ldloc.s V_6 + IL_00b3: cgt + IL_00b5: ldloc.s V_5 + IL_00b7: ldloc.s V_6 + IL_00b9: clt + IL_00bb: sub + IL_00bc: ret + + IL_00bd: ldarg.0 + IL_00be: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_00c3: castclass Match01/Test1/X13 + IL_00c8: stloc.s V_9 + IL_00ca: ldarg.0 + IL_00cb: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_00d0: castclass Match01/Test1/X13 + IL_00d5: stloc.s V_10 + IL_00d7: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_00dc: stloc.s V_4 + IL_00de: ldloc.s V_9 + IL_00e0: ldfld int32 Match01/Test1/X13::item + IL_00e5: stloc.s V_5 + IL_00e7: ldloc.s V_10 + IL_00e9: ldfld int32 Match01/Test1/X13::item + IL_00ee: stloc.s V_6 + IL_00f0: ldloc.s V_5 + IL_00f2: ldloc.s V_6 + IL_00f4: cgt + IL_00f6: ldloc.s V_5 + IL_00f8: ldloc.s V_6 + IL_00fa: clt + IL_00fc: sub + IL_00fd: ret + + IL_00fe: ldarg.0 + IL_00ff: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0104: castclass Match01/Test1/X14 + IL_0109: stloc.s V_11 + IL_010b: ldarg.0 + IL_010c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0111: castclass Match01/Test1/X14 + IL_0116: stloc.s V_12 + IL_0118: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_011d: stloc.s V_4 + IL_011f: ldloc.s V_11 + IL_0121: ldfld int32 Match01/Test1/X14::item + IL_0126: stloc.s V_5 + IL_0128: ldloc.s V_12 + IL_012a: ldfld int32 Match01/Test1/X14::item + IL_012f: stloc.s V_6 + IL_0131: ldloc.s V_5 + IL_0133: ldloc.s V_6 + IL_0135: cgt + IL_0137: ldloc.s V_5 + IL_0139: ldloc.s V_6 + IL_013b: clt + IL_013d: sub + IL_013e: ret + + IL_013f: ldloc.0 + IL_0140: ldloc.1 + IL_0141: sub + IL_0142: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'clo@4-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public object obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 objTemp + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + object obj, + class Match01/Test1 objTemp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld object Match01/Test1/'clo@4-1'::obj + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_001b: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + int32 V_4, + int32 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) + IL_0000: ldarg.0 + IL_0001: ldfld object Match01/Test1/'clo@4-1'::obj + IL_0006: unbox.any Match01/Test1 + IL_000b: brfalse IL_0137 + + IL_0010: ldarg.0 + IL_0011: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0016: ldfld int32 Match01/Test1::_tag + IL_001b: stloc.0 + IL_001c: ldarg.0 + IL_001d: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0022: ldfld int32 Match01/Test1::_tag + IL_0027: stloc.1 + IL_0028: ldloc.0 + IL_0029: ldloc.1 + IL_002a: bne.un IL_0133 + + IL_002f: ldarg.0 + IL_0030: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0035: call instance int32 Match01/Test1::get_Tag() + IL_003a: switch ( + IL_004f, + IL_0085, + IL_00bf, + IL_00f9) + IL_004f: ldarg.0 + IL_0050: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0055: castclass Match01/Test1/X11 + IL_005a: stloc.2 + IL_005b: ldarg.0 + IL_005c: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0061: castclass Match01/Test1/X11 + IL_0066: stloc.3 + IL_0067: ldloc.2 + IL_0068: ldfld int32 Match01/Test1/X11::item + IL_006d: stloc.s V_4 + IL_006f: ldloc.3 + IL_0070: ldfld int32 Match01/Test1/X11::item + IL_0075: stloc.s V_5 + IL_0077: ldloc.s V_4 + IL_0079: ldloc.s V_5 + IL_007b: cgt + IL_007d: ldloc.s V_4 + IL_007f: ldloc.s V_5 + IL_0081: clt + IL_0083: sub + IL_0084: ret + + IL_0085: ldarg.0 + IL_0086: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_008b: castclass Match01/Test1/X12 + IL_0090: stloc.s V_6 + IL_0092: ldarg.0 + IL_0093: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0098: castclass Match01/Test1/X12 + IL_009d: stloc.s V_7 + IL_009f: ldloc.s V_6 + IL_00a1: ldfld int32 Match01/Test1/X12::item + IL_00a6: stloc.s V_4 + IL_00a8: ldloc.s V_7 + IL_00aa: ldfld int32 Match01/Test1/X12::item + IL_00af: stloc.s V_5 + IL_00b1: ldloc.s V_4 + IL_00b3: ldloc.s V_5 + IL_00b5: cgt + IL_00b7: ldloc.s V_4 + IL_00b9: ldloc.s V_5 + IL_00bb: clt + IL_00bd: sub + IL_00be: ret + + IL_00bf: ldarg.0 + IL_00c0: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00c5: castclass Match01/Test1/X13 + IL_00ca: stloc.s V_8 + IL_00cc: ldarg.0 + IL_00cd: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_00d2: castclass Match01/Test1/X13 + IL_00d7: stloc.s V_9 + IL_00d9: ldloc.s V_8 + IL_00db: ldfld int32 Match01/Test1/X13::item + IL_00e0: stloc.s V_4 + IL_00e2: ldloc.s V_9 + IL_00e4: ldfld int32 Match01/Test1/X13::item + IL_00e9: stloc.s V_5 + IL_00eb: ldloc.s V_4 + IL_00ed: ldloc.s V_5 + IL_00ef: cgt + IL_00f1: ldloc.s V_4 + IL_00f3: ldloc.s V_5 + IL_00f5: clt + IL_00f7: sub + IL_00f8: ret + + IL_00f9: ldarg.0 + IL_00fa: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00ff: castclass Match01/Test1/X14 + IL_0104: stloc.s V_10 + IL_0106: ldarg.0 + IL_0107: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_010c: castclass Match01/Test1/X14 + IL_0111: stloc.s V_11 + IL_0113: ldloc.s V_10 + IL_0115: ldfld int32 Match01/Test1/X14::item + IL_011a: stloc.s V_4 + IL_011c: ldloc.s V_11 + IL_011e: ldfld int32 Match01/Test1/X14::item + IL_0123: stloc.s V_5 + IL_0125: ldloc.s V_4 + IL_0127: ldloc.s V_5 + IL_0129: cgt + IL_012b: ldloc.s V_4 + IL_012d: ldloc.s V_5 + IL_012f: clt + IL_0131: sub + IL_0132: ret + + IL_0133: ldloc.0 + IL_0134: ldloc.1 + IL_0135: sub + IL_0136: ret + + IL_0137: ldc.i4.1 + IL_0138: ret + } + + } + + .field assembly initonly int32 _tag + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 Match01/Test1::_tag + IL_000d: ret + } + + .method public static class Match01/Test1 NewX11(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX11() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX12(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX12() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.1 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX13(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX13() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.2 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX14(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX14() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.3 + IL_0007: ceq + IL_0009: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1::_tag + IL_0006: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001a + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0018 + + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: newobj instance void Match01/Test1/clo@4::.ctor(class Match01/Test1, + class Match01/Test1) + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: ldnull + IL_0010: tail. + IL_0012: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0017: ret + + IL_0018: ldc.i4.1 + IL_0019: ret + + IL_001a: ldarg.1 + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.m1 + IL_001e: ret + + IL_001f: ldc.i4.0 + IL_0020: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class Match01/Test1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_001d + + IL_000a: ldarg.0 + IL_000b: ldarg.1 + IL_000c: ldloc.0 + IL_000d: newobj instance void Match01/Test1/'clo@4-1'::.ctor(class Match01/Test1, + object, + class Match01/Test1) + IL_0012: stloc.1 + IL_0013: ldloc.1 + IL_0014: ldnull + IL_0015: tail. + IL_0017: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: unbox.any Match01/Test1 + IL_0023: brfalse.s IL_0027 + + IL_0025: ldc.i4.m1 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00a5 + + IL_0006: ldc.i4.0 + IL_0007: stloc.0 + IL_0008: ldarg.0 + IL_0009: call instance int32 Match01/Test1::get_Tag() + IL_000e: switch ( + IL_0023, + IL_0043, + IL_0063, + IL_0083) + IL_0023: ldarg.0 + IL_0024: castclass Match01/Test1/X11 + IL_0029: stloc.1 + IL_002a: ldc.i4.0 + IL_002b: stloc.0 + IL_002c: ldc.i4 0x9e3779b9 + IL_0031: ldloc.1 + IL_0032: ldfld int32 Match01/Test1/X11::item + IL_0037: ldloc.0 + IL_0038: ldc.i4.6 + IL_0039: shl + IL_003a: ldloc.0 + IL_003b: ldc.i4.2 + IL_003c: shr + IL_003d: add + IL_003e: add + IL_003f: add + IL_0040: stloc.0 + IL_0041: ldloc.0 + IL_0042: ret + + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X12 + IL_0049: stloc.2 + IL_004a: ldc.i4.1 + IL_004b: stloc.0 + IL_004c: ldc.i4 0x9e3779b9 + IL_0051: ldloc.2 + IL_0052: ldfld int32 Match01/Test1/X12::item + IL_0057: ldloc.0 + IL_0058: ldc.i4.6 + IL_0059: shl + IL_005a: ldloc.0 + IL_005b: ldc.i4.2 + IL_005c: shr + IL_005d: add + IL_005e: add + IL_005f: add + IL_0060: stloc.0 + IL_0061: ldloc.0 + IL_0062: ret + + IL_0063: ldarg.0 + IL_0064: castclass Match01/Test1/X13 + IL_0069: stloc.3 + IL_006a: ldc.i4.2 + IL_006b: stloc.0 + IL_006c: ldc.i4 0x9e3779b9 + IL_0071: ldloc.3 + IL_0072: ldfld int32 Match01/Test1/X13::item + IL_0077: ldloc.0 + IL_0078: ldc.i4.6 + IL_0079: shl + IL_007a: ldloc.0 + IL_007b: ldc.i4.2 + IL_007c: shr + IL_007d: add + IL_007e: add + IL_007f: add + IL_0080: stloc.0 + IL_0081: ldloc.0 + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X14 + IL_0089: stloc.s V_4 + IL_008b: ldc.i4.3 + IL_008c: stloc.0 + IL_008d: ldc.i4 0x9e3779b9 + IL_0092: ldloc.s V_4 + IL_0094: ldfld int32 Match01/Test1/X14::item + IL_0099: ldloc.0 + IL_009a: ldc.i4.6 + IL_009b: shl + IL_009c: ldloc.0 + IL_009d: ldc.i4.2 + IL_009e: shr + IL_009f: add + IL_00a0: add + IL_00a1: add + IL_00a2: stloc.0 + IL_00a3: ldloc.0 + IL_00a4: ret + + IL_00a5: ldc.i4.0 + IL_00a6: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0, + int32 V_1, + int32 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c9 + + IL_0006: ldarg.1 + IL_0007: isinst Match01/Test1 + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: brfalse IL_00c7 + + IL_0013: ldarg.0 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldfld int32 Match01/Test1::_tag + IL_0020: stloc.2 + IL_0021: ldloc.1 + IL_0022: ldloc.2 + IL_0023: bne.un IL_00c5 + + IL_0028: ldarg.0 + IL_0029: call instance int32 Match01/Test1::get_Tag() + IL_002e: switch ( + IL_0043, + IL_0062, + IL_0083, + IL_00a4) + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.0 + IL_004b: castclass Match01/Test1/X11 + IL_0050: stloc.s V_4 + IL_0052: ldloc.3 + IL_0053: ldfld int32 Match01/Test1/X11::item + IL_0058: ldloc.s V_4 + IL_005a: ldfld int32 Match01/Test1/X11::item + IL_005f: ceq + IL_0061: ret + + IL_0062: ldarg.0 + IL_0063: castclass Match01/Test1/X12 + IL_0068: stloc.s V_5 + IL_006a: ldloc.0 + IL_006b: castclass Match01/Test1/X12 + IL_0070: stloc.s V_6 + IL_0072: ldloc.s V_5 + IL_0074: ldfld int32 Match01/Test1/X12::item + IL_0079: ldloc.s V_6 + IL_007b: ldfld int32 Match01/Test1/X12::item + IL_0080: ceq + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X13 + IL_0089: stloc.s V_7 + IL_008b: ldloc.0 + IL_008c: castclass Match01/Test1/X13 + IL_0091: stloc.s V_8 + IL_0093: ldloc.s V_7 + IL_0095: ldfld int32 Match01/Test1/X13::item + IL_009a: ldloc.s V_8 + IL_009c: ldfld int32 Match01/Test1/X13::item + IL_00a1: ceq + IL_00a3: ret + + IL_00a4: ldarg.0 + IL_00a5: castclass Match01/Test1/X14 + IL_00aa: stloc.s V_9 + IL_00ac: ldloc.0 + IL_00ad: castclass Match01/Test1/X14 + IL_00b2: stloc.s V_10 + IL_00b4: ldloc.s V_9 + IL_00b6: ldfld int32 Match01/Test1/X14::item + IL_00bb: ldloc.s V_10 + IL_00bd: ldfld int32 Match01/Test1/X14::item + IL_00c2: ceq + IL_00c4: ret + + IL_00c5: ldc.i4.0 + IL_00c6: ret + + IL_00c7: ldc.i4.0 + IL_00c8: ret + + IL_00c9: ldarg.1 + IL_00ca: ldnull + IL_00cb: cgt.un + IL_00cd: ldc.i4.0 + IL_00ce: ceq + IL_00d0: ret + } + + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c0 + + IL_0006: ldarg.1 + IL_0007: brfalse IL_00be + + IL_000c: ldarg.0 + IL_000d: ldfld int32 Match01/Test1::_tag + IL_0012: stloc.0 + IL_0013: ldarg.1 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldloc.1 + IL_001c: bne.un IL_00bc + + IL_0021: ldarg.0 + IL_0022: call instance int32 Match01/Test1::get_Tag() + IL_0027: switch ( + IL_003c, + IL_0059, + IL_007a, + IL_009b) + IL_003c: ldarg.0 + IL_003d: castclass Match01/Test1/X11 + IL_0042: stloc.2 + IL_0043: ldarg.1 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.2 + IL_004b: ldfld int32 Match01/Test1/X11::item + IL_0050: ldloc.3 + IL_0051: ldfld int32 Match01/Test1/X11::item + IL_0056: ceq + IL_0058: ret + + IL_0059: ldarg.0 + IL_005a: castclass Match01/Test1/X12 + IL_005f: stloc.s V_4 + IL_0061: ldarg.1 + IL_0062: castclass Match01/Test1/X12 + IL_0067: stloc.s V_5 + IL_0069: ldloc.s V_4 + IL_006b: ldfld int32 Match01/Test1/X12::item + IL_0070: ldloc.s V_5 + IL_0072: ldfld int32 Match01/Test1/X12::item + IL_0077: ceq + IL_0079: ret + + IL_007a: ldarg.0 + IL_007b: castclass Match01/Test1/X13 + IL_0080: stloc.s V_6 + IL_0082: ldarg.1 + IL_0083: castclass Match01/Test1/X13 + IL_0088: stloc.s V_7 + IL_008a: ldloc.s V_6 + IL_008c: ldfld int32 Match01/Test1/X13::item + IL_0091: ldloc.s V_7 + IL_0093: ldfld int32 Match01/Test1/X13::item + IL_0098: ceq + IL_009a: ret + + IL_009b: ldarg.0 + IL_009c: castclass Match01/Test1/X14 + IL_00a1: stloc.s V_8 + IL_00a3: ldarg.1 + IL_00a4: castclass Match01/Test1/X14 + IL_00a9: stloc.s V_9 + IL_00ab: ldloc.s V_8 + IL_00ad: ldfld int32 Match01/Test1/X14::item + IL_00b2: ldloc.s V_9 + IL_00b4: ldfld int32 Match01/Test1/X14::item + IL_00b9: ceq + IL_00bb: ret + + IL_00bc: ldc.i4.0 + IL_00bd: ret + + IL_00be: ldc.i4.0 + IL_00bf: ret + + IL_00c0: ldarg.1 + IL_00c1: ldnull + IL_00c2: cgt.un + IL_00c4: ldc.i4.0 + IL_00c5: ceq + IL_00c7: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0) + IL_0000: ldarg.1 + IL_0001: isinst Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 Match01/Test1::get_Tag() + } + .property instance bool IsX11() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX11() + } + .property instance bool IsX12() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX12() + } + .property instance bool IsX13() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX13() + } + .property instance bool IsX14() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX14() + } + } + + .method public static int32 select1(class Match01/Test1 x) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: call instance int32 Match01/Test1::get_Tag() + IL_0007: switch ( + IL_001c, + IL_0028, + IL_002a, + IL_002c) + IL_001c: ldarg.0 + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item + IL_0027: ret + + IL_0028: ldc.i4.2 + IL_0029: ret + + IL_002a: ldc.i4.3 + IL_002b: ret + + IL_002c: ldc.i4.4 + IL_002d: ret + } + + .method public static int32 fm(class Match01/Test1 y) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call int32 Match01::select1(class Match01/Test1) + IL_0006: ret + } + +} + +.class private abstract auto ansi sealed ''.$Match01 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..466324f3310 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.debug.bsl @@ -0,0 +1,1498 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Match01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit Test1 + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 X11 = int32(0x00000000) + .field public static literal int32 X12 = int32(0x00000001) + .field public static literal int32 X13 = int32(0x00000002) + .field public static literal int32 X14 = int32(0x00000003) + } + + .class auto ansi serializable nested public beforefieldinit specialname X11 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X11::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X11::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X12 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.1 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X12::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X12::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X13 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X13::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X13::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X14 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X14::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X14::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X11 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X12 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X13 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X14 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit clo@4 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/clo@4::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0014: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class [runtime]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0006: ldfld int32 Match01/Test1::_tag + IL_000b: stloc.0 + IL_000c: ldarg.0 + IL_000d: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0012: ldfld int32 Match01/Test1::_tag + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: ldloc.1 + IL_001a: bne.un IL_013f + + IL_001f: ldarg.0 + IL_0020: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0025: call instance int32 Match01/Test1::get_Tag() + IL_002a: switch ( + IL_003f, + IL_007c, + IL_00bd, + IL_00fe) + IL_003f: ldarg.0 + IL_0040: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0045: castclass Match01/Test1/X11 + IL_004a: stloc.2 + IL_004b: ldarg.0 + IL_004c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0051: castclass Match01/Test1/X11 + IL_0056: stloc.3 + IL_0057: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_005c: stloc.s V_4 + IL_005e: ldloc.2 + IL_005f: ldfld int32 Match01/Test1/X11::item + IL_0064: stloc.s V_5 + IL_0066: ldloc.3 + IL_0067: ldfld int32 Match01/Test1/X11::item + IL_006c: stloc.s V_6 + IL_006e: ldloc.s V_5 + IL_0070: ldloc.s V_6 + IL_0072: cgt + IL_0074: ldloc.s V_5 + IL_0076: ldloc.s V_6 + IL_0078: clt + IL_007a: sub + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0082: castclass Match01/Test1/X12 + IL_0087: stloc.s V_7 + IL_0089: ldarg.0 + IL_008a: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_008f: castclass Match01/Test1/X12 + IL_0094: stloc.s V_8 + IL_0096: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_009b: stloc.s V_4 + IL_009d: ldloc.s V_7 + IL_009f: ldfld int32 Match01/Test1/X12::item + IL_00a4: stloc.s V_5 + IL_00a6: ldloc.s V_8 + IL_00a8: ldfld int32 Match01/Test1/X12::item + IL_00ad: stloc.s V_6 + IL_00af: ldloc.s V_5 + IL_00b1: ldloc.s V_6 + IL_00b3: cgt + IL_00b5: ldloc.s V_5 + IL_00b7: ldloc.s V_6 + IL_00b9: clt + IL_00bb: sub + IL_00bc: ret + + IL_00bd: ldarg.0 + IL_00be: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_00c3: castclass Match01/Test1/X13 + IL_00c8: stloc.s V_9 + IL_00ca: ldarg.0 + IL_00cb: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_00d0: castclass Match01/Test1/X13 + IL_00d5: stloc.s V_10 + IL_00d7: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_00dc: stloc.s V_4 + IL_00de: ldloc.s V_9 + IL_00e0: ldfld int32 Match01/Test1/X13::item + IL_00e5: stloc.s V_5 + IL_00e7: ldloc.s V_10 + IL_00e9: ldfld int32 Match01/Test1/X13::item + IL_00ee: stloc.s V_6 + IL_00f0: ldloc.s V_5 + IL_00f2: ldloc.s V_6 + IL_00f4: cgt + IL_00f6: ldloc.s V_5 + IL_00f8: ldloc.s V_6 + IL_00fa: clt + IL_00fc: sub + IL_00fd: ret + + IL_00fe: ldarg.0 + IL_00ff: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0104: castclass Match01/Test1/X14 + IL_0109: stloc.s V_11 + IL_010b: ldarg.0 + IL_010c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0111: castclass Match01/Test1/X14 + IL_0116: stloc.s V_12 + IL_0118: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_011d: stloc.s V_4 + IL_011f: ldloc.s V_11 + IL_0121: ldfld int32 Match01/Test1/X14::item + IL_0126: stloc.s V_5 + IL_0128: ldloc.s V_12 + IL_012a: ldfld int32 Match01/Test1/X14::item + IL_012f: stloc.s V_6 + IL_0131: ldloc.s V_5 + IL_0133: ldloc.s V_6 + IL_0135: cgt + IL_0137: ldloc.s V_5 + IL_0139: ldloc.s V_6 + IL_013b: clt + IL_013d: sub + IL_013e: ret + + IL_013f: ldloc.0 + IL_0140: ldloc.1 + IL_0141: sub + IL_0142: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'clo@4-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 objTemp + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + class Match01/Test1 objTemp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0014: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + int32 V_4, + int32 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0006: ldfld int32 Match01/Test1::_tag + IL_000b: stloc.0 + IL_000c: ldarg.0 + IL_000d: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0012: ldfld int32 Match01/Test1::_tag + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: ldloc.1 + IL_001a: bne.un IL_0123 + + IL_001f: ldarg.0 + IL_0020: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0025: call instance int32 Match01/Test1::get_Tag() + IL_002a: switch ( + IL_003f, + IL_0075, + IL_00af, + IL_00e9) + IL_003f: ldarg.0 + IL_0040: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0045: castclass Match01/Test1/X11 + IL_004a: stloc.2 + IL_004b: ldarg.0 + IL_004c: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0051: castclass Match01/Test1/X11 + IL_0056: stloc.3 + IL_0057: ldloc.2 + IL_0058: ldfld int32 Match01/Test1/X11::item + IL_005d: stloc.s V_4 + IL_005f: ldloc.3 + IL_0060: ldfld int32 Match01/Test1/X11::item + IL_0065: stloc.s V_5 + IL_0067: ldloc.s V_4 + IL_0069: ldloc.s V_5 + IL_006b: cgt + IL_006d: ldloc.s V_4 + IL_006f: ldloc.s V_5 + IL_0071: clt + IL_0073: sub + IL_0074: ret + + IL_0075: ldarg.0 + IL_0076: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_007b: castclass Match01/Test1/X12 + IL_0080: stloc.s V_6 + IL_0082: ldarg.0 + IL_0083: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0088: castclass Match01/Test1/X12 + IL_008d: stloc.s V_7 + IL_008f: ldloc.s V_6 + IL_0091: ldfld int32 Match01/Test1/X12::item + IL_0096: stloc.s V_4 + IL_0098: ldloc.s V_7 + IL_009a: ldfld int32 Match01/Test1/X12::item + IL_009f: stloc.s V_5 + IL_00a1: ldloc.s V_4 + IL_00a3: ldloc.s V_5 + IL_00a5: cgt + IL_00a7: ldloc.s V_4 + IL_00a9: ldloc.s V_5 + IL_00ab: clt + IL_00ad: sub + IL_00ae: ret + + IL_00af: ldarg.0 + IL_00b0: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00b5: castclass Match01/Test1/X13 + IL_00ba: stloc.s V_8 + IL_00bc: ldarg.0 + IL_00bd: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_00c2: castclass Match01/Test1/X13 + IL_00c7: stloc.s V_9 + IL_00c9: ldloc.s V_8 + IL_00cb: ldfld int32 Match01/Test1/X13::item + IL_00d0: stloc.s V_4 + IL_00d2: ldloc.s V_9 + IL_00d4: ldfld int32 Match01/Test1/X13::item + IL_00d9: stloc.s V_5 + IL_00db: ldloc.s V_4 + IL_00dd: ldloc.s V_5 + IL_00df: cgt + IL_00e1: ldloc.s V_4 + IL_00e3: ldloc.s V_5 + IL_00e5: clt + IL_00e7: sub + IL_00e8: ret + + IL_00e9: ldarg.0 + IL_00ea: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00ef: castclass Match01/Test1/X14 + IL_00f4: stloc.s V_10 + IL_00f6: ldarg.0 + IL_00f7: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_00fc: castclass Match01/Test1/X14 + IL_0101: stloc.s V_11 + IL_0103: ldloc.s V_10 + IL_0105: ldfld int32 Match01/Test1/X14::item + IL_010a: stloc.s V_4 + IL_010c: ldloc.s V_11 + IL_010e: ldfld int32 Match01/Test1/X14::item + IL_0113: stloc.s V_5 + IL_0115: ldloc.s V_4 + IL_0117: ldloc.s V_5 + IL_0119: cgt + IL_011b: ldloc.s V_4 + IL_011d: ldloc.s V_5 + IL_011f: clt + IL_0121: sub + IL_0122: ret + + IL_0123: ldloc.0 + IL_0124: ldloc.1 + IL_0125: sub + IL_0126: ret + } + + } + + .field assembly initonly int32 _tag + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 Match01/Test1::_tag + IL_000d: ret + } + + .method public static class Match01/Test1 NewX11(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX11() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX12(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX12() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.1 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX13(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX13() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.2 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX14(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX14() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.3 + IL_0007: ceq + IL_0009: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1::_tag + IL_0006: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001a + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0018 + + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: newobj instance void Match01/Test1/clo@4::.ctor(class Match01/Test1, + class Match01/Test1) + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: ldnull + IL_0010: tail. + IL_0012: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0017: ret + + IL_0018: ldc.i4.1 + IL_0019: ret + + IL_001a: ldarg.1 + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.m1 + IL_001e: ret + + IL_001f: ldc.i4.0 + IL_0020: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0026 + + IL_000a: ldarg.1 + IL_000b: unbox.any Match01/Test1 + IL_0010: brfalse.s IL_0024 + + IL_0012: ldarg.0 + IL_0013: ldloc.0 + IL_0014: newobj instance void Match01/Test1/'clo@4-1'::.ctor(class Match01/Test1, + class Match01/Test1) + IL_0019: stloc.1 + IL_001a: ldloc.1 + IL_001b: ldnull + IL_001c: tail. + IL_001e: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0023: ret + + IL_0024: ldc.i4.1 + IL_0025: ret + + IL_0026: ldarg.1 + IL_0027: unbox.any Match01/Test1 + IL_002c: brfalse.s IL_0030 + + IL_002e: ldc.i4.m1 + IL_002f: ret + + IL_0030: ldc.i4.0 + IL_0031: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00a5 + + IL_0006: ldc.i4.0 + IL_0007: stloc.0 + IL_0008: ldarg.0 + IL_0009: call instance int32 Match01/Test1::get_Tag() + IL_000e: switch ( + IL_0023, + IL_0043, + IL_0063, + IL_0083) + IL_0023: ldarg.0 + IL_0024: castclass Match01/Test1/X11 + IL_0029: stloc.1 + IL_002a: ldc.i4.0 + IL_002b: stloc.0 + IL_002c: ldc.i4 0x9e3779b9 + IL_0031: ldloc.1 + IL_0032: ldfld int32 Match01/Test1/X11::item + IL_0037: ldloc.0 + IL_0038: ldc.i4.6 + IL_0039: shl + IL_003a: ldloc.0 + IL_003b: ldc.i4.2 + IL_003c: shr + IL_003d: add + IL_003e: add + IL_003f: add + IL_0040: stloc.0 + IL_0041: ldloc.0 + IL_0042: ret + + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X12 + IL_0049: stloc.2 + IL_004a: ldc.i4.1 + IL_004b: stloc.0 + IL_004c: ldc.i4 0x9e3779b9 + IL_0051: ldloc.2 + IL_0052: ldfld int32 Match01/Test1/X12::item + IL_0057: ldloc.0 + IL_0058: ldc.i4.6 + IL_0059: shl + IL_005a: ldloc.0 + IL_005b: ldc.i4.2 + IL_005c: shr + IL_005d: add + IL_005e: add + IL_005f: add + IL_0060: stloc.0 + IL_0061: ldloc.0 + IL_0062: ret + + IL_0063: ldarg.0 + IL_0064: castclass Match01/Test1/X13 + IL_0069: stloc.3 + IL_006a: ldc.i4.2 + IL_006b: stloc.0 + IL_006c: ldc.i4 0x9e3779b9 + IL_0071: ldloc.3 + IL_0072: ldfld int32 Match01/Test1/X13::item + IL_0077: ldloc.0 + IL_0078: ldc.i4.6 + IL_0079: shl + IL_007a: ldloc.0 + IL_007b: ldc.i4.2 + IL_007c: shr + IL_007d: add + IL_007e: add + IL_007f: add + IL_0080: stloc.0 + IL_0081: ldloc.0 + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X14 + IL_0089: stloc.s V_4 + IL_008b: ldc.i4.3 + IL_008c: stloc.0 + IL_008d: ldc.i4 0x9e3779b9 + IL_0092: ldloc.s V_4 + IL_0094: ldfld int32 Match01/Test1/X14::item + IL_0099: ldloc.0 + IL_009a: ldc.i4.6 + IL_009b: shl + IL_009c: ldloc.0 + IL_009d: ldc.i4.2 + IL_009e: shr + IL_009f: add + IL_00a0: add + IL_00a1: add + IL_00a2: stloc.0 + IL_00a3: ldloc.0 + IL_00a4: ret + + IL_00a5: ldc.i4.0 + IL_00a6: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0, + int32 V_1, + int32 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c9 + + IL_0006: ldarg.1 + IL_0007: isinst Match01/Test1 + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: brfalse IL_00c7 + + IL_0013: ldarg.0 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldfld int32 Match01/Test1::_tag + IL_0020: stloc.2 + IL_0021: ldloc.1 + IL_0022: ldloc.2 + IL_0023: bne.un IL_00c5 + + IL_0028: ldarg.0 + IL_0029: call instance int32 Match01/Test1::get_Tag() + IL_002e: switch ( + IL_0043, + IL_0062, + IL_0083, + IL_00a4) + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.0 + IL_004b: castclass Match01/Test1/X11 + IL_0050: stloc.s V_4 + IL_0052: ldloc.3 + IL_0053: ldfld int32 Match01/Test1/X11::item + IL_0058: ldloc.s V_4 + IL_005a: ldfld int32 Match01/Test1/X11::item + IL_005f: ceq + IL_0061: ret + + IL_0062: ldarg.0 + IL_0063: castclass Match01/Test1/X12 + IL_0068: stloc.s V_5 + IL_006a: ldloc.0 + IL_006b: castclass Match01/Test1/X12 + IL_0070: stloc.s V_6 + IL_0072: ldloc.s V_5 + IL_0074: ldfld int32 Match01/Test1/X12::item + IL_0079: ldloc.s V_6 + IL_007b: ldfld int32 Match01/Test1/X12::item + IL_0080: ceq + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X13 + IL_0089: stloc.s V_7 + IL_008b: ldloc.0 + IL_008c: castclass Match01/Test1/X13 + IL_0091: stloc.s V_8 + IL_0093: ldloc.s V_7 + IL_0095: ldfld int32 Match01/Test1/X13::item + IL_009a: ldloc.s V_8 + IL_009c: ldfld int32 Match01/Test1/X13::item + IL_00a1: ceq + IL_00a3: ret + + IL_00a4: ldarg.0 + IL_00a5: castclass Match01/Test1/X14 + IL_00aa: stloc.s V_9 + IL_00ac: ldloc.0 + IL_00ad: castclass Match01/Test1/X14 + IL_00b2: stloc.s V_10 + IL_00b4: ldloc.s V_9 + IL_00b6: ldfld int32 Match01/Test1/X14::item + IL_00bb: ldloc.s V_10 + IL_00bd: ldfld int32 Match01/Test1/X14::item + IL_00c2: ceq + IL_00c4: ret + + IL_00c5: ldc.i4.0 + IL_00c6: ret + + IL_00c7: ldc.i4.0 + IL_00c8: ret + + IL_00c9: ldarg.1 + IL_00ca: ldnull + IL_00cb: cgt.un + IL_00cd: ldc.i4.0 + IL_00ce: ceq + IL_00d0: ret + } + + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c0 + + IL_0006: ldarg.1 + IL_0007: brfalse IL_00be + + IL_000c: ldarg.0 + IL_000d: ldfld int32 Match01/Test1::_tag + IL_0012: stloc.0 + IL_0013: ldarg.1 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldloc.1 + IL_001c: bne.un IL_00bc + + IL_0021: ldarg.0 + IL_0022: call instance int32 Match01/Test1::get_Tag() + IL_0027: switch ( + IL_003c, + IL_0059, + IL_007a, + IL_009b) + IL_003c: ldarg.0 + IL_003d: castclass Match01/Test1/X11 + IL_0042: stloc.2 + IL_0043: ldarg.1 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.2 + IL_004b: ldfld int32 Match01/Test1/X11::item + IL_0050: ldloc.3 + IL_0051: ldfld int32 Match01/Test1/X11::item + IL_0056: ceq + IL_0058: ret + + IL_0059: ldarg.0 + IL_005a: castclass Match01/Test1/X12 + IL_005f: stloc.s V_4 + IL_0061: ldarg.1 + IL_0062: castclass Match01/Test1/X12 + IL_0067: stloc.s V_5 + IL_0069: ldloc.s V_4 + IL_006b: ldfld int32 Match01/Test1/X12::item + IL_0070: ldloc.s V_5 + IL_0072: ldfld int32 Match01/Test1/X12::item + IL_0077: ceq + IL_0079: ret + + IL_007a: ldarg.0 + IL_007b: castclass Match01/Test1/X13 + IL_0080: stloc.s V_6 + IL_0082: ldarg.1 + IL_0083: castclass Match01/Test1/X13 + IL_0088: stloc.s V_7 + IL_008a: ldloc.s V_6 + IL_008c: ldfld int32 Match01/Test1/X13::item + IL_0091: ldloc.s V_7 + IL_0093: ldfld int32 Match01/Test1/X13::item + IL_0098: ceq + IL_009a: ret + + IL_009b: ldarg.0 + IL_009c: castclass Match01/Test1/X14 + IL_00a1: stloc.s V_8 + IL_00a3: ldarg.1 + IL_00a4: castclass Match01/Test1/X14 + IL_00a9: stloc.s V_9 + IL_00ab: ldloc.s V_8 + IL_00ad: ldfld int32 Match01/Test1/X14::item + IL_00b2: ldloc.s V_9 + IL_00b4: ldfld int32 Match01/Test1/X14::item + IL_00b9: ceq + IL_00bb: ret + + IL_00bc: ldc.i4.0 + IL_00bd: ret + + IL_00be: ldc.i4.0 + IL_00bf: ret + + IL_00c0: ldarg.1 + IL_00c1: ldnull + IL_00c2: cgt.un + IL_00c4: ldc.i4.0 + IL_00c5: ceq + IL_00c7: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0) + IL_0000: ldarg.1 + IL_0001: isinst Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 Match01/Test1::get_Tag() + } + .property instance bool IsX11() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX11() + } + .property instance bool IsX12() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX12() + } + .property instance bool IsX13() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX13() + } + .property instance bool IsX14() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX14() + } + } + + .method public static int32 select1(class Match01/Test1 x) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: call instance int32 Match01/Test1::get_Tag() + IL_0007: switch ( + IL_001c, + IL_0028, + IL_002a, + IL_002c) + IL_001c: ldarg.0 + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item + IL_0027: ret + + IL_0028: ldc.i4.2 + IL_0029: ret + + IL_002a: ldc.i4.3 + IL_002b: ret + + IL_002c: ldc.i4.4 + IL_002d: ret + } + + .method public static int32 fm(class Match01/Test1 y) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call int32 Match01::select1(class Match01/Test1) + IL_0006: ret + } + +} + +.class private abstract auto ansi sealed ''.$Match01 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..0674871e93e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Match01_RealInternalSignatureOn.fs.il.netcore.release.bsl @@ -0,0 +1,1509 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Match01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit Test1 + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 X11 = int32(0x00000000) + .field public static literal int32 X12 = int32(0x00000001) + .field public static literal int32 X13 = int32(0x00000002) + .field public static literal int32 X14 = int32(0x00000003) + } + + .class auto ansi serializable nested public beforefieldinit specialname X11 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 31 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X11::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X11::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X12 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 32 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.1 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X12::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X12::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X13 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 33 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X13::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X13::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit specialname X14 + extends Match01/Test1 + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 20 4D 61 74 63 68 30 31 2B 54 65 73 74 31 + 2B 58 31 34 40 44 65 62 75 67 54 79 70 65 50 72 + 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: call instance void Match01/Test1::.ctor(int32) + IL_0007: ldarg.0 + IL_0008: ldarg.1 + IL_0009: stfld int32 Match01/Test1/X14::item + IL_000e: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1/X14::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X11@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X11 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X11 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X11 Match01/Test1/X11@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X11::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X11@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X12@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X12 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X12 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X12 Match01/Test1/X12@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X12::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X12@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X13@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X13 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X13 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X13 Match01/Test1/X13@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X13::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 02 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X13@DebugTypeProxy::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname X14@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class Match01/Test1/X14 _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname instance void .ctor(class Match01/Test1/X14 obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1/X14 Match01/Test1/X14@DebugTypeProxy::_obj + IL_0006: ldfld int32 Match01/Test1/X14::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 03 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 Match01/Test1/X14@DebugTypeProxy::get_Item() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit clo@4 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/clo@4::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0014: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class [runtime]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X12 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X13 V_10, + class Match01/Test1/X14 V_11, + class Match01/Test1/X14 V_12) + IL_0000: ldarg.0 + IL_0001: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0006: ldfld int32 Match01/Test1::_tag + IL_000b: stloc.0 + IL_000c: ldarg.0 + IL_000d: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0012: ldfld int32 Match01/Test1::_tag + IL_0017: stloc.1 + IL_0018: ldloc.0 + IL_0019: ldloc.1 + IL_001a: bne.un IL_013f + + IL_001f: ldarg.0 + IL_0020: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0025: call instance int32 Match01/Test1::get_Tag() + IL_002a: switch ( + IL_003f, + IL_007c, + IL_00bd, + IL_00fe) + IL_003f: ldarg.0 + IL_0040: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0045: castclass Match01/Test1/X11 + IL_004a: stloc.2 + IL_004b: ldarg.0 + IL_004c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0051: castclass Match01/Test1/X11 + IL_0056: stloc.3 + IL_0057: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_005c: stloc.s V_4 + IL_005e: ldloc.2 + IL_005f: ldfld int32 Match01/Test1/X11::item + IL_0064: stloc.s V_5 + IL_0066: ldloc.3 + IL_0067: ldfld int32 Match01/Test1/X11::item + IL_006c: stloc.s V_6 + IL_006e: ldloc.s V_5 + IL_0070: ldloc.s V_6 + IL_0072: cgt + IL_0074: ldloc.s V_5 + IL_0076: ldloc.s V_6 + IL_0078: clt + IL_007a: sub + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0082: castclass Match01/Test1/X12 + IL_0087: stloc.s V_7 + IL_0089: ldarg.0 + IL_008a: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_008f: castclass Match01/Test1/X12 + IL_0094: stloc.s V_8 + IL_0096: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_009b: stloc.s V_4 + IL_009d: ldloc.s V_7 + IL_009f: ldfld int32 Match01/Test1/X12::item + IL_00a4: stloc.s V_5 + IL_00a6: ldloc.s V_8 + IL_00a8: ldfld int32 Match01/Test1/X12::item + IL_00ad: stloc.s V_6 + IL_00af: ldloc.s V_5 + IL_00b1: ldloc.s V_6 + IL_00b3: cgt + IL_00b5: ldloc.s V_5 + IL_00b7: ldloc.s V_6 + IL_00b9: clt + IL_00bb: sub + IL_00bc: ret + + IL_00bd: ldarg.0 + IL_00be: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_00c3: castclass Match01/Test1/X13 + IL_00c8: stloc.s V_9 + IL_00ca: ldarg.0 + IL_00cb: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_00d0: castclass Match01/Test1/X13 + IL_00d5: stloc.s V_10 + IL_00d7: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_00dc: stloc.s V_4 + IL_00de: ldloc.s V_9 + IL_00e0: ldfld int32 Match01/Test1/X13::item + IL_00e5: stloc.s V_5 + IL_00e7: ldloc.s V_10 + IL_00e9: ldfld int32 Match01/Test1/X13::item + IL_00ee: stloc.s V_6 + IL_00f0: ldloc.s V_5 + IL_00f2: ldloc.s V_6 + IL_00f4: cgt + IL_00f6: ldloc.s V_5 + IL_00f8: ldloc.s V_6 + IL_00fa: clt + IL_00fc: sub + IL_00fd: ret + + IL_00fe: ldarg.0 + IL_00ff: ldfld class Match01/Test1 Match01/Test1/clo@4::this + IL_0104: castclass Match01/Test1/X14 + IL_0109: stloc.s V_11 + IL_010b: ldarg.0 + IL_010c: ldfld class Match01/Test1 Match01/Test1/clo@4::obj + IL_0111: castclass Match01/Test1/X14 + IL_0116: stloc.s V_12 + IL_0118: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_011d: stloc.s V_4 + IL_011f: ldloc.s V_11 + IL_0121: ldfld int32 Match01/Test1/X14::item + IL_0126: stloc.s V_5 + IL_0128: ldloc.s V_12 + IL_012a: ldfld int32 Match01/Test1/X14::item + IL_012f: stloc.s V_6 + IL_0131: ldloc.s V_5 + IL_0133: ldloc.s V_6 + IL_0135: cgt + IL_0137: ldloc.s V_5 + IL_0139: ldloc.s V_6 + IL_013b: clt + IL_013d: sub + IL_013e: ret + + IL_013f: ldloc.0 + IL_0140: ldloc.1 + IL_0141: sub + IL_0142: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'clo@4-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class Match01/Test1 this + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public object obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class Match01/Test1 objTemp + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class Match01/Test1 this, + object obj, + class Match01/Test1 objTemp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld object Match01/Test1/'clo@4-1'::obj + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_001b: ret + } + + .method public strict virtual instance int32 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + int32 V_4, + int32 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X12 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X13 V_9, + class Match01/Test1/X14 V_10, + class Match01/Test1/X14 V_11) + IL_0000: ldarg.0 + IL_0001: ldfld object Match01/Test1/'clo@4-1'::obj + IL_0006: unbox.any Match01/Test1 + IL_000b: brfalse IL_0137 + + IL_0010: ldarg.0 + IL_0011: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0016: ldfld int32 Match01/Test1::_tag + IL_001b: stloc.0 + IL_001c: ldarg.0 + IL_001d: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0022: ldfld int32 Match01/Test1::_tag + IL_0027: stloc.1 + IL_0028: ldloc.0 + IL_0029: ldloc.1 + IL_002a: bne.un IL_0133 + + IL_002f: ldarg.0 + IL_0030: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0035: call instance int32 Match01/Test1::get_Tag() + IL_003a: switch ( + IL_004f, + IL_0085, + IL_00bf, + IL_00f9) + IL_004f: ldarg.0 + IL_0050: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_0055: castclass Match01/Test1/X11 + IL_005a: stloc.2 + IL_005b: ldarg.0 + IL_005c: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0061: castclass Match01/Test1/X11 + IL_0066: stloc.3 + IL_0067: ldloc.2 + IL_0068: ldfld int32 Match01/Test1/X11::item + IL_006d: stloc.s V_4 + IL_006f: ldloc.3 + IL_0070: ldfld int32 Match01/Test1/X11::item + IL_0075: stloc.s V_5 + IL_0077: ldloc.s V_4 + IL_0079: ldloc.s V_5 + IL_007b: cgt + IL_007d: ldloc.s V_4 + IL_007f: ldloc.s V_5 + IL_0081: clt + IL_0083: sub + IL_0084: ret + + IL_0085: ldarg.0 + IL_0086: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_008b: castclass Match01/Test1/X12 + IL_0090: stloc.s V_6 + IL_0092: ldarg.0 + IL_0093: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_0098: castclass Match01/Test1/X12 + IL_009d: stloc.s V_7 + IL_009f: ldloc.s V_6 + IL_00a1: ldfld int32 Match01/Test1/X12::item + IL_00a6: stloc.s V_4 + IL_00a8: ldloc.s V_7 + IL_00aa: ldfld int32 Match01/Test1/X12::item + IL_00af: stloc.s V_5 + IL_00b1: ldloc.s V_4 + IL_00b3: ldloc.s V_5 + IL_00b5: cgt + IL_00b7: ldloc.s V_4 + IL_00b9: ldloc.s V_5 + IL_00bb: clt + IL_00bd: sub + IL_00be: ret + + IL_00bf: ldarg.0 + IL_00c0: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00c5: castclass Match01/Test1/X13 + IL_00ca: stloc.s V_8 + IL_00cc: ldarg.0 + IL_00cd: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_00d2: castclass Match01/Test1/X13 + IL_00d7: stloc.s V_9 + IL_00d9: ldloc.s V_8 + IL_00db: ldfld int32 Match01/Test1/X13::item + IL_00e0: stloc.s V_4 + IL_00e2: ldloc.s V_9 + IL_00e4: ldfld int32 Match01/Test1/X13::item + IL_00e9: stloc.s V_5 + IL_00eb: ldloc.s V_4 + IL_00ed: ldloc.s V_5 + IL_00ef: cgt + IL_00f1: ldloc.s V_4 + IL_00f3: ldloc.s V_5 + IL_00f5: clt + IL_00f7: sub + IL_00f8: ret + + IL_00f9: ldarg.0 + IL_00fa: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::this + IL_00ff: castclass Match01/Test1/X14 + IL_0104: stloc.s V_10 + IL_0106: ldarg.0 + IL_0107: ldfld class Match01/Test1 Match01/Test1/'clo@4-1'::objTemp + IL_010c: castclass Match01/Test1/X14 + IL_0111: stloc.s V_11 + IL_0113: ldloc.s V_10 + IL_0115: ldfld int32 Match01/Test1/X14::item + IL_011a: stloc.s V_4 + IL_011c: ldloc.s V_11 + IL_011e: ldfld int32 Match01/Test1/X14::item + IL_0123: stloc.s V_5 + IL_0125: ldloc.s V_4 + IL_0127: ldloc.s V_5 + IL_0129: cgt + IL_012b: ldloc.s V_4 + IL_012d: ldloc.s V_5 + IL_012f: clt + IL_0131: sub + IL_0132: ret + + IL_0133: ldloc.0 + IL_0134: ldloc.1 + IL_0135: sub + IL_0136: ret + + IL_0137: ldc.i4.1 + IL_0138: ret + } + + } + + .field assembly initonly int32 _tag + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(int32 _tag) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 0D 4D 61 74 63 68 30 31 2B 54 + 65 73 74 31 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 Match01/Test1::_tag + IL_000d: ret + } + + .method public static class Match01/Test1 NewX11(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X11::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX11() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX12(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X12::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX12() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.1 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX13(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 02 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X13::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX13() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.2 + IL_0007: ceq + IL_0009: ret + } + + .method public static class Match01/Test1 NewX14(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 03 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void Match01/Test1/X14::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool get_IsX14() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance int32 Match01/Test1::get_Tag() + IL_0006: ldc.i4.3 + IL_0007: ceq + IL_0009: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Match01/Test1::_tag + IL_0006: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class Match01/Test1>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001a + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0018 + + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: newobj instance void Match01/Test1/clo@4::.ctor(class Match01/Test1, + class Match01/Test1) + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: ldnull + IL_0010: tail. + IL_0012: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0017: ret + + IL_0018: ldc.i4.1 + IL_0019: ret + + IL_001a: ldarg.1 + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.m1 + IL_001e: ret + + IL_001f: ldc.i4.0 + IL_0020: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Match01/Test1 + IL_0007: callvirt instance int32 Match01/Test1::CompareTo(class Match01/Test1) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class Match01/Test1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_1) + IL_0000: ldarg.1 + IL_0001: unbox.any Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_001d + + IL_000a: ldarg.0 + IL_000b: ldarg.1 + IL_000c: ldloc.0 + IL_000d: newobj instance void Match01/Test1/'clo@4-1'::.ctor(class Match01/Test1, + object, + class Match01/Test1) + IL_0012: stloc.1 + IL_0013: ldloc.1 + IL_0014: ldnull + IL_0015: tail. + IL_0017: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: unbox.any Match01/Test1 + IL_0023: brfalse.s IL_0027 + + IL_0025: ldc.i4.m1 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class Match01/Test1/X11 V_1, + class Match01/Test1/X12 V_2, + class Match01/Test1/X13 V_3, + class Match01/Test1/X14 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00a5 + + IL_0006: ldc.i4.0 + IL_0007: stloc.0 + IL_0008: ldarg.0 + IL_0009: call instance int32 Match01/Test1::get_Tag() + IL_000e: switch ( + IL_0023, + IL_0043, + IL_0063, + IL_0083) + IL_0023: ldarg.0 + IL_0024: castclass Match01/Test1/X11 + IL_0029: stloc.1 + IL_002a: ldc.i4.0 + IL_002b: stloc.0 + IL_002c: ldc.i4 0x9e3779b9 + IL_0031: ldloc.1 + IL_0032: ldfld int32 Match01/Test1/X11::item + IL_0037: ldloc.0 + IL_0038: ldc.i4.6 + IL_0039: shl + IL_003a: ldloc.0 + IL_003b: ldc.i4.2 + IL_003c: shr + IL_003d: add + IL_003e: add + IL_003f: add + IL_0040: stloc.0 + IL_0041: ldloc.0 + IL_0042: ret + + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X12 + IL_0049: stloc.2 + IL_004a: ldc.i4.1 + IL_004b: stloc.0 + IL_004c: ldc.i4 0x9e3779b9 + IL_0051: ldloc.2 + IL_0052: ldfld int32 Match01/Test1/X12::item + IL_0057: ldloc.0 + IL_0058: ldc.i4.6 + IL_0059: shl + IL_005a: ldloc.0 + IL_005b: ldc.i4.2 + IL_005c: shr + IL_005d: add + IL_005e: add + IL_005f: add + IL_0060: stloc.0 + IL_0061: ldloc.0 + IL_0062: ret + + IL_0063: ldarg.0 + IL_0064: castclass Match01/Test1/X13 + IL_0069: stloc.3 + IL_006a: ldc.i4.2 + IL_006b: stloc.0 + IL_006c: ldc.i4 0x9e3779b9 + IL_0071: ldloc.3 + IL_0072: ldfld int32 Match01/Test1/X13::item + IL_0077: ldloc.0 + IL_0078: ldc.i4.6 + IL_0079: shl + IL_007a: ldloc.0 + IL_007b: ldc.i4.2 + IL_007c: shr + IL_007d: add + IL_007e: add + IL_007f: add + IL_0080: stloc.0 + IL_0081: ldloc.0 + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X14 + IL_0089: stloc.s V_4 + IL_008b: ldc.i4.3 + IL_008c: stloc.0 + IL_008d: ldc.i4 0x9e3779b9 + IL_0092: ldloc.s V_4 + IL_0094: ldfld int32 Match01/Test1/X14::item + IL_0099: ldloc.0 + IL_009a: ldc.i4.6 + IL_009b: shl + IL_009c: ldloc.0 + IL_009d: ldc.i4.2 + IL_009e: shr + IL_009f: add + IL_00a0: add + IL_00a1: add + IL_00a2: stloc.0 + IL_00a3: ldloc.0 + IL_00a4: ret + + IL_00a5: ldc.i4.0 + IL_00a6: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 Match01/Test1::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0, + int32 V_1, + int32 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X11 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X12 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X13 V_8, + class Match01/Test1/X14 V_9, + class Match01/Test1/X14 V_10) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c9 + + IL_0006: ldarg.1 + IL_0007: isinst Match01/Test1 + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: brfalse IL_00c7 + + IL_0013: ldarg.0 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldfld int32 Match01/Test1::_tag + IL_0020: stloc.2 + IL_0021: ldloc.1 + IL_0022: ldloc.2 + IL_0023: bne.un IL_00c5 + + IL_0028: ldarg.0 + IL_0029: call instance int32 Match01/Test1::get_Tag() + IL_002e: switch ( + IL_0043, + IL_0062, + IL_0083, + IL_00a4) + IL_0043: ldarg.0 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.0 + IL_004b: castclass Match01/Test1/X11 + IL_0050: stloc.s V_4 + IL_0052: ldloc.3 + IL_0053: ldfld int32 Match01/Test1/X11::item + IL_0058: ldloc.s V_4 + IL_005a: ldfld int32 Match01/Test1/X11::item + IL_005f: ceq + IL_0061: ret + + IL_0062: ldarg.0 + IL_0063: castclass Match01/Test1/X12 + IL_0068: stloc.s V_5 + IL_006a: ldloc.0 + IL_006b: castclass Match01/Test1/X12 + IL_0070: stloc.s V_6 + IL_0072: ldloc.s V_5 + IL_0074: ldfld int32 Match01/Test1/X12::item + IL_0079: ldloc.s V_6 + IL_007b: ldfld int32 Match01/Test1/X12::item + IL_0080: ceq + IL_0082: ret + + IL_0083: ldarg.0 + IL_0084: castclass Match01/Test1/X13 + IL_0089: stloc.s V_7 + IL_008b: ldloc.0 + IL_008c: castclass Match01/Test1/X13 + IL_0091: stloc.s V_8 + IL_0093: ldloc.s V_7 + IL_0095: ldfld int32 Match01/Test1/X13::item + IL_009a: ldloc.s V_8 + IL_009c: ldfld int32 Match01/Test1/X13::item + IL_00a1: ceq + IL_00a3: ret + + IL_00a4: ldarg.0 + IL_00a5: castclass Match01/Test1/X14 + IL_00aa: stloc.s V_9 + IL_00ac: ldloc.0 + IL_00ad: castclass Match01/Test1/X14 + IL_00b2: stloc.s V_10 + IL_00b4: ldloc.s V_9 + IL_00b6: ldfld int32 Match01/Test1/X14::item + IL_00bb: ldloc.s V_10 + IL_00bd: ldfld int32 Match01/Test1/X14::item + IL_00c2: ceq + IL_00c4: ret + + IL_00c5: ldc.i4.0 + IL_00c6: ret + + IL_00c7: ldc.i4.0 + IL_00c8: ret + + IL_00c9: ldarg.1 + IL_00ca: ldnull + IL_00cb: cgt.un + IL_00cd: ldc.i4.0 + IL_00ce: ceq + IL_00d0: ret + } + + .method public hidebysig virtual final instance bool Equals(class Match01/Test1 obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1, + class Match01/Test1/X11 V_2, + class Match01/Test1/X11 V_3, + class Match01/Test1/X12 V_4, + class Match01/Test1/X12 V_5, + class Match01/Test1/X13 V_6, + class Match01/Test1/X13 V_7, + class Match01/Test1/X14 V_8, + class Match01/Test1/X14 V_9) + IL_0000: ldarg.0 + IL_0001: brfalse IL_00c0 + + IL_0006: ldarg.1 + IL_0007: brfalse IL_00be + + IL_000c: ldarg.0 + IL_000d: ldfld int32 Match01/Test1::_tag + IL_0012: stloc.0 + IL_0013: ldarg.1 + IL_0014: ldfld int32 Match01/Test1::_tag + IL_0019: stloc.1 + IL_001a: ldloc.0 + IL_001b: ldloc.1 + IL_001c: bne.un IL_00bc + + IL_0021: ldarg.0 + IL_0022: call instance int32 Match01/Test1::get_Tag() + IL_0027: switch ( + IL_003c, + IL_0059, + IL_007a, + IL_009b) + IL_003c: ldarg.0 + IL_003d: castclass Match01/Test1/X11 + IL_0042: stloc.2 + IL_0043: ldarg.1 + IL_0044: castclass Match01/Test1/X11 + IL_0049: stloc.3 + IL_004a: ldloc.2 + IL_004b: ldfld int32 Match01/Test1/X11::item + IL_0050: ldloc.3 + IL_0051: ldfld int32 Match01/Test1/X11::item + IL_0056: ceq + IL_0058: ret + + IL_0059: ldarg.0 + IL_005a: castclass Match01/Test1/X12 + IL_005f: stloc.s V_4 + IL_0061: ldarg.1 + IL_0062: castclass Match01/Test1/X12 + IL_0067: stloc.s V_5 + IL_0069: ldloc.s V_4 + IL_006b: ldfld int32 Match01/Test1/X12::item + IL_0070: ldloc.s V_5 + IL_0072: ldfld int32 Match01/Test1/X12::item + IL_0077: ceq + IL_0079: ret + + IL_007a: ldarg.0 + IL_007b: castclass Match01/Test1/X13 + IL_0080: stloc.s V_6 + IL_0082: ldarg.1 + IL_0083: castclass Match01/Test1/X13 + IL_0088: stloc.s V_7 + IL_008a: ldloc.s V_6 + IL_008c: ldfld int32 Match01/Test1/X13::item + IL_0091: ldloc.s V_7 + IL_0093: ldfld int32 Match01/Test1/X13::item + IL_0098: ceq + IL_009a: ret + + IL_009b: ldarg.0 + IL_009c: castclass Match01/Test1/X14 + IL_00a1: stloc.s V_8 + IL_00a3: ldarg.1 + IL_00a4: castclass Match01/Test1/X14 + IL_00a9: stloc.s V_9 + IL_00ab: ldloc.s V_8 + IL_00ad: ldfld int32 Match01/Test1/X14::item + IL_00b2: ldloc.s V_9 + IL_00b4: ldfld int32 Match01/Test1/X14::item + IL_00b9: ceq + IL_00bb: ret + + IL_00bc: ldc.i4.0 + IL_00bd: ret + + IL_00be: ldc.i4.0 + IL_00bf: ret + + IL_00c0: ldarg.1 + IL_00c1: ldnull + IL_00c2: cgt.un + IL_00c4: ldc.i4.0 + IL_00c5: ceq + IL_00c7: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class Match01/Test1 V_0) + IL_0000: ldarg.1 + IL_0001: isinst Match01/Test1 + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool Match01/Test1::Equals(class Match01/Test1) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 Match01/Test1::get_Tag() + } + .property instance bool IsX11() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX11() + } + .property instance bool IsX12() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX12() + } + .property instance bool IsX13() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX13() + } + .property instance bool IsX14() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool Match01/Test1::get_IsX14() + } + } + + .method public static int32 select1(class Match01/Test1 x) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.0 + IL_0002: call instance int32 Match01/Test1::get_Tag() + IL_0007: switch ( + IL_001c, + IL_0028, + IL_002a, + IL_002c) + IL_001c: ldarg.0 + IL_001d: castclass Match01/Test1/X11 + IL_0022: ldfld int32 Match01/Test1/X11::item + IL_0027: ret + + IL_0028: ldc.i4.2 + IL_0029: ret + + IL_002a: ldc.i4.3 + IL_002b: ret + + IL_002c: ldc.i4.4 + IL_002d: ret + } + + .method public static int32 fm(class Match01/Test1 y) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call int32 Match01::select1(class Match01/Test1) + IL_0006: ret + } + +} + +.class private abstract auto ansi sealed ''.$Match01 + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs new file mode 100644 index 00000000000..71b748c8971 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs @@ -0,0 +1,54 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ListExpressionSteppingRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withRealInternalSignatureOff + |> ignoreWarnings + |> verifyILBaseline + + // SOURCE=ListExpressionSteppingTest1.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest1.exe" # ListExpressionSteppingTest1.fs - + [] + let ``ListExpressionStepping01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest2.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest2.exe" # ListExpressionSteppingTest2.fs - + [] + let ``ListExpressionStepping02_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest3.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest3.exe" # ListExpressionSteppingTest3.fs + [] + let ``ListExpressionStepping03_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest4.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest4.exe" # ListExpressionSteppingTest4.fs - + [] + let ``ListExpressionStepping04_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest5.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest5.exe" # ListExpressionSteppingTest5.fs - + [] + let ``ListExpressionStepping05_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest6.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest6.exe" # ListExpressionSteppingTest6.fs - + [] + let ``ListExpressionStepping06_fs`` compilation = + compilation + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping.fs similarity index 95% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping.fs index 85b40d306f4..3526b2edefd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping.fs @@ -1,10 +1,10 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test open FSharp.Test.Compiler -module ListExpressionStepping = +module ListExpressionSteppingRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -13,6 +13,7 @@ module ListExpressionStepping = |> withNoOptimize |> withEmbeddedPdb |> withEmbedAllSource + |> withRealInternalSignatureOn |> ignoreWarnings |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs new file mode 100644 index 00000000000..a3bbb454983 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs @@ -0,0 +1,8 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists +// Regression test for FSHARP1.0:4058 +module ListExpressionSteppingTest1 +module ListExpressionSteppingTest1 = + let f0 () = + [ yield 1 ] + let _ = f0() + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs.il.bsl new file mode 100644 index 00000000000..59c29526cb8 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs.il.bsl @@ -0,0 +1,130 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ListExpressionSteppingTest1 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public ListExpressionSteppingTest1 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f0() cil managed + { + + .maxstack 4 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0) + IL_0000: nop + IL_0001: ldloca.s V_0 + IL_0003: ldc.i4.1 + IL_0004: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0009: nop + IL_000a: ldloca.s V_0 + IL_000c: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest1::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest1::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest1/ListExpressionSteppingTest1::f0() + IL_0005: pop + IL_0006: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest1::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest1::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest1/ListExpressionSteppingTest1::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$ListExpressionSteppingTest1 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest1::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs new file mode 100644 index 00000000000..b8bc07e5119 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs @@ -0,0 +1,30 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists +// Regression test for FSHARP1.0:4058 +module ListExpressionSteppingTest2 +module ListExpressionSteppingTest2 = + let f1 () = + [ printfn "hello" + yield 1 + printfn "goodbye" + yield 2] + + let _ = f1() + + // Test debug point generation for ||> and |||> + let f2 x = + let xs1 = + ([x;x;x], [0..2]) + ||> List.zip + |> List.map (fun (a,b) -> a, b+1) + |> List.map (fun (a,b) -> a, b+1) + + let xs2 = + ([x;x;x], [0..2], [0..2]) + |||> List.zip3 + |> List.map (fun (a,b,c) -> a, b+1, c) + |> List.map (fun (a,b,c) -> a, b+1, c) + + xs1, xs2 + + let _ = f2 5 + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs.il.bsl new file mode 100644 index 00000000000..fdda2ab6de7 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs.il.bsl @@ -0,0 +1,448 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ListExpressionSteppingTest2 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public ListExpressionSteppingTest2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 stage #2 at line 18@18' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2 at line 18@18' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (!a V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2 at line 18@18'::.ctor() + IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2 at line 18@18' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2 at line 18@18'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit xs1@19 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (!a V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19::.ctor() + IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 stage #2 at line 24@24' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2 at line 24@24' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`3 tupledArg) cil managed + { + + .maxstack 7 + .locals init (!a V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: ldloc.1 + IL_0017: ldc.i4.1 + IL_0018: add + IL_0019: ldloc.2 + IL_001a: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2 at line 24@24'::.ctor() + IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2 at line 24@24' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2 at line 24@24'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit xs2@25 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`3 tupledArg) cil managed + { + + .maxstack 7 + .locals init (!a V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: ldloc.1 + IL_0017: ldc.i4.1 + IL_0018: add + IL_0019: ldloc.2 + IL_001a: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25::.ctor() + IL_0005: stsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25::@_instance + IL_000a: ret + } + + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f1() cil managed + { + + .maxstack 4 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0) + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldloca.s V_0 + IL_0013: ldc.i4.1 + IL_0014: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0019: nop + IL_001a: ldstr "goodbye" + IL_001f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0024: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0029: pop + IL_002a: ldloca.s V_0 + IL_002c: ldc.i4.2 + IL_002d: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0032: nop + IL_0033: ldloca.s V_0 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_003a: ret + } + + .method public static class [runtime]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>> f2(!!a x) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_3, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_5, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_8, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_9, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_10) + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldarg.0 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stloc.1 + IL_0018: ldc.i4.0 + IL_0019: ldc.i4.1 + IL_001a: ldc.i4.2 + IL_001b: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0020: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0025: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_002a: stloc.2 + IL_002b: ldloc.1 + IL_002c: ldloc.2 + IL_002d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Zip(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0032: stloc.3 + IL_0033: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2 at line 18@18' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #1 stage #2 at line 18@18'::@_instance + IL_0038: ldloc.3 + IL_0039: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003e: stloc.s V_4 + IL_0040: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs1@19::@_instance + IL_0045: ldloc.s V_4 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_004c: stloc.0 + IL_004d: ldarg.0 + IL_004e: ldarg.0 + IL_004f: ldarg.0 + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0055: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0064: stloc.s V_6 + IL_0066: ldc.i4.0 + IL_0067: ldc.i4.1 + IL_0068: ldc.i4.2 + IL_0069: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_006e: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0078: stloc.s V_7 + IL_007a: ldc.i4.0 + IL_007b: ldc.i4.1 + IL_007c: ldc.i4.2 + IL_007d: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0082: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0087: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_008c: stloc.s V_8 + IL_008e: ldloc.s V_6 + IL_0090: ldloc.s V_7 + IL_0092: ldloc.s V_8 + IL_0094: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Zip3(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0099: stloc.s V_9 + IL_009b: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2 at line 24@24' class ListExpressionSteppingTest2/ListExpressionSteppingTest2/'Pipe #2 stage #2 at line 24@24'::@_instance + IL_00a0: ldloc.s V_9 + IL_00a2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a7: stloc.s V_10 + IL_00a9: ldsfld class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25 class ListExpressionSteppingTest2/ListExpressionSteppingTest2/xs2@25::@_instance + IL_00ae: ldloc.s V_10 + IL_00b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Map,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b5: stloc.s V_5 + IL_00b7: ldloc.0 + IL_00b8: ldloc.s V_5 + IL_00ba: newobj instance void class [runtime]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>>::.ctor(!0, + !1) + IL_00bf: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest2::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest2::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest2/ListExpressionSteppingTest2::f1() + IL_0005: pop + IL_0006: ldc.i4.5 + IL_0007: call class [runtime]System.Tuple`2>,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>> ListExpressionSteppingTest2/ListExpressionSteppingTest2::f2(!!0) + IL_000c: pop + IL_000d: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest2::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest2::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest2/ListExpressionSteppingTest2::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$ListExpressionSteppingTest2 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest2::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs new file mode 100644 index 00000000000..54aa23146fc --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs @@ -0,0 +1,12 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists +// Regression test for FSHARP1.0:4058 +module ListExpressionSteppingTest3 +module ListExpressionSteppingTest3 = + let f2 () = + let mutable x = 0 + [ while x < 4 do + x <- x + 1 + printfn "hello" + yield x ] + + let _ = f2() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs.il.bsl new file mode 100644 index 00000000000..6c9ceafe31b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs.il.bsl @@ -0,0 +1,151 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ListExpressionSteppingTest3 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public ListExpressionSteppingTest3 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f2() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0, + valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_1) + IL_0000: ldc.i4.0 + IL_0001: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0006: stloc.0 + IL_0007: br.s IL_0035 + + IL_0009: ldloc.0 + IL_000a: ldloc.0 + IL_000b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_0017: ldstr "hello" + IL_001c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0021: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0026: pop + IL_0027: ldloca.s V_1 + IL_0029: ldloc.0 + IL_002a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_002f: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0034: nop + IL_0035: ldloc.0 + IL_0036: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_003b: ldc.i4.4 + IL_003c: blt.s IL_0009 + + IL_003e: ldloca.s V_1 + IL_0040: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0045: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest3::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest3::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest3/ListExpressionSteppingTest3::f2() + IL_0005: pop + IL_0006: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest3::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest3::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest3/ListExpressionSteppingTest3::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$ListExpressionSteppingTest3 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest3::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs new file mode 100644 index 00000000000..c9c88fbd1b0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs @@ -0,0 +1,14 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists +// Regression test for FSHARP1.0:4058 +module ListExpressionSteppingTest4 +module ListExpressionSteppingTest4 = + let f3 () = + [ let mutable x = 0 + x <- x + 1 + let mutable y = 0 + y <- y + 1 + yield x + let z = x + y + yield z ] + + let _ = f3() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs.il.bsl new file mode 100644 index 00000000000..d3bd2f60a7d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs.il.bsl @@ -0,0 +1,162 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ListExpressionSteppingTest4 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public ListExpressionSteppingTest4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f3() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_2, + int32 V_3) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: ldloc.1 + IL_000a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_000f: ldc.i4.1 + IL_0010: add + IL_0011: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_0016: ldc.i4.0 + IL_0017: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_001c: stloc.2 + IL_001d: ldloc.2 + IL_001e: ldloc.2 + IL_001f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0024: ldc.i4.1 + IL_0025: add + IL_0026: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_002b: ldloca.s V_0 + IL_002d: ldloc.1 + IL_002e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0033: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0038: nop + IL_0039: ldloc.1 + IL_003a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_003f: ldloc.2 + IL_0040: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0045: add + IL_0046: stloc.3 + IL_0047: ldloca.s V_0 + IL_0049: ldloc.3 + IL_004a: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_004f: nop + IL_0050: ldloca.s V_0 + IL_0052: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0057: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest4::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest4::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest4/ListExpressionSteppingTest4::f3() + IL_0005: pop + IL_0006: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest4::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest4::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest4/ListExpressionSteppingTest4::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$ListExpressionSteppingTest4 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest4::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs new file mode 100644 index 00000000000..3c4df22fa62 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs @@ -0,0 +1,17 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists +// Regression test for FSHARP1.0:4058 +module ListExpressionSteppingTest5 +module ListExpressionSteppingTest5 = + let f4 () = + [ let mutable x = 0 + try + let mutable y = 0 + y <- y + 1 + yield x + let z = x + y + yield z + finally + x <- x + 1 + printfn "done" ] + + let _ = f4() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs.il.bsl new file mode 100644 index 00000000000..9cb8378a0f3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs.il.bsl @@ -0,0 +1,182 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ListExpressionSteppingTest5 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public ListExpressionSteppingTest5 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f4() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_3, + int32 V_4) + IL_0000: nop + IL_0001: ldc.i4.0 + IL_0002: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0007: stloc.1 + .try + { + IL_0008: nop + IL_0009: ldc.i4.0 + IL_000a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_000f: stloc.3 + IL_0010: ldloc.3 + IL_0011: ldloc.3 + IL_0012: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0017: ldc.i4.1 + IL_0018: add + IL_0019: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_001e: ldloca.s V_0 + IL_0020: ldloc.1 + IL_0021: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0026: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_002b: nop + IL_002c: ldloc.1 + IL_002d: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0032: ldloc.3 + IL_0033: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0038: add + IL_0039: stloc.s V_4 + IL_003b: ldloca.s V_0 + IL_003d: ldloc.s V_4 + IL_003f: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0044: nop + IL_0045: ldnull + IL_0046: stloc.2 + IL_0047: leave.s IL_0069 + + } + finally + { + IL_0049: nop + IL_004a: ldloc.1 + IL_004b: ldloc.1 + IL_004c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0051: ldc.i4.1 + IL_0052: add + IL_0053: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_0058: ldstr "done" + IL_005d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0062: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0067: pop + IL_0068: endfinally + } + IL_0069: ldloc.2 + IL_006a: pop + IL_006b: ldloca.s V_0 + IL_006d: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_0072: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest5::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest5::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest5/ListExpressionSteppingTest5::f4() + IL_0005: pop + IL_0006: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest5::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest5::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest5/ListExpressionSteppingTest5::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$ListExpressionSteppingTest5 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest5::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs new file mode 100644 index 00000000000..ee50e966869 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs @@ -0,0 +1,14 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists +// Regression test for FSHARP1.0:4058 +module ListExpressionSteppingTest6 +module ListExpressionSteppingTest6 = + let es = [1;2;3] + let f7 () = + [ for x in es do + printfn "hello" + yield x + for x in es do + printfn "goodbye" + yield x ] + + let _ = f7() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs.il.bsl new file mode 100644 index 00000000000..1c6c4aa828b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs.il.bsl @@ -0,0 +1,247 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ListExpressionSteppingTest6 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public ListExpressionSteppingTest6 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_es() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::es@5 + IL_0005: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f7() cil managed + { + + .maxstack 4 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + int32 V_3, + class [runtime]System.IDisposable V_4, + class [runtime]System.Collections.Generic.IEnumerator`1 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + int32 V_7, + class [runtime]System.IDisposable V_8) + IL_0000: nop + IL_0001: nop + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::get_es() + IL_0007: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000c: stloc.1 + .try + { + IL_000d: br.s IL_002f + + IL_000f: ldloc.1 + IL_0010: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0015: stloc.3 + IL_0016: ldstr "hello" + IL_001b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0020: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0025: pop + IL_0026: ldloca.s V_0 + IL_0028: ldloc.3 + IL_0029: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_002e: nop + IL_002f: ldloc.1 + IL_0030: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0035: brtrue.s IL_000f + + IL_0037: ldnull + IL_0038: stloc.2 + IL_0039: leave.s IL_0050 + + } + finally + { + IL_003b: ldloc.1 + IL_003c: isinst [runtime]System.IDisposable + IL_0041: stloc.s V_4 + IL_0043: ldloc.s V_4 + IL_0045: brfalse.s IL_004f + + IL_0047: ldloc.s V_4 + IL_0049: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_004e: endfinally + IL_004f: endfinally + } + IL_0050: ldloc.2 + IL_0051: pop + IL_0052: nop + IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::get_es() + IL_0058: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_005d: stloc.s V_5 + .try + { + IL_005f: br.s IL_0084 + + IL_0061: ldloc.s V_5 + IL_0063: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0068: stloc.s V_7 + IL_006a: ldstr "goodbye" + IL_006f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0074: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0079: pop + IL_007a: ldloca.s V_0 + IL_007c: ldloc.s V_7 + IL_007e: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0083: nop + IL_0084: ldloc.s V_5 + IL_0086: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_008b: brtrue.s IL_0061 + + IL_008d: ldnull + IL_008e: stloc.s V_6 + IL_0090: leave.s IL_00a8 + + } + finally + { + IL_0092: ldloc.s V_5 + IL_0094: isinst [runtime]System.IDisposable + IL_0099: stloc.s V_8 + IL_009b: ldloc.s V_8 + IL_009d: brfalse.s IL_00a7 + + IL_009f: ldloc.s V_8 + IL_00a1: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_00a6: endfinally + IL_00a7: endfinally + } + IL_00a8: ldloc.s V_6 + IL_00aa: pop + IL_00ab: ldloca.s V_0 + IL_00ad: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_00b2: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest6::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest6::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::es@5 + IL_001c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::f7() + IL_0021: pop + IL_0022: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + es() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest6/ListExpressionSteppingTest6::get_es() + } + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$ListExpressionSteppingTest6::init@ + IL_0006: ldsfld int32 ''.$ListExpressionSteppingTest6::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest6/ListExpressionSteppingTest6::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$ListExpressionSteppingTest6 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void ListExpressionSteppingTest6::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Int64.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Int64.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Int64.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Int64.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs new file mode 100644 index 00000000000..67a6e96c523 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs @@ -0,0 +1,222 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module MiscRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withRealInternalSignatureOff + |> ignoreWarnings + |> verifyILBaseline + + // SOURCE=AnonRecd.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AnonRecd.exe" # AnonRecd.fs + [] + let ``AnonRecd_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=CodeGenRenamings01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CodeGenRenamings01.exe" # CodeGenRenamings01.fs - + [] + let ``CodeGenRenamings01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=ArgumentNamesInClosures01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ArgumentNamesInClosures01.dll" # ArgumentNamesInClosures01.fs - + [] + let ``ArgumentNamesInClosures01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=Decimal01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Decimal01.exe" # Decimal01.fs + [] + let ``Decimal01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=EntryPoint01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EntryPoint01.exe" # EntryPoint01.fs + [] + let ``EntryPoint01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=EqualsOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EqualsOnUnions01.exe" # EqualsOnUnions01.fs - + [] + let ``EqualsOnUnions01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop01.exe" # ForLoop01.fs - + [] + let ``ForLoop01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop02.exe" # ForLoop02.fs + [] + let ``ForLoop02_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop03.exe" # ForLoop03.fs + [] + let ``ForLoop03_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=NoBoxingOnDispose01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoBoxingOnDispose01.exe" # NoBoxingOnDispose01.fs + [] + let ``NoBoxingOnDispose01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + //SOURCE=IfThenElse01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd IfThenElse01.dll" # IfThenElse01.fs + [] + let ``IfThenElse01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=LetIfThenElse01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd LetIfThenElse01.exe" # LetIfThenElse01.fs - + [] + let ``LetIfThenElse01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=Lock01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Lock01.exe" # Lock01.fs - + [] + let ``Lock01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=ModuleWithExpression01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ModuleWithExpression01.exe" # ModuleWithExpression01.fs + [] + let ``ModuleWithExpression01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=NonEscapingArguments02.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NonEscapingArguments02.dll" # NonEscapingArguments02.fs + [] + let ``NonEscapingArguments02_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=Seq_for_all01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Seq_for_all01.exe" # Seq_for_all01.fs + [] + let ``Seq_for_all01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=StructsAsArrayElements01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StructsAsArrayElements01.dll" # StructsAsArrayElements01.fs - + [] + let ``StructsAsArrayElements01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=PreserveSig.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd PreserveSig.dll" # PreserveSig.fs - + [] + let ``PreserveSig_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // # The name of this test is a bit misleading for legacy reasons: it used to test the --no-generate-filter-blocks option, which is now gone + // SOURCE=TryWith_NoFilterBlocks01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TryWith_NoFilterBlocks01.exe" # TryWith_NoFilterBlocks01.fs + [] + let ``TryWith_NoFilterBlocks01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=Structs01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs01.exe" # Structs01.fs - + [] + let ``Structs01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=Structs02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs02.exe" # Structs02.fs - + [] + let ``Structs02_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + [] + let ``Structs02_asNetStandard20_fs`` compilation = + compilation + |>asLibrary + |>asNetStandard20 + |>verifyCompilation + + // SOURCE=Marshal.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Marshal.exe" # Marshal.fs + [] + let ``Marshal_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=MethodImplNoInline.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline.exe" # MethodImplNoInline.fs + [] + let ``MethodImplNoInline_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=MethodImplNoInline02.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline02.exe" # MethodImplNoInline02.fs + [] + let ``MethodImplNoInline02_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=CustomAttributeGenericParameter01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CustomAttributeGenericParameter01.exe" # CustomAttributeGenericParameter01.fs - + [] + let ``CustomAttributeGenericParameter01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=GenericTypeStaticField.fs SCFLAGS="-g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GenericTypeStaticField.exe" # GenericTypeStaticField.fs - + [] + let ``GenericTypeStaticField_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=GeneralizationOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GeneralizationOnUnions01.exe" # GeneralizationOnUnions01.fs + [] + let ``GeneralizationOnUnions01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=AbstractClass.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AbstractClass.exe" # AbstractClass.fs + [] + let ``AbstractClass_fs`` compilation = + compilation + |> asExe + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.release.bsl similarity index 96% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.release.bsl index e50e9d4f74a..4216ba295eb 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.release.bsl @@ -1,302 +1,302 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Experiment.Test - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public Test - extends [runtime]System.ValueType - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field public int32 Field - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Experiment.Test/Test obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Test& V_0, - class [runtime]System.Collections.IComparer V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: stloc.2 - IL_0010: ldloc.0 - IL_0011: ldfld int32 Experiment.Test/Test::Field - IL_0016: stloc.3 - IL_0017: ldloc.2 - IL_0018: ldloc.3 - IL_0019: cgt - IL_001b: ldloc.2 - IL_001c: ldloc.3 - IL_001d: clt - IL_001f: sub - IL_0020: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Experiment.Test/Test - IL_0007: call instance int32 Experiment.Test/Test::CompareTo(valuetype Experiment.Test/Test) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Test V_0, - valuetype Experiment.Test/Test& V_1, - class [runtime]System.Collections.IComparer V_2, - int32 V_3, - int32 V_4) - IL_0000: ldarg.1 - IL_0001: unbox.any Experiment.Test/Test - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld int32 Experiment.Test/Test::Field - IL_0012: stloc.3 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Experiment.Test/Test::Field - IL_0019: stloc.s V_4 - IL_001b: ldloc.3 - IL_001c: ldloc.s V_4 - IL_001e: cgt - IL_0020: ldloc.3 - IL_0021: ldloc.s V_4 - IL_0023: clt - IL_0025: sub - IL_0026: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class [runtime]System.Collections.IEqualityComparer V_1) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: ldloc.0 - IL_0010: ldc.i4.6 - IL_0011: shl - IL_0012: ldloc.0 - IL_0013: ldc.i4.2 - IL_0014: shr - IL_0015: add - IL_0016: add - IL_0017: add - IL_0018: stloc.0 - IL_0019: ldloc.0 - IL_001a: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Experiment.Test/Test::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Test V_1, - valuetype Experiment.Test/Test& V_2, - class [runtime]System.Collections.IEqualityComparer V_3) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Test - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0028 - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Test - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld int32 Experiment.Test/Test::Field - IL_001f: ldloc.2 - IL_0020: ldfld int32 Experiment.Test/Test::Field - IL_0025: ceq - IL_0027: ret - - IL_0028: ldc.i4.0 - IL_0029: ret - } - - .method public specialname rtspecialname - instance void .ctor(int32 i) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int32 Experiment.Test/Test::Field - IL_0007: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Experiment.Test/Test obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype Experiment.Test/Test& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld int32 Experiment.Test/Test::Field - IL_0009: ldloc.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: ceq - IL_0011: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Test V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Test - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Test - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Experiment.Test/Test::Equals(valuetype Experiment.Test/Test) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - } - - .method public static int32 test() cil managed - { - - .maxstack 3 - .locals init (valuetype Experiment.Test/Test V_0) - IL_0000: ldc.i4.2 - IL_0001: newobj instance void Experiment.Test/Test::.ctor(int32) - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: ldfld int32 Experiment.Test/Test::Field - IL_000e: ret - } - -} - -.class private abstract auto ansi sealed '.$Experiment'.Test - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Experiment.Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Test + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public int32 Field + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Experiment.Test/Test obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Test& V_0, + class [runtime]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 Experiment.Test/Test::Field + IL_0016: stloc.3 + IL_0017: ldloc.2 + IL_0018: ldloc.3 + IL_0019: cgt + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: clt + IL_001f: sub + IL_0020: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Experiment.Test/Test + IL_0007: call instance int32 Experiment.Test/Test::CompareTo(valuetype Experiment.Test/Test) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Test V_0, + valuetype Experiment.Test/Test& V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.1 + IL_0001: unbox.any Experiment.Test/Test + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 Experiment.Test/Test::Field + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 Experiment.Test/Test::Field + IL_0019: stloc.s V_4 + IL_001b: ldloc.3 + IL_001c: ldloc.s V_4 + IL_001e: cgt + IL_0020: ldloc.3 + IL_0021: ldloc.s V_4 + IL_0023: clt + IL_0025: sub + IL_0026: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: ldloc.0 + IL_0010: ldc.i4.6 + IL_0011: shl + IL_0012: ldloc.0 + IL_0013: ldc.i4.2 + IL_0014: shr + IL_0015: add + IL_0016: add + IL_0017: add + IL_0018: stloc.0 + IL_0019: ldloc.0 + IL_001a: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Experiment.Test/Test::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Test V_1, + valuetype Experiment.Test/Test& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Test + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0028 + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Test + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 Experiment.Test/Test::Field + IL_001f: ldloc.2 + IL_0020: ldfld int32 Experiment.Test/Test::Field + IL_0025: ceq + IL_0027: ret + + IL_0028: ldc.i4.0 + IL_0029: ret + } + + .method public specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 Experiment.Test/Test::Field + IL_0007: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Experiment.Test/Test obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype Experiment.Test/Test& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 Experiment.Test/Test::Field + IL_0009: ldloc.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Test V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Test + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Test + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Experiment.Test/Test::Equals(valuetype Experiment.Test/Test) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .method public static int32 test() cil managed + { + + .maxstack 3 + .locals init (valuetype Experiment.Test/Test V_0) + IL_0000: ldc.i4.2 + IL_0001: newobj instance void Experiment.Test/Test::.ctor(int32) + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: ldfld int32 Experiment.Test/Test::Field + IL_000e: ret + } + +} + +.class private abstract auto ansi sealed '.$Experiment'.Test + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs new file mode 100644 index 00000000000..fb57826cbe9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs @@ -0,0 +1,8 @@ +// regression test for https://github.com/dotnet/fsharp/issues/420 + +[] +type X public (i : int) = + internal new() = X(1) + private new(f : float32) = X(1) + +exit 0 \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs.il.bsl new file mode 100644 index 00000000000..1cd7e85831a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs.il.bsl @@ -0,0 +1,113 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi serializable nested public X + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.assemblyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.1 + IL_0002: callvirt instance void assembly/X::.ctor(int32) + IL_0007: ret + } + + .method assembly specialname rtspecialname + instance void .ctor(float32 f) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.1 + IL_0002: callvirt instance void assembly/X::.ctor(int32) + IL_0007: ret + } + + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs new file mode 100644 index 00000000000..74ad9e7c857 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs @@ -0,0 +1,10 @@ + + +let main argv = + let mutable x = 1 + + let a = {| A = 1; B = 1 |} + + x <- x + 1 + + 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl new file mode 100644 index 00000000000..51ecb51bb67 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl @@ -0,0 +1,598 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static int32 main(!!a argv) cil managed + { + + .maxstack 4 + .locals init (int32 V_0, + class '<>f__AnonymousType1912756633`2' V_1) + IL_0000: ldc.i4.1 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.1 + IL_0004: newobj instance void class '<>f__AnonymousType1912756633`2'::.ctor(!0, + !1) + IL_0009: stloc.1 + IL_000a: ldloc.0 + IL_000b: ldc.i4.1 + IL_000c: add + IL_000d: stloc.0 + IL_000e: ldc.i4.0 + IL_000f: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class public auto ansi serializable sealed beforefieldinit '<>f__AnonymousType1912756633`2'<'j__TPar','j__TPar'> + extends [runtime]System.Object + implements [runtime]System.Collections.IStructuralComparable, + [runtime]System.IComparable, + class [runtime]System.IComparable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IEquatable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>> +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 02 00 00 00 00 00 ) + .field private !'j__TPar' A@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private !'j__TPar' B@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(!'j__TPar' A, + !'j__TPar' B) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 1E 3C 3E 66 5F 5F 41 6E 6F 6E + 79 6D 6F 75 73 54 79 70 65 31 39 31 32 37 35 36 + 36 33 33 60 32 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0014: ret + } + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0006: ret + } + + .method public hidebysig specialname instance !'j__TPar' + get_B() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0006: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToStringf__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0044 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0042 + + IL_0006: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_000b: ldarg.0 + IL_000c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0011: ldarg.1 + IL_0012: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0017: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: bge.s IL_0023 + + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldloc.0 + IL_0024: ldc.i4.0 + IL_0025: ble.s IL_0029 + + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_002e: ldarg.0 + IL_002f: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0034: ldarg.1 + IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_003a: tail. + IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0041: ret + + IL_0042: ldc.i4.1 + IL_0043: ret + + IL_0044: ldarg.1 + IL_0045: brfalse.s IL_0049 + + IL_0047: ldc.i4.m1 + IL_0048: ret + + IL_0049: ldc.i4.0 + IL_004a: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0007: tail. + IL_0009: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::CompareTo(class '<>f__AnonymousType1912756633`2') + IL_000e: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, + class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: brfalse.s IL_004a + + IL_000c: ldarg.1 + IL_000d: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0012: brfalse.s IL_0048 + + IL_0014: ldarg.2 + IL_0015: ldarg.0 + IL_0016: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_001b: ldloc.1 + IL_001c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0021: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0026: stloc.2 + IL_0027: ldloc.2 + IL_0028: ldc.i4.0 + IL_0029: bge.s IL_002d + + IL_002b: ldloc.2 + IL_002c: ret + + IL_002d: ldloc.2 + IL_002e: ldc.i4.0 + IL_002f: ble.s IL_0033 + + IL_0031: ldloc.2 + IL_0032: ret + + IL_0033: ldarg.2 + IL_0034: ldarg.0 + IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_003a: ldloc.1 + IL_003b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0040: tail. + IL_0042: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0047: ret + + IL_0048: ldc.i4.1 + IL_0049: ret + + IL_004a: ldarg.1 + IL_004b: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0050: brfalse.s IL_0054 + + IL_0052: ldc.i4.m1 + IL_0053: ret + + IL_0054: ldc.i4.0 + IL_0055: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003d + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: ldarg.0 + IL_000c: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0011: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0016: ldloc.0 + IL_0017: ldc.i4.6 + IL_0018: shl + IL_0019: ldloc.0 + IL_001a: ldc.i4.2 + IL_001b: shr + IL_001c: add + IL_001d: add + IL_001e: add + IL_001f: stloc.0 + IL_0020: ldc.i4 0x9e3779b9 + IL_0025: ldarg.1 + IL_0026: ldarg.0 + IL_0027: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_002c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0031: ldloc.0 + IL_0032: ldc.i4.6 + IL_0033: shl + IL_0034: ldloc.0 + IL_0035: ldc.i4.2 + IL_0036: shr + IL_0037: add + IL_0038: add + IL_0039: add + IL_003a: stloc.0 + IL_003b: ldloc.0 + IL_003c: ret + + IL_003d: ldc.i4.0 + IL_003e: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: tail. + IL_0008: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000d: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, + class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003c + + IL_0003: ldarg.1 + IL_0004: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_003a + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.2 + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0016: ldloc.1 + IL_0017: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_001c: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0, + !!0) + IL_0021: brfalse.s IL_0038 + + IL_0023: ldarg.2 + IL_0024: ldarg.0 + IL_0025: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_002a: ldloc.1 + IL_002b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0030: tail. + IL_0032: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0, + !!0) + IL_0037: ret + + IL_0038: ldc.i4.0 + IL_0039: ret + + IL_003a: ldc.i4.0 + IL_003b: ret + + IL_003c: ldarg.1 + IL_003d: ldnull + IL_003e: cgt.un + IL_0040: ldc.i4.0 + IL_0041: ceq + IL_0043: ret + } + + .method public hidebysig virtual final + instance bool Equals(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0031 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002f + + IL_0006: ldarg.0 + IL_0007: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_000c: ldarg.1 + IL_000d: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0012: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, + !!0) + IL_0017: brfalse.s IL_002d + + IL_0019: ldarg.0 + IL_001a: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_001f: ldarg.1 + IL_0020: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0025: tail. + IL_0027: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, + !!0) + IL_002c: ret + + IL_002d: ldc.i4.0 + IL_002e: ret + + IL_002f: ldc.i4.0 + IL_0030: ret + + IL_0031: ldarg.1 + IL_0032: ldnull + IL_0033: cgt.un + IL_0035: ldc.i4.0 + IL_0036: ceq + IL_0038: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0014 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: tail. + IL_000e: callvirt instance bool class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::Equals(class '<>f__AnonymousType1912756633`2') + IL_0013: ret + + IL_0014: ldc.i4.0 + IL_0015: ret + } + + .property instance !'j__TPar' A() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_A() + } + .property instance !'j__TPar' B() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 ) + .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_B() + } +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type + get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl new file mode 100644 index 00000000000..1785f3c854d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl @@ -0,0 +1,504 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static int32 main(!!a argv) cil managed + { + + .maxstack 4 + .locals init (int32 V_0, + class '<>f__AnonymousType1912756633`2' V_1) + IL_0000: ldc.i4.1 + IL_0001: stloc.0 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.1 + IL_0004: newobj instance void class '<>f__AnonymousType1912756633`2'::.ctor(!0, + !1) + IL_0009: stloc.1 + IL_000a: ldloc.0 + IL_000b: ldc.i4.1 + IL_000c: add + IL_000d: stloc.0 + IL_000e: ldc.i4.0 + IL_000f: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class public auto ansi serializable sealed beforefieldinit '<>f__AnonymousType1912756633`2'<'j__TPar','j__TPar'> + extends [runtime]System.Object + implements [runtime]System.Collections.IStructuralComparable, + [runtime]System.IComparable, + class [runtime]System.IComparable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IEquatable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>> +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 02 00 00 00 00 00 ) + .field private !'j__TPar' A@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field private !'j__TPar' B@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(!'j__TPar' A, + !'j__TPar' B) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 1E 3C 3E 66 5F 5F 41 6E 6F 6E + 79 6D 6F 75 73 54 79 70 65 31 39 31 32 37 35 36 + 36 33 33 60 32 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0014: ret + } + + .method public hidebysig specialname instance !'j__TPar' + get_A() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0006: ret + } + + .method public hidebysig specialname instance !'j__TPar' + get_B() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0006: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToStringf__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0044 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0042 + + IL_0006: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_000b: ldarg.0 + IL_000c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0011: ldarg.1 + IL_0012: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0017: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ldc.i4.0 + IL_001f: bge.s IL_0023 + + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldloc.0 + IL_0024: ldc.i4.0 + IL_0025: ble.s IL_0029 + + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_002e: ldarg.0 + IL_002f: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0034: ldarg.1 + IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_003a: tail. + IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0041: ret + + IL_0042: ldc.i4.1 + IL_0043: ret + + IL_0044: ldarg.1 + IL_0045: brfalse.s IL_0049 + + IL_0047: ldc.i4.m1 + IL_0048: ret + + IL_0049: ldc.i4.0 + IL_004a: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0007: tail. + IL_0009: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::CompareTo(class '<>f__AnonymousType1912756633`2') + IL_000e: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, + class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: brfalse.s IL_004a + + IL_000c: ldarg.1 + IL_000d: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0012: brfalse.s IL_0048 + + IL_0014: ldarg.2 + IL_0015: ldarg.0 + IL_0016: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_001b: ldloc.1 + IL_001c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0021: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0026: stloc.2 + IL_0027: ldloc.2 + IL_0028: ldc.i4.0 + IL_0029: bge.s IL_002d + + IL_002b: ldloc.2 + IL_002c: ret + + IL_002d: ldloc.2 + IL_002e: ldc.i4.0 + IL_002f: ble.s IL_0033 + + IL_0031: ldloc.2 + IL_0032: ret + + IL_0033: ldarg.2 + IL_0034: ldarg.0 + IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_003a: ldloc.1 + IL_003b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0040: tail. + IL_0042: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0047: ret + + IL_0048: ldc.i4.1 + IL_0049: ret + + IL_004a: ldarg.1 + IL_004b: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0050: brfalse.s IL_0054 + + IL_0052: ldc.i4.m1 + IL_0053: ret + + IL_0054: ldc.i4.0 + IL_0055: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003d + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: ldarg.0 + IL_000c: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0011: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0016: ldloc.0 + IL_0017: ldc.i4.6 + IL_0018: shl + IL_0019: ldloc.0 + IL_001a: ldc.i4.2 + IL_001b: shr + IL_001c: add + IL_001d: add + IL_001e: add + IL_001f: stloc.0 + IL_0020: ldc.i4 0x9e3779b9 + IL_0025: ldarg.1 + IL_0026: ldarg.0 + IL_0027: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_002c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0031: ldloc.0 + IL_0032: ldc.i4.6 + IL_0033: shl + IL_0034: ldloc.0 + IL_0035: ldc.i4.2 + IL_0036: shr + IL_0037: add + IL_0038: add + IL_0039: add + IL_003a: stloc.0 + IL_003b: ldloc.0 + IL_003c: ret + + IL_003d: ldc.i4.0 + IL_003e: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: tail. + IL_0008: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000d: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, + class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003c + + IL_0003: ldarg.1 + IL_0004: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_003a + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.2 + IL_0010: ldarg.0 + IL_0011: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0016: ldloc.1 + IL_0017: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_001c: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0, + !!0) + IL_0021: brfalse.s IL_0038 + + IL_0023: ldarg.2 + IL_0024: ldarg.0 + IL_0025: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_002a: ldloc.1 + IL_002b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0030: tail. + IL_0032: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, + !!0, + !!0) + IL_0037: ret + + IL_0038: ldc.i4.0 + IL_0039: ret + + IL_003a: ldc.i4.0 + IL_003b: ret + + IL_003c: ldarg.1 + IL_003d: ldnull + IL_003e: cgt.un + IL_0040: ldc.i4.0 + IL_0041: ceq + IL_0043: ret + } + + .method public hidebysig virtual final + instance bool Equals(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0031 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002f + + IL_0006: ldarg.0 + IL_0007: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_000c: ldarg.1 + IL_000d: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ + IL_0012: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, + !!0) + IL_0017: brfalse.s IL_002d + + IL_0019: ldarg.0 + IL_001a: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_001f: ldarg.1 + IL_0020: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ + IL_0025: tail. + IL_0027: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, + !!0) + IL_002c: ret + + IL_002d: ldc.i4.0 + IL_002e: ret + + IL_002f: ldc.i4.0 + IL_0030: ret + + IL_0031: ldarg.1 + IL_0032: ldnull + IL_0033: cgt.un + IL_0035: ldc.i4.0 + IL_0036: ceq + IL_0038: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0) + IL_0000: ldarg.1 + IL_0001: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0014 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: tail. + IL_000e: callvirt instance bool class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::Equals(class '<>f__AnonymousType1912756633`2') + IL_0013: ret + + IL_0014: ldc.i4.0 + IL_0015: ret + } + + .property instance !'j__TPar' A() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_A() + } + .property instance !'j__TPar' B() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 ) + .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_B() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs new file mode 100644 index 00000000000..b6b5621372f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs @@ -0,0 +1,43 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:3309 +// +// Make sure that argument names are preserved in some/all compiler closures +// +// Correct IL: +// .method public strict virtual instance int32 +// Invoke(class M/C i_want_to_see_this_identifier@7) cil managed <=== correct! +// { +// // Code size 9 (0x9) +// .maxstack 5 +// IL_0000: ldarg.1 +// IL_0001: tail. +// [...] +// } // end of method clo@10::Invoke +// +// +// Incorrect IL: +// .method public strict virtual instance int32 +// Invoke(class M/C arg0) cil managed <=== incorrect "arg0" is not what we want +// { +// // Code size 9 (0x9) +// .maxstack 5 +// IL_0000: ldarg.1 +// IL_0001: tail. +// [...] +// } // end of method clo@10::Invoke +// + + + +#light + +module M + type C = + member x.F(o:obj) = x.GetHashCode() + + let I (i_want_to_see_this_identifier:C) = i_want_to_see_this_identifier.F() + + type T() = + member x.F = I + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl new file mode 100644 index 00000000000..dc754e79d0c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl @@ -0,0 +1,171 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig instance int32 + F(object o) cil managed + { + + .maxstack 3 + .locals init (class M/C V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: tail. + IL_0005: callvirt instance int32 [runtime]System.Object::GetHashCode() + IL_000a: ret + } + + } + + .class auto ansi serializable nested public T + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public hidebysig specialname + instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + get_F() cil managed + { + + .maxstack 3 + .locals init (class M/T V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldsfld class M/get_F@41 M/get_F@41::@_instance + IL_0007: ret + } + + .property instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + F() + { + .get instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 M/T::get_F() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit get_F@41 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class M/get_F@41 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 + Invoke(class M/C i_want_to_see_this_identifier) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: call int32 M::I(class M/C) + IL_0008: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void M/get_F@41::.ctor() + IL_0005: stsfld class M/get_F@41 M/get_F@41::@_instance + IL_000a: ret + } + + } + + .method public static int32 I(class M/C i_want_to_see_this_identifier) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldnull + IL_0002: tail. + IL_0004: callvirt instance int32 M/C::F(object) + IL_0009: ret + } + +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs new file mode 100644 index 00000000000..21d38f3bb8d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs @@ -0,0 +1,39 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSharp1.0:5645 +// Title: Action proposed changes from review of compiled names + +let alist = [ 1 .. 10 ] +let array = [| 1; 2; 3 |] +let aseq = seq { 1 .. 10 } +let list1 = [ 1, 1; 2, 2 ] +let seq1 = seq { yield (1, 1); yield (2, 2) } +let array1 = [| (1, 1); (2, 2) |] +let a3 = Array2D.create 2 2 0 +let array3D = Array3D.create 3 3 3 0 +let array4D = Array4D.create 4 4 4 4 0 + +// List Renamings +let _ = List.ofArray array +let _ = List.ofSeq aseq + +// Map Renamings +let _ = Map.ofArray array1 +let _ = Map.ofList list1 +let _ = Map.ofSeq seq1 + +// Array Renamings +let a1 = Array.ofList alist +let a2 = Array.ofSeq aseq +Array.get a1 0 |> Array.set a2 0 + +// Array2D Renamings +(Array2D.length1 a3, Array2D.length2 a3, Array2D.base1 a3, Array2D.base2 a3) |> ignore +Array2D.get a3 0 0 |> Array2D.set a3 0 0 + +// Array3D Renamings +(Array3D.length1 array3D, Array3D.length2 array3D, Array3D.length3 array3D) |> ignore +Array3D.get array3D 0 0 0 |> Array3D.set array3D 0 0 0 + +// Array4D Renamings +(Array4D.length1 array4D, Array4D.length2 array4D, Array4D.length3 array4D, Array4D.length4 array4D) |> ignore +Array4D.get array4D 0 0 0 0 |> Array4D.set array4D 0 0 0 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl new file mode 100644 index 00000000000..2e77dc87b3d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl @@ -0,0 +1,687 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname seq1@9 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/seq1@9::pc + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current + IL_000e: ldarg.0 + IL_000f: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_0014: ret + } + + .method public strict virtual instance int32 + GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 7 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/seq1@9::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_003b + + IL_001e: nop + IL_001f: br.s IL_0051 + + IL_0021: nop + IL_0022: br.s IL_0058 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldc.i4.1 + IL_0027: stfld int32 assembly/seq1@9::pc + IL_002c: ldarg.0 + IL_002d: ldc.i4.1 + IL_002e: ldc.i4.1 + IL_002f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0034: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.0 + IL_003c: ldc.i4.2 + IL_003d: stfld int32 assembly/seq1@9::pc + IL_0042: ldarg.0 + IL_0043: ldc.i4.2 + IL_0044: ldc.i4.2 + IL_0045: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_004a: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current + IL_004f: ldc.i4.1 + IL_0050: ret + + IL_0051: ldarg.0 + IL_0052: ldc.i4.3 + IL_0053: stfld int32 assembly/seq1@9::pc + IL_0058: ldarg.0 + IL_0059: ldnull + IL_005a: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current + IL_005f: ldc.i4.0 + IL_0060: ret + } + + .method public strict virtual instance void + Close() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: stfld int32 assembly/seq1@9::pc + IL_0007: ret + } + + .method public strict virtual instance bool + get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/seq1@9::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.0 + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 + get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/seq1@9::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> + GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ldnull + IL_0002: newobj instance void assembly/seq1@9::.ctor(int32, + class [runtime]System.Tuple`2) + IL_0007: ret + } + + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + get_alist() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::alist@5 + IL_0005: ret + } + + .method public specialname static int32[] + get_array() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] ''.$assembly::array@6 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 + get_aseq() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 ''.$assembly::aseq@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + get_list1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$assembly::list1@8 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> + get_seq1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> ''.$assembly::seq1@9 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] + get_array1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] ''.$assembly::array1@10 + IL_0005: ret + } + + .method public specialname static int32[0...,0...] + get_a3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[0...,0...] ''.$assembly::a3@11 + IL_0005: ret + } + + .method public specialname static int32[0...,0...,0...] + get_array3D() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[0...,0...,0...] ''.$assembly::array3D@12 + IL_0005: ret + } + + .method public specialname static int32[0...,0...,0...,0...] + get_array4D() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[0...,0...,0...,0...] ''.$assembly::array4D@13 + IL_0005: ret + } + + .method public specialname static int32[] + get_a1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] ''.$assembly::a1@25 + IL_0005: ret + } + + .method public specialname static int32[] + get_a2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32[] ''.$assembly::a2@26 + IL_0005: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + alist() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() + } + .property int32[] 'array'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_array() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + aseq() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + list1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + seq1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() + } + .property class [runtime]System.Tuple`2[] + array1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_array1() + } + .property int32[0...,0...] a3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[0...,0...] assembly::get_a3() + } + .property int32[0...,0...,0...] array3D() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[0...,0...,0...] assembly::get_array3D() + } + .property int32[0...,0...,0...,0...] array4D() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[0...,0...,0...,0...] assembly::get_array4D() + } + .property int32[] a1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_a1() + } + .property int32[] a2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32[] assembly::get_a2() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 alist@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] array@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 aseq@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> list1@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> seq1@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] array1@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[0...,0...] a3@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[0...,0...,0...] array3D@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[0...,0...,0...,0...] array4D@13 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] a1@25 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] a2@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + int32[] V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [runtime]System.Tuple`2[] V_5, + int32[0...,0...] V_6, + int32[0...,0...,0...] V_7, + int32[0...,0...,0...,0...] V_8, + int32[] V_9, + int32[] V_10, + int32 V_11, + class [runtime]System.Tuple`4 V_12, + class [runtime]System.Tuple`4 V_13, + int32 V_14, + class [runtime]System.Tuple`3 V_15, + class [runtime]System.Tuple`3 V_16, + int32 V_17, + class [runtime]System.Tuple`4 V_18, + class [runtime]System.Tuple`4 V_19, + int32 V_20) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.s 10 + IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0009: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0013: dup + IL_0014: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::alist@5 + IL_0019: stloc.0 + IL_001a: ldc.i4.3 + IL_001b: newarr [runtime]System.Int32 + IL_0020: dup + IL_0021: ldc.i4.0 + IL_0022: ldc.i4.1 + IL_0023: stelem [runtime]System.Int32 + IL_0028: dup + IL_0029: ldc.i4.1 + IL_002a: ldc.i4.2 + IL_002b: stelem [runtime]System.Int32 + IL_0030: dup + IL_0031: ldc.i4.2 + IL_0032: ldc.i4.3 + IL_0033: stelem [runtime]System.Int32 + IL_0038: dup + IL_0039: stsfld int32[] ''.$assembly::array@6 + IL_003e: stloc.1 + IL_003f: ldc.i4.1 + IL_0040: ldc.i4.1 + IL_0041: ldc.i4.s 10 + IL_0043: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0048: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: dup + IL_004e: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 ''.$assembly::aseq@7 + IL_0053: stloc.2 + IL_0054: ldc.i4.1 + IL_0055: ldc.i4.1 + IL_0056: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_005b: ldc.i4.2 + IL_005c: ldc.i4.2 + IL_005d: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::get_Empty() + IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0071: dup + IL_0072: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$assembly::list1@8 + IL_0077: stloc.3 + IL_0078: ldc.i4.0 + IL_0079: ldnull + IL_007a: newobj instance void assembly/seq1@9::.ctor(int32, + class [runtime]System.Tuple`2) + IL_007f: dup + IL_0080: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> ''.$assembly::seq1@9 + IL_0085: stloc.s V_4 + IL_0087: ldc.i4.2 + IL_0088: newarr class [runtime]System.Tuple`2 + IL_008d: dup + IL_008e: ldc.i4.0 + IL_008f: ldc.i4.1 + IL_0090: ldc.i4.1 + IL_0091: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0096: stelem class [runtime]System.Tuple`2 + IL_009b: dup + IL_009c: ldc.i4.1 + IL_009d: ldc.i4.2 + IL_009e: ldc.i4.2 + IL_009f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_00a4: stelem class [runtime]System.Tuple`2 + IL_00a9: dup + IL_00aa: stsfld class [runtime]System.Tuple`2[] ''.$assembly::array1@10 + IL_00af: stloc.s V_5 + IL_00b1: ldc.i4.2 + IL_00b2: ldc.i4.2 + IL_00b3: ldc.i4.0 + IL_00b4: call !!0[0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Create(int32, + int32, + !!0) + IL_00b9: dup + IL_00ba: stsfld int32[0...,0...] ''.$assembly::a3@11 + IL_00bf: stloc.s V_6 + IL_00c1: ldc.i4.3 + IL_00c2: ldc.i4.3 + IL_00c3: ldc.i4.3 + IL_00c4: ldc.i4.0 + IL_00c5: call !!0[0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Create(int32, + int32, + int32, + !!0) + IL_00ca: dup + IL_00cb: stsfld int32[0...,0...,0...] ''.$assembly::array3D@12 + IL_00d0: stloc.s V_7 + IL_00d2: ldc.i4.4 + IL_00d3: ldc.i4.4 + IL_00d4: ldc.i4.4 + IL_00d5: ldc.i4.4 + IL_00d6: ldc.i4.0 + IL_00d7: call !!0[0...,0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Create(int32, + int32, + int32, + int32, + !!0) + IL_00dc: dup + IL_00dd: stsfld int32[0...,0...,0...,0...] ''.$assembly::array4D@13 + IL_00e2: stloc.s V_8 + IL_00e4: call int32[] assembly::get_array() + IL_00e9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfArray(!!0[]) + IL_00ee: pop + IL_00ef: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_00f4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f9: pop + IL_00fa: call class [runtime]System.Tuple`2[] assembly::get_array1() + IL_00ff: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfArray(class [runtime]System.Tuple`2[]) + IL_0104: pop + IL_0105: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() + IL_010a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>) + IL_010f: pop + IL_0110: call class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() + IL_0115: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1>) + IL_011a: pop + IL_011b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() + IL_0120: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0125: dup + IL_0126: stsfld int32[] ''.$assembly::a1@25 + IL_012b: stloc.s V_9 + IL_012d: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_0132: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0137: dup + IL_0138: stsfld int32[] ''.$assembly::a2@26 + IL_013d: stloc.s V_10 + IL_013f: call int32[] assembly::get_a1() + IL_0144: ldc.i4.0 + IL_0145: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], + int32) + IL_014a: stloc.s V_11 + IL_014c: call int32[] assembly::get_a2() + IL_0151: ldc.i4.0 + IL_0152: ldloc.s V_11 + IL_0154: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], + int32, + !!0) + IL_0159: nop + IL_015a: call int32[0...,0...] assembly::get_a3() + IL_015f: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) + IL_0164: call int32[0...,0...] assembly::get_a3() + IL_0169: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) + IL_016e: call int32[0...,0...] assembly::get_a3() + IL_0173: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) + IL_0178: call int32[0...,0...] assembly::get_a3() + IL_017d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) + IL_0182: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_0187: stloc.s V_12 + IL_0189: ldloc.s V_12 + IL_018b: stloc.s V_13 + IL_018d: call int32[0...,0...] assembly::get_a3() + IL_0192: ldc.i4.0 + IL_0193: ldc.i4.0 + IL_0194: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], + int32, + int32) + IL_0199: stloc.s V_14 + IL_019b: call int32[0...,0...] assembly::get_a3() + IL_01a0: ldc.i4.0 + IL_01a1: ldc.i4.0 + IL_01a2: ldloc.s V_14 + IL_01a4: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], + int32, + int32, + !!0) + IL_01a9: nop + IL_01aa: call int32[0...,0...,0...] assembly::get_array3D() + IL_01af: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) + IL_01b4: call int32[0...,0...,0...] assembly::get_array3D() + IL_01b9: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) + IL_01be: call int32[0...,0...,0...] assembly::get_array3D() + IL_01c3: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) + IL_01c8: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_01cd: stloc.s V_15 + IL_01cf: ldloc.s V_15 + IL_01d1: stloc.s V_16 + IL_01d3: call int32[0...,0...,0...] assembly::get_array3D() + IL_01d8: ldc.i4.0 + IL_01d9: ldc.i4.0 + IL_01da: ldc.i4.0 + IL_01db: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Get(!!0[0...,0...,0...], + int32, + int32, + int32) + IL_01e0: stloc.s V_17 + IL_01e2: call int32[0...,0...,0...] assembly::get_array3D() + IL_01e7: ldc.i4.0 + IL_01e8: ldc.i4.0 + IL_01e9: ldc.i4.0 + IL_01ea: ldloc.s V_17 + IL_01ec: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], + int32, + int32, + int32, + !!0) + IL_01f1: nop + IL_01f2: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01f7: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) + IL_01fc: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0201: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) + IL_0206: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_020b: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) + IL_0210: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0215: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) + IL_021a: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_021f: stloc.s V_18 + IL_0221: ldloc.s V_18 + IL_0223: stloc.s V_19 + IL_0225: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_022a: ldc.i4.0 + IL_022b: ldc.i4.0 + IL_022c: ldc.i4.0 + IL_022d: ldc.i4.0 + IL_022e: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,0...], + int32, + int32, + int32, + int32) + IL_0233: stloc.s V_20 + IL_0235: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_023a: ldc.i4.0 + IL_023b: ldc.i4.0 + IL_023c: ldc.i4.0 + IL_023d: ldc.i4.0 + IL_023e: ldloc.s V_20 + IL_0240: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], + int32, + int32, + int32, + int32, + !!0) + IL_0245: nop + IL_0246: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs new file mode 100644 index 00000000000..9a0f15d2a5d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs @@ -0,0 +1,6 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +module M + +let f<[]'T>(x:'T) = x + +exit 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl new file mode 100644 index 00000000000..16a86e09862 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl @@ -0,0 +1,82 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static !!T f(!!T x) cil managed + { + .param type T + .custom instance void [runtime]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 01 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ret + } + +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs new file mode 100644 index 00000000000..1620ecef597 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs @@ -0,0 +1,6 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:3083 +// Implementation of decimal constants +#light + +let _ = 1.2M diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.net472.bsl new file mode 100644 index 00000000000..66c14f7cac0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.net472.bsl @@ -0,0 +1,85 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldc.i4.s 12 + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: ldc.i4.0 + IL_0005: ldc.i4.1 + IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_000b: pop + IL_000c: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl new file mode 100644 index 00000000000..dacf9cdbaab --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl @@ -0,0 +1,85 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldc.i4.s 12 + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: ldc.i4.0 + IL_0005: ldc.i4.1 + IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_000b: pop + IL_000c: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs new file mode 100644 index 00000000000..7aec9204b16 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs @@ -0,0 +1,8 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:1792 + +let static_initializer = 10 + +[] +let main (argsz:string []) = + exit(if(static_initializer=10) then 0 else 1) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs.il.bsl new file mode 100644 index 00000000000..237cfc0ea3f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs.il.bsl @@ -0,0 +1,114 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static int32 + get_static_initializer() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.s 10 + IL_0002: ret + } + + .method public static int32 main(string[] argsz) cil managed + { + .entrypoint + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: nop + IL_000d: nop + IL_000e: call int32 assembly::get_static_initializer() + IL_0013: ldc.i4.s 10 + IL_0015: bne.un.s IL_001b + + IL_0017: ldc.i4.0 + IL_0018: nop + IL_0019: br.s IL_001d + + IL_001b: ldc.i4.1 + IL_001c: nop + IL_001d: tail. + IL_001f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0024: ret + } + + .property int32 static_initializer() + { + .get int32 assembly::get_static_initializer() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 3 + .locals init (int32 V_0) + IL_0000: call int32 assembly::get_static_initializer() + IL_0005: stloc.0 + IL_0006: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs new file mode 100644 index 00000000000..68fabf80a51 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs @@ -0,0 +1,7 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:5543 +// Inefficiency on .Equals() +// This test has nothing to do with debugging spans, etc... +// It's a pure IL verification +type U = | A + | B of int diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..c6d4d961914 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl @@ -0,0 +1,990 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit U + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 A = int32(0x00000000) + .field public static literal int32 B = int32(0x00000001) + } + + .class auto ansi serializable nested assembly beforefieldinit specialname _A + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 + 70 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ret + } + + } + + .class auto ansi serializable nested public beforefieldinit specialname B + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 + 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/U/B::item + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/U/B::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/_A _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/_A obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj + IL_000d: ret + } + + } + + .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/B _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/B obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_0006: ldfld int32 assembly/U/B::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() + } + } + + .field static assembly initonly class assembly/U _unique_A + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void assembly/U/_A::.ctor() + IL_0005: stsfld class assembly/U assembly/U::_unique_A + IL_000a: ret + } + + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ret + } + + .method public static class assembly/U + get_A() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/U assembly/U::_unique_A + IL_0005: ret + } + + .method public hidebysig instance bool + get_IsA() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/_A + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public static class assembly/U + NewB(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void assembly/U/B::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool + get_IsB() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public hidebysig instance int32 + get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: brfalse.s IL_000b + + IL_0008: ldc.i4.1 + IL_0009: br.s IL_000c + + IL_000b: ldc.i4.0 + IL_000c: ret + } + + .method assembly hidebysig specialname + instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8, + class [runtime]System.Collections.IComparer V_9, + int32 V_10, + int32 V_11) + IL_0000: ldarg.0 + IL_0001: brfalse IL_0081 + + IL_0006: ldarg.1 + IL_0007: brfalse IL_007f + + IL_000c: ldarg.0 + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: isinst assembly/U/B + IL_0014: brfalse.s IL_0019 + + IL_0016: ldc.i4.1 + IL_0017: br.s IL_001a + + IL_0019: ldc.i4.0 + IL_001a: stloc.0 + IL_001b: ldarg.1 + IL_001c: stloc.3 + IL_001d: ldloc.3 + IL_001e: isinst assembly/U/B + IL_0023: brfalse.s IL_0028 + + IL_0025: ldc.i4.1 + IL_0026: br.s IL_0029 + + IL_0028: ldc.i4.0 + IL_0029: stloc.2 + IL_002a: ldloc.0 + IL_002b: ldloc.2 + IL_002c: bne.un.s IL_007b + + IL_002e: ldarg.0 + IL_002f: isinst assembly/U/B + IL_0034: brfalse.s IL_0079 + + IL_0036: ldarg.0 + IL_0037: castclass assembly/U/B + IL_003c: stloc.s V_4 + IL_003e: ldarg.1 + IL_003f: castclass assembly/U/B + IL_0044: stloc.s V_5 + IL_0046: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004b: stloc.s V_6 + IL_004d: ldloc.s V_4 + IL_004f: ldfld int32 assembly/U/B::item + IL_0054: stloc.s V_7 + IL_0056: ldloc.s V_5 + IL_0058: ldfld int32 assembly/U/B::item + IL_005d: stloc.s V_8 + IL_005f: ldloc.s V_6 + IL_0061: stloc.s V_9 + IL_0063: ldloc.s V_7 + IL_0065: stloc.s V_10 + IL_0067: ldloc.s V_8 + IL_0069: stloc.s V_11 + IL_006b: ldloc.s V_10 + IL_006d: ldloc.s V_11 + IL_006f: cgt + IL_0071: ldloc.s V_10 + IL_0073: ldloc.s V_11 + IL_0075: clt + IL_0077: sub + IL_0078: ret + + IL_0079: ldc.i4.0 + IL_007a: ret + + IL_007b: ldloc.0 + IL_007c: ldloc.2 + IL_007d: sub + IL_007e: ret + + IL_007f: ldc.i4.1 + IL_0080: ret + + IL_0081: ldarg.1 + IL_0082: brfalse.s IL_0086 + + IL_0084: ldc.i4.m1 + IL_0085: ret + + IL_0086: ldc.i4.0 + IL_0087: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/U + IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class assembly/U V_0, + int32 V_1, + class assembly/U V_2, + int32 V_3, + class assembly/U V_4, + class assembly/U/B V_5, + class assembly/U/B V_6, + class [runtime]System.Collections.IComparer V_7, + int32 V_8, + int32 V_9, + class [runtime]System.Collections.IComparer V_10, + int32 V_11, + int32 V_12) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/U + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse IL_008b + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/U + IL_0013: brfalse IL_0089 + + IL_0018: ldarg.0 + IL_0019: stloc.2 + IL_001a: ldloc.2 + IL_001b: isinst assembly/U/B + IL_0020: brfalse.s IL_0025 + + IL_0022: ldc.i4.1 + IL_0023: br.s IL_0026 + + IL_0025: ldc.i4.0 + IL_0026: stloc.1 + IL_0027: ldloc.0 + IL_0028: stloc.s V_4 + IL_002a: ldloc.s V_4 + IL_002c: isinst assembly/U/B + IL_0031: brfalse.s IL_0036 + + IL_0033: ldc.i4.1 + IL_0034: br.s IL_0037 + + IL_0036: ldc.i4.0 + IL_0037: stloc.3 + IL_0038: ldloc.1 + IL_0039: ldloc.3 + IL_003a: bne.un.s IL_0085 + + IL_003c: ldarg.0 + IL_003d: isinst assembly/U/B + IL_0042: brfalse.s IL_0083 + + IL_0044: ldarg.0 + IL_0045: castclass assembly/U/B + IL_004a: stloc.s V_5 + IL_004c: ldloc.0 + IL_004d: castclass assembly/U/B + IL_0052: stloc.s V_6 + IL_0054: ldarg.2 + IL_0055: stloc.s V_7 + IL_0057: ldloc.s V_5 + IL_0059: ldfld int32 assembly/U/B::item + IL_005e: stloc.s V_8 + IL_0060: ldloc.s V_6 + IL_0062: ldfld int32 assembly/U/B::item + IL_0067: stloc.s V_9 + IL_0069: ldloc.s V_7 + IL_006b: stloc.s V_10 + IL_006d: ldloc.s V_8 + IL_006f: stloc.s V_11 + IL_0071: ldloc.s V_9 + IL_0073: stloc.s V_12 + IL_0075: ldloc.s V_11 + IL_0077: ldloc.s V_12 + IL_0079: cgt + IL_007b: ldloc.s V_11 + IL_007d: ldloc.s V_12 + IL_007f: clt + IL_0081: sub + IL_0082: ret + + IL_0083: ldc.i4.0 + IL_0084: ret + + IL_0085: ldloc.1 + IL_0086: ldloc.3 + IL_0087: sub + IL_0088: ret + + IL_0089: ldc.i4.1 + IL_008a: ret + + IL_008b: ldarg.1 + IL_008c: unbox.any assembly/U + IL_0091: brfalse.s IL_0095 + + IL_0093: ldc.i4.m1 + IL_0094: ret + + IL_0095: ldc.i4.0 + IL_0096: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class assembly/U/B V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + class assembly/U V_5) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0045 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: isinst assembly/U/B + IL_000b: brfalse.s IL_0034 + + IL_000d: ldarg.0 + IL_000e: castclass assembly/U/B + IL_0013: stloc.1 + IL_0014: ldc.i4.1 + IL_0015: stloc.0 + IL_0016: ldc.i4 0x9e3779b9 + IL_001b: ldarg.1 + IL_001c: stloc.2 + IL_001d: ldloc.1 + IL_001e: ldfld int32 assembly/U/B::item + IL_0023: stloc.3 + IL_0024: ldloc.2 + IL_0025: stloc.s V_4 + IL_0027: ldloc.3 + IL_0028: ldloc.0 + IL_0029: ldc.i4.6 + IL_002a: shl + IL_002b: ldloc.0 + IL_002c: ldc.i4.2 + IL_002d: shr + IL_002e: add + IL_002f: add + IL_0030: add + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: ret + + IL_0034: ldarg.0 + IL_0035: stloc.s V_5 + IL_0037: ldloc.s V_5 + IL_0039: isinst assembly/U/B + IL_003e: brfalse.s IL_0043 + + IL_0040: ldc.i4.1 + IL_0041: br.s IL_0044 + + IL_0043: ldc.i4.0 + IL_0044: ret + + IL_0045: ldc.i4.0 + IL_0046: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + int32 V_4, + class assembly/U V_5, + class assembly/U/B V_6, + class assembly/U/B V_7, + class [runtime]System.Collections.IEqualityComparer V_8, + int32 V_9, + int32 V_10, + class [runtime]System.Collections.IEqualityComparer V_11) + IL_0000: ldarg.0 + IL_0001: brfalse IL_0076 + + IL_0006: ldarg.1 + IL_0007: isinst assembly/U + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: brfalse.s IL_0074 + + IL_0010: ldloc.0 + IL_0011: stloc.1 + IL_0012: ldarg.0 + IL_0013: stloc.3 + IL_0014: ldloc.3 + IL_0015: isinst assembly/U/B + IL_001a: brfalse.s IL_001f + + IL_001c: ldc.i4.1 + IL_001d: br.s IL_0020 + + IL_001f: ldc.i4.0 + IL_0020: stloc.2 + IL_0021: ldloc.1 + IL_0022: stloc.s V_5 + IL_0024: ldloc.s V_5 + IL_0026: isinst assembly/U/B + IL_002b: brfalse.s IL_0030 + + IL_002d: ldc.i4.1 + IL_002e: br.s IL_0031 + + IL_0030: ldc.i4.0 + IL_0031: stloc.s V_4 + IL_0033: ldloc.2 + IL_0034: ldloc.s V_4 + IL_0036: bne.un.s IL_0072 + + IL_0038: ldarg.0 + IL_0039: isinst assembly/U/B + IL_003e: brfalse.s IL_0070 + + IL_0040: ldarg.0 + IL_0041: castclass assembly/U/B + IL_0046: stloc.s V_6 + IL_0048: ldloc.1 + IL_0049: castclass assembly/U/B + IL_004e: stloc.s V_7 + IL_0050: ldarg.2 + IL_0051: stloc.s V_8 + IL_0053: ldloc.s V_6 + IL_0055: ldfld int32 assembly/U/B::item + IL_005a: stloc.s V_9 + IL_005c: ldloc.s V_7 + IL_005e: ldfld int32 assembly/U/B::item + IL_0063: stloc.s V_10 + IL_0065: ldloc.s V_8 + IL_0067: stloc.s V_11 + IL_0069: ldloc.s V_9 + IL_006b: ldloc.s V_10 + IL_006d: ceq + IL_006f: ret + + IL_0070: ldc.i4.1 + IL_0071: ret + + IL_0072: ldc.i4.0 + IL_0073: ret + + IL_0074: ldc.i4.0 + IL_0075: ret + + IL_0076: ldarg.1 + IL_0077: ldnull + IL_0078: cgt.un + IL_007a: ldc.i4.0 + IL_007b: ceq + IL_007d: ret + } + + .method public hidebysig virtual final + instance bool Equals(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0057 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0055 + + IL_0006: ldarg.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: isinst assembly/U/B + IL_000e: brfalse.s IL_0013 + + IL_0010: ldc.i4.1 + IL_0011: br.s IL_0014 + + IL_0013: ldc.i4.0 + IL_0014: stloc.0 + IL_0015: ldarg.1 + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: isinst assembly/U/B + IL_001d: brfalse.s IL_0022 + + IL_001f: ldc.i4.1 + IL_0020: br.s IL_0023 + + IL_0022: ldc.i4.0 + IL_0023: stloc.2 + IL_0024: ldloc.0 + IL_0025: ldloc.2 + IL_0026: bne.un.s IL_0053 + + IL_0028: ldarg.0 + IL_0029: isinst assembly/U/B + IL_002e: brfalse.s IL_0051 + + IL_0030: ldarg.0 + IL_0031: castclass assembly/U/B + IL_0036: stloc.s V_4 + IL_0038: ldarg.1 + IL_0039: castclass assembly/U/B + IL_003e: stloc.s V_5 + IL_0040: ldloc.s V_4 + IL_0042: ldfld int32 assembly/U/B::item + IL_0047: ldloc.s V_5 + IL_0049: ldfld int32 assembly/U/B::item + IL_004e: ceq + IL_0050: ret + + IL_0051: ldc.i4.1 + IL_0052: ret + + IL_0053: ldc.i4.0 + IL_0054: ret + + IL_0055: ldc.i4.0 + IL_0056: ret + + IL_0057: ldarg.1 + IL_0058: ldnull + IL_0059: cgt.un + IL_005b: ldc.i4.0 + IL_005c: ceq + IL_005e: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/U + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/U::get_Tag() + } + .property class assembly/U A() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/U assembly/U::get_A() + } + .property instance bool IsA() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsA() + } + .property instance bool IsB() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsB() + } + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type + get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..59329f4b4ac --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl @@ -0,0 +1,957 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit U + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 A = int32(0x00000000) + .field public static literal int32 B = int32(0x00000001) + } + + .class auto ansi serializable nested assembly beforefieldinit specialname _A + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 + 70 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ret + } + + } + + .class auto ansi serializable nested public beforefieldinit specialname B + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 + 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/U/B::item + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/U/B::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/_A _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/_A obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj + IL_000d: ret + } + + } + + .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/B _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/B obj) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_0006: ldfld int32 assembly/U/B::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() + } + } + + .field static assembly initonly class assembly/U _unique_A + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void assembly/U/_A::.ctor() + IL_0005: stsfld class assembly/U assembly/U::_unique_A + IL_000a: ret + } + + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ret + } + + .method public static class assembly/U + get_A() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/U assembly/U::_unique_A + IL_0005: ret + } + + .method public hidebysig instance bool + get_IsA() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/_A + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public static class assembly/U + NewB(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void assembly/U/B::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool + get_IsB() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public hidebysig instance int32 + get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: brfalse.s IL_000b + + IL_0008: ldc.i4.1 + IL_0009: br.s IL_000c + + IL_000b: ldc.i4.0 + IL_000c: ret + } + + .method assembly hidebysig specialname + instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.0 + IL_0001: brfalse IL_0072 + + IL_0006: ldarg.1 + IL_0007: brfalse.s IL_0070 + + IL_0009: ldarg.0 + IL_000a: stloc.1 + IL_000b: ldloc.1 + IL_000c: isinst assembly/U/B + IL_0011: brfalse.s IL_0016 + + IL_0013: ldc.i4.1 + IL_0014: br.s IL_0017 + + IL_0016: ldc.i4.0 + IL_0017: stloc.0 + IL_0018: ldarg.1 + IL_0019: stloc.3 + IL_001a: ldloc.3 + IL_001b: isinst assembly/U/B + IL_0020: brfalse.s IL_0025 + + IL_0022: ldc.i4.1 + IL_0023: br.s IL_0026 + + IL_0025: ldc.i4.0 + IL_0026: stloc.2 + IL_0027: ldloc.0 + IL_0028: ldloc.2 + IL_0029: bne.un.s IL_006c + + IL_002b: ldarg.0 + IL_002c: isinst assembly/U/B + IL_0031: brfalse.s IL_006a + + IL_0033: ldarg.0 + IL_0034: castclass assembly/U/B + IL_0039: stloc.s V_4 + IL_003b: ldarg.1 + IL_003c: castclass assembly/U/B + IL_0041: stloc.s V_5 + IL_0043: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0048: stloc.s V_6 + IL_004a: ldloc.s V_4 + IL_004c: ldfld int32 assembly/U/B::item + IL_0051: stloc.s V_7 + IL_0053: ldloc.s V_5 + IL_0055: ldfld int32 assembly/U/B::item + IL_005a: stloc.s V_8 + IL_005c: ldloc.s V_7 + IL_005e: ldloc.s V_8 + IL_0060: cgt + IL_0062: ldloc.s V_7 + IL_0064: ldloc.s V_8 + IL_0066: clt + IL_0068: sub + IL_0069: ret + + IL_006a: ldc.i4.0 + IL_006b: ret + + IL_006c: ldloc.0 + IL_006d: ldloc.2 + IL_006e: sub + IL_006f: ret + + IL_0070: ldc.i4.1 + IL_0071: ret + + IL_0072: ldarg.1 + IL_0073: brfalse.s IL_0077 + + IL_0075: ldc.i4.m1 + IL_0076: ret + + IL_0077: ldc.i4.0 + IL_0078: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/U + IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class assembly/U V_0, + int32 V_1, + class assembly/U V_2, + int32 V_3, + class assembly/U V_4, + class assembly/U/B V_5, + class assembly/U/B V_6, + class [runtime]System.Collections.IComparer V_7, + int32 V_8, + int32 V_9) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/U + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse IL_007c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/U + IL_0013: brfalse.s IL_007a + + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.2 + IL_0018: isinst assembly/U/B + IL_001d: brfalse.s IL_0022 + + IL_001f: ldc.i4.1 + IL_0020: br.s IL_0023 + + IL_0022: ldc.i4.0 + IL_0023: stloc.1 + IL_0024: ldloc.0 + IL_0025: stloc.s V_4 + IL_0027: ldloc.s V_4 + IL_0029: isinst assembly/U/B + IL_002e: brfalse.s IL_0033 + + IL_0030: ldc.i4.1 + IL_0031: br.s IL_0034 + + IL_0033: ldc.i4.0 + IL_0034: stloc.3 + IL_0035: ldloc.1 + IL_0036: ldloc.3 + IL_0037: bne.un.s IL_0076 + + IL_0039: ldarg.0 + IL_003a: isinst assembly/U/B + IL_003f: brfalse.s IL_0074 + + IL_0041: ldarg.0 + IL_0042: castclass assembly/U/B + IL_0047: stloc.s V_5 + IL_0049: ldloc.0 + IL_004a: castclass assembly/U/B + IL_004f: stloc.s V_6 + IL_0051: ldarg.2 + IL_0052: stloc.s V_7 + IL_0054: ldloc.s V_5 + IL_0056: ldfld int32 assembly/U/B::item + IL_005b: stloc.s V_8 + IL_005d: ldloc.s V_6 + IL_005f: ldfld int32 assembly/U/B::item + IL_0064: stloc.s V_9 + IL_0066: ldloc.s V_8 + IL_0068: ldloc.s V_9 + IL_006a: cgt + IL_006c: ldloc.s V_8 + IL_006e: ldloc.s V_9 + IL_0070: clt + IL_0072: sub + IL_0073: ret + + IL_0074: ldc.i4.0 + IL_0075: ret + + IL_0076: ldloc.1 + IL_0077: ldloc.3 + IL_0078: sub + IL_0079: ret + + IL_007a: ldc.i4.1 + IL_007b: ret + + IL_007c: ldarg.1 + IL_007d: unbox.any assembly/U + IL_0082: brfalse.s IL_0086 + + IL_0084: ldc.i4.m1 + IL_0085: ret + + IL_0086: ldc.i4.0 + IL_0087: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class assembly/U/B V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + class assembly/U V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003e + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: isinst assembly/U/B + IL_000b: brfalse.s IL_002f + + IL_000d: ldarg.0 + IL_000e: castclass assembly/U/B + IL_0013: stloc.1 + IL_0014: ldc.i4.1 + IL_0015: stloc.0 + IL_0016: ldc.i4 0x9e3779b9 + IL_001b: ldarg.1 + IL_001c: stloc.2 + IL_001d: ldloc.1 + IL_001e: ldfld int32 assembly/U/B::item + IL_0023: ldloc.0 + IL_0024: ldc.i4.6 + IL_0025: shl + IL_0026: ldloc.0 + IL_0027: ldc.i4.2 + IL_0028: shr + IL_0029: add + IL_002a: add + IL_002b: add + IL_002c: stloc.0 + IL_002d: ldloc.0 + IL_002e: ret + + IL_002f: ldarg.0 + IL_0030: stloc.3 + IL_0031: ldloc.3 + IL_0032: isinst assembly/U/B + IL_0037: brfalse.s IL_003c + + IL_0039: ldc.i4.1 + IL_003a: br.s IL_003d + + IL_003c: ldc.i4.0 + IL_003d: ret + + IL_003e: ldc.i4.0 + IL_003f: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + int32 V_4, + class assembly/U V_5, + class assembly/U/B V_6, + class assembly/U/B V_7, + class [runtime]System.Collections.IEqualityComparer V_8) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0067 + + IL_0003: ldarg.1 + IL_0004: isinst assembly/U + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0065 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: stloc.3 + IL_0011: ldloc.3 + IL_0012: isinst assembly/U/B + IL_0017: brfalse.s IL_001c + + IL_0019: ldc.i4.1 + IL_001a: br.s IL_001d + + IL_001c: ldc.i4.0 + IL_001d: stloc.2 + IL_001e: ldloc.1 + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_5 + IL_0023: isinst assembly/U/B + IL_0028: brfalse.s IL_002d + + IL_002a: ldc.i4.1 + IL_002b: br.s IL_002e + + IL_002d: ldc.i4.0 + IL_002e: stloc.s V_4 + IL_0030: ldloc.2 + IL_0031: ldloc.s V_4 + IL_0033: bne.un.s IL_0063 + + IL_0035: ldarg.0 + IL_0036: isinst assembly/U/B + IL_003b: brfalse.s IL_0061 + + IL_003d: ldarg.0 + IL_003e: castclass assembly/U/B + IL_0043: stloc.s V_6 + IL_0045: ldloc.1 + IL_0046: castclass assembly/U/B + IL_004b: stloc.s V_7 + IL_004d: ldarg.2 + IL_004e: stloc.s V_8 + IL_0050: ldloc.s V_6 + IL_0052: ldfld int32 assembly/U/B::item + IL_0057: ldloc.s V_7 + IL_0059: ldfld int32 assembly/U/B::item + IL_005e: ceq + IL_0060: ret + + IL_0061: ldc.i4.1 + IL_0062: ret + + IL_0063: ldc.i4.0 + IL_0064: ret + + IL_0065: ldc.i4.0 + IL_0066: ret + + IL_0067: ldarg.1 + IL_0068: ldnull + IL_0069: cgt.un + IL_006b: ldc.i4.0 + IL_006c: ceq + IL_006e: ret + } + + .method public hidebysig virtual final + instance bool Equals(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0057 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0055 + + IL_0006: ldarg.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: isinst assembly/U/B + IL_000e: brfalse.s IL_0013 + + IL_0010: ldc.i4.1 + IL_0011: br.s IL_0014 + + IL_0013: ldc.i4.0 + IL_0014: stloc.0 + IL_0015: ldarg.1 + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: isinst assembly/U/B + IL_001d: brfalse.s IL_0022 + + IL_001f: ldc.i4.1 + IL_0020: br.s IL_0023 + + IL_0022: ldc.i4.0 + IL_0023: stloc.2 + IL_0024: ldloc.0 + IL_0025: ldloc.2 + IL_0026: bne.un.s IL_0053 + + IL_0028: ldarg.0 + IL_0029: isinst assembly/U/B + IL_002e: brfalse.s IL_0051 + + IL_0030: ldarg.0 + IL_0031: castclass assembly/U/B + IL_0036: stloc.s V_4 + IL_0038: ldarg.1 + IL_0039: castclass assembly/U/B + IL_003e: stloc.s V_5 + IL_0040: ldloc.s V_4 + IL_0042: ldfld int32 assembly/U/B::item + IL_0047: ldloc.s V_5 + IL_0049: ldfld int32 assembly/U/B::item + IL_004e: ceq + IL_0050: ret + + IL_0051: ldc.i4.1 + IL_0052: ret + + IL_0053: ldc.i4.0 + IL_0054: ret + + IL_0055: ldc.i4.0 + IL_0056: ret + + IL_0057: ldarg.1 + IL_0058: ldnull + IL_0059: cgt.un + IL_005b: ldc.i4.0 + IL_005c: ceq + IL_005e: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/U + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/U::get_Tag() + } + .property class assembly/U A() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/U assembly/U::get_A() + } + .property instance bool IsA() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsA() + } + .property instance bool IsB() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsB() + } + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type + get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..249b448b37b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl @@ -0,0 +1,896 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit U + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 A = int32(0x00000000) + .field public static literal int32 B = int32(0x00000001) + } + + .class auto ansi serializable nested assembly beforefieldinit specialname _A + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 + 70 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ret + } + + } + + .class auto ansi serializable nested public beforefieldinit specialname B + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 + 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/U/B::item + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/U/B::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/_A _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/_A obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj + IL_000d: ret + } + + } + + .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/B _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/B obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_0006: ldfld int32 assembly/U/B::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() + } + } + + .field static assembly initonly class assembly/U _unique_A + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void assembly/U/_A::.ctor() + IL_0005: stsfld class assembly/U assembly/U::_unique_A + IL_000a: ret + } + + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ret + } + + .method public static class assembly/U + get_A() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/U assembly/U::_unique_A + IL_0005: ret + } + + .method public hidebysig instance bool + get_IsA() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/_A + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public static class assembly/U + NewB(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void assembly/U/B::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool + get_IsB() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public hidebysig instance int32 + get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: brfalse.s IL_000b + + IL_0008: ldc.i4.1 + IL_0009: br.s IL_000c + + IL_000b: ldc.i4.0 + IL_000c: ret + } + + .method assembly hidebysig specialname + instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8, + class [runtime]System.Collections.IComparer V_9, + int32 V_10, + int32 V_11) + IL_0000: ldarg.0 + IL_0001: brfalse IL_0081 + + IL_0006: ldarg.1 + IL_0007: brfalse IL_007f + + IL_000c: ldarg.0 + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: isinst assembly/U/B + IL_0014: brfalse.s IL_0019 + + IL_0016: ldc.i4.1 + IL_0017: br.s IL_001a + + IL_0019: ldc.i4.0 + IL_001a: stloc.0 + IL_001b: ldarg.1 + IL_001c: stloc.3 + IL_001d: ldloc.3 + IL_001e: isinst assembly/U/B + IL_0023: brfalse.s IL_0028 + + IL_0025: ldc.i4.1 + IL_0026: br.s IL_0029 + + IL_0028: ldc.i4.0 + IL_0029: stloc.2 + IL_002a: ldloc.0 + IL_002b: ldloc.2 + IL_002c: bne.un.s IL_007b + + IL_002e: ldarg.0 + IL_002f: isinst assembly/U/B + IL_0034: brfalse.s IL_0079 + + IL_0036: ldarg.0 + IL_0037: castclass assembly/U/B + IL_003c: stloc.s V_4 + IL_003e: ldarg.1 + IL_003f: castclass assembly/U/B + IL_0044: stloc.s V_5 + IL_0046: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_004b: stloc.s V_6 + IL_004d: ldloc.s V_4 + IL_004f: ldfld int32 assembly/U/B::item + IL_0054: stloc.s V_7 + IL_0056: ldloc.s V_5 + IL_0058: ldfld int32 assembly/U/B::item + IL_005d: stloc.s V_8 + IL_005f: ldloc.s V_6 + IL_0061: stloc.s V_9 + IL_0063: ldloc.s V_7 + IL_0065: stloc.s V_10 + IL_0067: ldloc.s V_8 + IL_0069: stloc.s V_11 + IL_006b: ldloc.s V_10 + IL_006d: ldloc.s V_11 + IL_006f: cgt + IL_0071: ldloc.s V_10 + IL_0073: ldloc.s V_11 + IL_0075: clt + IL_0077: sub + IL_0078: ret + + IL_0079: ldc.i4.0 + IL_007a: ret + + IL_007b: ldloc.0 + IL_007c: ldloc.2 + IL_007d: sub + IL_007e: ret + + IL_007f: ldc.i4.1 + IL_0080: ret + + IL_0081: ldarg.1 + IL_0082: brfalse.s IL_0086 + + IL_0084: ldc.i4.m1 + IL_0085: ret + + IL_0086: ldc.i4.0 + IL_0087: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/U + IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class assembly/U V_0, + int32 V_1, + class assembly/U V_2, + int32 V_3, + class assembly/U V_4, + class assembly/U/B V_5, + class assembly/U/B V_6, + class [runtime]System.Collections.IComparer V_7, + int32 V_8, + int32 V_9, + class [runtime]System.Collections.IComparer V_10, + int32 V_11, + int32 V_12) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/U + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse IL_008b + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/U + IL_0013: brfalse IL_0089 + + IL_0018: ldarg.0 + IL_0019: stloc.2 + IL_001a: ldloc.2 + IL_001b: isinst assembly/U/B + IL_0020: brfalse.s IL_0025 + + IL_0022: ldc.i4.1 + IL_0023: br.s IL_0026 + + IL_0025: ldc.i4.0 + IL_0026: stloc.1 + IL_0027: ldloc.0 + IL_0028: stloc.s V_4 + IL_002a: ldloc.s V_4 + IL_002c: isinst assembly/U/B + IL_0031: brfalse.s IL_0036 + + IL_0033: ldc.i4.1 + IL_0034: br.s IL_0037 + + IL_0036: ldc.i4.0 + IL_0037: stloc.3 + IL_0038: ldloc.1 + IL_0039: ldloc.3 + IL_003a: bne.un.s IL_0085 + + IL_003c: ldarg.0 + IL_003d: isinst assembly/U/B + IL_0042: brfalse.s IL_0083 + + IL_0044: ldarg.0 + IL_0045: castclass assembly/U/B + IL_004a: stloc.s V_5 + IL_004c: ldloc.0 + IL_004d: castclass assembly/U/B + IL_0052: stloc.s V_6 + IL_0054: ldarg.2 + IL_0055: stloc.s V_7 + IL_0057: ldloc.s V_5 + IL_0059: ldfld int32 assembly/U/B::item + IL_005e: stloc.s V_8 + IL_0060: ldloc.s V_6 + IL_0062: ldfld int32 assembly/U/B::item + IL_0067: stloc.s V_9 + IL_0069: ldloc.s V_7 + IL_006b: stloc.s V_10 + IL_006d: ldloc.s V_8 + IL_006f: stloc.s V_11 + IL_0071: ldloc.s V_9 + IL_0073: stloc.s V_12 + IL_0075: ldloc.s V_11 + IL_0077: ldloc.s V_12 + IL_0079: cgt + IL_007b: ldloc.s V_11 + IL_007d: ldloc.s V_12 + IL_007f: clt + IL_0081: sub + IL_0082: ret + + IL_0083: ldc.i4.0 + IL_0084: ret + + IL_0085: ldloc.1 + IL_0086: ldloc.3 + IL_0087: sub + IL_0088: ret + + IL_0089: ldc.i4.1 + IL_008a: ret + + IL_008b: ldarg.1 + IL_008c: unbox.any assembly/U + IL_0091: brfalse.s IL_0095 + + IL_0093: ldc.i4.m1 + IL_0094: ret + + IL_0095: ldc.i4.0 + IL_0096: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class assembly/U/B V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + class assembly/U V_5) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0045 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: isinst assembly/U/B + IL_000b: brfalse.s IL_0034 + + IL_000d: ldarg.0 + IL_000e: castclass assembly/U/B + IL_0013: stloc.1 + IL_0014: ldc.i4.1 + IL_0015: stloc.0 + IL_0016: ldc.i4 0x9e3779b9 + IL_001b: ldarg.1 + IL_001c: stloc.2 + IL_001d: ldloc.1 + IL_001e: ldfld int32 assembly/U/B::item + IL_0023: stloc.3 + IL_0024: ldloc.2 + IL_0025: stloc.s V_4 + IL_0027: ldloc.3 + IL_0028: ldloc.0 + IL_0029: ldc.i4.6 + IL_002a: shl + IL_002b: ldloc.0 + IL_002c: ldc.i4.2 + IL_002d: shr + IL_002e: add + IL_002f: add + IL_0030: add + IL_0031: stloc.0 + IL_0032: ldloc.0 + IL_0033: ret + + IL_0034: ldarg.0 + IL_0035: stloc.s V_5 + IL_0037: ldloc.s V_5 + IL_0039: isinst assembly/U/B + IL_003e: brfalse.s IL_0043 + + IL_0040: ldc.i4.1 + IL_0041: br.s IL_0044 + + IL_0043: ldc.i4.0 + IL_0044: ret + + IL_0045: ldc.i4.0 + IL_0046: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + int32 V_4, + class assembly/U V_5, + class assembly/U/B V_6, + class assembly/U/B V_7, + class [runtime]System.Collections.IEqualityComparer V_8, + int32 V_9, + int32 V_10, + class [runtime]System.Collections.IEqualityComparer V_11) + IL_0000: ldarg.0 + IL_0001: brfalse IL_0076 + + IL_0006: ldarg.1 + IL_0007: isinst assembly/U + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: brfalse.s IL_0074 + + IL_0010: ldloc.0 + IL_0011: stloc.1 + IL_0012: ldarg.0 + IL_0013: stloc.3 + IL_0014: ldloc.3 + IL_0015: isinst assembly/U/B + IL_001a: brfalse.s IL_001f + + IL_001c: ldc.i4.1 + IL_001d: br.s IL_0020 + + IL_001f: ldc.i4.0 + IL_0020: stloc.2 + IL_0021: ldloc.1 + IL_0022: stloc.s V_5 + IL_0024: ldloc.s V_5 + IL_0026: isinst assembly/U/B + IL_002b: brfalse.s IL_0030 + + IL_002d: ldc.i4.1 + IL_002e: br.s IL_0031 + + IL_0030: ldc.i4.0 + IL_0031: stloc.s V_4 + IL_0033: ldloc.2 + IL_0034: ldloc.s V_4 + IL_0036: bne.un.s IL_0072 + + IL_0038: ldarg.0 + IL_0039: isinst assembly/U/B + IL_003e: brfalse.s IL_0070 + + IL_0040: ldarg.0 + IL_0041: castclass assembly/U/B + IL_0046: stloc.s V_6 + IL_0048: ldloc.1 + IL_0049: castclass assembly/U/B + IL_004e: stloc.s V_7 + IL_0050: ldarg.2 + IL_0051: stloc.s V_8 + IL_0053: ldloc.s V_6 + IL_0055: ldfld int32 assembly/U/B::item + IL_005a: stloc.s V_9 + IL_005c: ldloc.s V_7 + IL_005e: ldfld int32 assembly/U/B::item + IL_0063: stloc.s V_10 + IL_0065: ldloc.s V_8 + IL_0067: stloc.s V_11 + IL_0069: ldloc.s V_9 + IL_006b: ldloc.s V_10 + IL_006d: ceq + IL_006f: ret + + IL_0070: ldc.i4.1 + IL_0071: ret + + IL_0072: ldc.i4.0 + IL_0073: ret + + IL_0074: ldc.i4.0 + IL_0075: ret + + IL_0076: ldarg.1 + IL_0077: ldnull + IL_0078: cgt.un + IL_007a: ldc.i4.0 + IL_007b: ceq + IL_007d: ret + } + + .method public hidebysig virtual final + instance bool Equals(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0057 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0055 + + IL_0006: ldarg.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: isinst assembly/U/B + IL_000e: brfalse.s IL_0013 + + IL_0010: ldc.i4.1 + IL_0011: br.s IL_0014 + + IL_0013: ldc.i4.0 + IL_0014: stloc.0 + IL_0015: ldarg.1 + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: isinst assembly/U/B + IL_001d: brfalse.s IL_0022 + + IL_001f: ldc.i4.1 + IL_0020: br.s IL_0023 + + IL_0022: ldc.i4.0 + IL_0023: stloc.2 + IL_0024: ldloc.0 + IL_0025: ldloc.2 + IL_0026: bne.un.s IL_0053 + + IL_0028: ldarg.0 + IL_0029: isinst assembly/U/B + IL_002e: brfalse.s IL_0051 + + IL_0030: ldarg.0 + IL_0031: castclass assembly/U/B + IL_0036: stloc.s V_4 + IL_0038: ldarg.1 + IL_0039: castclass assembly/U/B + IL_003e: stloc.s V_5 + IL_0040: ldloc.s V_4 + IL_0042: ldfld int32 assembly/U/B::item + IL_0047: ldloc.s V_5 + IL_0049: ldfld int32 assembly/U/B::item + IL_004e: ceq + IL_0050: ret + + IL_0051: ldc.i4.1 + IL_0052: ret + + IL_0053: ldc.i4.0 + IL_0054: ret + + IL_0055: ldc.i4.0 + IL_0056: ret + + IL_0057: ldarg.1 + IL_0058: ldnull + IL_0059: cgt.un + IL_005b: ldc.i4.0 + IL_005c: ceq + IL_005e: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/U + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/U::get_Tag() + } + .property class assembly/U A() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/U assembly/U::get_A() + } + .property instance bool IsA() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsA() + } + .property instance bool IsB() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsB() + } + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..28bb5ef0fdb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl @@ -0,0 +1,863 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable nested public beforefieldinit U + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public Tags + extends [runtime]System.Object + { + .field public static literal int32 A = int32(0x00000000) + .field public static literal int32 B = int32(0x00000001) + } + + .class auto ansi serializable nested assembly beforefieldinit specialname _A + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 + 70 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ret + } + + } + + .class auto ansi serializable nested public beforefieldinit specialname B + extends assembly/U + { + .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E + 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 + 65 50 72 6F 78 79 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void assembly/U::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/U/B::item + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/U/B::item + IL_0006: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B::get_Item() + } + } + + .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/_A _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/_A obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj + IL_000d: ret + } + + } + + .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy + extends [runtime]System.Object + { + .field assembly class assembly/U/B _obj + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class assembly/U/B obj) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_000d: ret + } + + .method public hidebysig instance int32 + get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj + IL_0006: ldfld int32 assembly/U/B::item + IL_000b: ret + } + + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() + } + } + + .field static assembly initonly class assembly/U _unique_A + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void assembly/U/_A::.ctor() + IL_0005: stsfld class assembly/U assembly/U::_unique_A + IL_000a: ret + } + + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 + 6E 69 6F 6E 73 30 31 2B 55 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ret + } + + .method public static class assembly/U + get_A() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/U assembly/U::_unique_A + IL_0005: ret + } + + .method public hidebysig instance bool + get_IsA() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/_A + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public static class assembly/U + NewB(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void assembly/U/B::.ctor(int32) + IL_0006: ret + } + + .method public hidebysig instance bool + get_IsB() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: ldnull + IL_0007: cgt.un + IL_0009: ret + } + + .method public hidebysig instance int32 + get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: isinst assembly/U/B + IL_0006: brfalse.s IL_000b + + IL_0008: ldc.i4.1 + IL_0009: br.s IL_000c + + IL_000b: ldc.i4.0 + IL_000c: ret + } + + .method assembly hidebysig specialname + instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.0 + IL_0001: brfalse IL_0072 + + IL_0006: ldarg.1 + IL_0007: brfalse.s IL_0070 + + IL_0009: ldarg.0 + IL_000a: stloc.1 + IL_000b: ldloc.1 + IL_000c: isinst assembly/U/B + IL_0011: brfalse.s IL_0016 + + IL_0013: ldc.i4.1 + IL_0014: br.s IL_0017 + + IL_0016: ldc.i4.0 + IL_0017: stloc.0 + IL_0018: ldarg.1 + IL_0019: stloc.3 + IL_001a: ldloc.3 + IL_001b: isinst assembly/U/B + IL_0020: brfalse.s IL_0025 + + IL_0022: ldc.i4.1 + IL_0023: br.s IL_0026 + + IL_0025: ldc.i4.0 + IL_0026: stloc.2 + IL_0027: ldloc.0 + IL_0028: ldloc.2 + IL_0029: bne.un.s IL_006c + + IL_002b: ldarg.0 + IL_002c: isinst assembly/U/B + IL_0031: brfalse.s IL_006a + + IL_0033: ldarg.0 + IL_0034: castclass assembly/U/B + IL_0039: stloc.s V_4 + IL_003b: ldarg.1 + IL_003c: castclass assembly/U/B + IL_0041: stloc.s V_5 + IL_0043: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0048: stloc.s V_6 + IL_004a: ldloc.s V_4 + IL_004c: ldfld int32 assembly/U/B::item + IL_0051: stloc.s V_7 + IL_0053: ldloc.s V_5 + IL_0055: ldfld int32 assembly/U/B::item + IL_005a: stloc.s V_8 + IL_005c: ldloc.s V_7 + IL_005e: ldloc.s V_8 + IL_0060: cgt + IL_0062: ldloc.s V_7 + IL_0064: ldloc.s V_8 + IL_0066: clt + IL_0068: sub + IL_0069: ret + + IL_006a: ldc.i4.0 + IL_006b: ret + + IL_006c: ldloc.0 + IL_006d: ldloc.2 + IL_006e: sub + IL_006f: ret + + IL_0070: ldc.i4.1 + IL_0071: ret + + IL_0072: ldarg.1 + IL_0073: brfalse.s IL_0077 + + IL_0075: ldc.i4.m1 + IL_0076: ret + + IL_0077: ldc.i4.0 + IL_0078: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/U + IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class assembly/U V_0, + int32 V_1, + class assembly/U V_2, + int32 V_3, + class assembly/U V_4, + class assembly/U/B V_5, + class assembly/U/B V_6, + class [runtime]System.Collections.IComparer V_7, + int32 V_8, + int32 V_9) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/U + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse IL_007c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/U + IL_0013: brfalse.s IL_007a + + IL_0015: ldarg.0 + IL_0016: stloc.2 + IL_0017: ldloc.2 + IL_0018: isinst assembly/U/B + IL_001d: brfalse.s IL_0022 + + IL_001f: ldc.i4.1 + IL_0020: br.s IL_0023 + + IL_0022: ldc.i4.0 + IL_0023: stloc.1 + IL_0024: ldloc.0 + IL_0025: stloc.s V_4 + IL_0027: ldloc.s V_4 + IL_0029: isinst assembly/U/B + IL_002e: brfalse.s IL_0033 + + IL_0030: ldc.i4.1 + IL_0031: br.s IL_0034 + + IL_0033: ldc.i4.0 + IL_0034: stloc.3 + IL_0035: ldloc.1 + IL_0036: ldloc.3 + IL_0037: bne.un.s IL_0076 + + IL_0039: ldarg.0 + IL_003a: isinst assembly/U/B + IL_003f: brfalse.s IL_0074 + + IL_0041: ldarg.0 + IL_0042: castclass assembly/U/B + IL_0047: stloc.s V_5 + IL_0049: ldloc.0 + IL_004a: castclass assembly/U/B + IL_004f: stloc.s V_6 + IL_0051: ldarg.2 + IL_0052: stloc.s V_7 + IL_0054: ldloc.s V_5 + IL_0056: ldfld int32 assembly/U/B::item + IL_005b: stloc.s V_8 + IL_005d: ldloc.s V_6 + IL_005f: ldfld int32 assembly/U/B::item + IL_0064: stloc.s V_9 + IL_0066: ldloc.s V_8 + IL_0068: ldloc.s V_9 + IL_006a: cgt + IL_006c: ldloc.s V_8 + IL_006e: ldloc.s V_9 + IL_0070: clt + IL_0072: sub + IL_0073: ret + + IL_0074: ldc.i4.0 + IL_0075: ret + + IL_0076: ldloc.1 + IL_0077: ldloc.3 + IL_0078: sub + IL_0079: ret + + IL_007a: ldc.i4.1 + IL_007b: ret + + IL_007c: ldarg.1 + IL_007d: unbox.any assembly/U + IL_0082: brfalse.s IL_0086 + + IL_0084: ldc.i4.m1 + IL_0085: ret + + IL_0086: ldc.i4.0 + IL_0087: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class assembly/U/B V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + class assembly/U V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003e + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: isinst assembly/U/B + IL_000b: brfalse.s IL_002f + + IL_000d: ldarg.0 + IL_000e: castclass assembly/U/B + IL_0013: stloc.1 + IL_0014: ldc.i4.1 + IL_0015: stloc.0 + IL_0016: ldc.i4 0x9e3779b9 + IL_001b: ldarg.1 + IL_001c: stloc.2 + IL_001d: ldloc.1 + IL_001e: ldfld int32 assembly/U/B::item + IL_0023: ldloc.0 + IL_0024: ldc.i4.6 + IL_0025: shl + IL_0026: ldloc.0 + IL_0027: ldc.i4.2 + IL_0028: shr + IL_0029: add + IL_002a: add + IL_002b: add + IL_002c: stloc.0 + IL_002d: ldloc.0 + IL_002e: ret + + IL_002f: ldarg.0 + IL_0030: stloc.3 + IL_0031: ldloc.3 + IL_0032: isinst assembly/U/B + IL_0037: brfalse.s IL_003c + + IL_0039: ldc.i4.1 + IL_003a: br.s IL_003d + + IL_003c: ldc.i4.0 + IL_003d: ret + + IL_003e: ldc.i4.0 + IL_003f: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + int32 V_4, + class assembly/U V_5, + class assembly/U/B V_6, + class assembly/U/B V_7, + class [runtime]System.Collections.IEqualityComparer V_8) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0067 + + IL_0003: ldarg.1 + IL_0004: isinst assembly/U + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0065 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: stloc.3 + IL_0011: ldloc.3 + IL_0012: isinst assembly/U/B + IL_0017: brfalse.s IL_001c + + IL_0019: ldc.i4.1 + IL_001a: br.s IL_001d + + IL_001c: ldc.i4.0 + IL_001d: stloc.2 + IL_001e: ldloc.1 + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_5 + IL_0023: isinst assembly/U/B + IL_0028: brfalse.s IL_002d + + IL_002a: ldc.i4.1 + IL_002b: br.s IL_002e + + IL_002d: ldc.i4.0 + IL_002e: stloc.s V_4 + IL_0030: ldloc.2 + IL_0031: ldloc.s V_4 + IL_0033: bne.un.s IL_0063 + + IL_0035: ldarg.0 + IL_0036: isinst assembly/U/B + IL_003b: brfalse.s IL_0061 + + IL_003d: ldarg.0 + IL_003e: castclass assembly/U/B + IL_0043: stloc.s V_6 + IL_0045: ldloc.1 + IL_0046: castclass assembly/U/B + IL_004b: stloc.s V_7 + IL_004d: ldarg.2 + IL_004e: stloc.s V_8 + IL_0050: ldloc.s V_6 + IL_0052: ldfld int32 assembly/U/B::item + IL_0057: ldloc.s V_7 + IL_0059: ldfld int32 assembly/U/B::item + IL_005e: ceq + IL_0060: ret + + IL_0061: ldc.i4.1 + IL_0062: ret + + IL_0063: ldc.i4.0 + IL_0064: ret + + IL_0065: ldc.i4.0 + IL_0066: ret + + IL_0067: ldarg.1 + IL_0068: ldnull + IL_0069: cgt.un + IL_006b: ldc.i4.0 + IL_006c: ceq + IL_006e: ret + } + + .method public hidebysig virtual final + instance bool Equals(class assembly/U obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + class assembly/U V_1, + int32 V_2, + class assembly/U V_3, + class assembly/U/B V_4, + class assembly/U/B V_5) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0057 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0055 + + IL_0006: ldarg.0 + IL_0007: stloc.1 + IL_0008: ldloc.1 + IL_0009: isinst assembly/U/B + IL_000e: brfalse.s IL_0013 + + IL_0010: ldc.i4.1 + IL_0011: br.s IL_0014 + + IL_0013: ldc.i4.0 + IL_0014: stloc.0 + IL_0015: ldarg.1 + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: isinst assembly/U/B + IL_001d: brfalse.s IL_0022 + + IL_001f: ldc.i4.1 + IL_0020: br.s IL_0023 + + IL_0022: ldc.i4.0 + IL_0023: stloc.2 + IL_0024: ldloc.0 + IL_0025: ldloc.2 + IL_0026: bne.un.s IL_0053 + + IL_0028: ldarg.0 + IL_0029: isinst assembly/U/B + IL_002e: brfalse.s IL_0051 + + IL_0030: ldarg.0 + IL_0031: castclass assembly/U/B + IL_0036: stloc.s V_4 + IL_0038: ldarg.1 + IL_0039: castclass assembly/U/B + IL_003e: stloc.s V_5 + IL_0040: ldloc.s V_4 + IL_0042: ldfld int32 assembly/U/B::item + IL_0047: ldloc.s V_5 + IL_0049: ldfld int32 assembly/U/B::item + IL_004e: ceq + IL_0050: ret + + IL_0051: ldc.i4.1 + IL_0052: ret + + IL_0053: ldc.i4.0 + IL_0054: ret + + IL_0055: ldc.i4.0 + IL_0056: ret + + IL_0057: ldarg.1 + IL_0058: ldnull + IL_0059: cgt.un + IL_005b: ldc.i4.0 + IL_005c: ceq + IL_005e: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/U V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/U + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/U::get_Tag() + } + .property class assembly/U A() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/U assembly/U::get_A() + } + .property instance bool IsA() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsA() + } + .property instance bool IsB() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance bool assembly/U::get_IsB() + } + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs new file mode 100644 index 00000000000..eb7c818f002 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs @@ -0,0 +1,6 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regressiont test for TFS#712639 +// Incorrect span or overlapping debugging spans +// The test will start failing once the bug is actually fixed +for wi in [ 1 .. 3 ] do + printfn "%A" wi diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs.il.bsl new file mode 100644 index 00000000000..7d0d3f2f625 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs.il.bsl @@ -0,0 +1,103 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.3 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0012: stloc.0 + IL_0013: ldloc.0 + IL_0014: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0019: stloc.1 + IL_001a: br.s IL_0042 + + IL_001c: ldloc.0 + IL_001d: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0022: stloc.2 + IL_0023: ldstr "%A" + IL_0028: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_002d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0032: ldloc.2 + IL_0033: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0038: pop + IL_0039: ldloc.1 + IL_003a: stloc.0 + IL_003b: ldloc.0 + IL_003c: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0041: stloc.1 + IL_0042: ldloc.1 + IL_0043: brtrue.s IL_001c + + IL_0045: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs new file mode 100644 index 00000000000..57cf7b7900d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs @@ -0,0 +1,7 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regressiont test for TFS#712639 +// Incorrect span or overlapping debugging spans +// The test will start failing once the bug is actually fixed +for wi = 1 to 3 do + printfn "%A" wi + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs.il.bsl new file mode 100644 index 00000000000..f49650ef0ee --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs.il.bsl @@ -0,0 +1,90 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldc.i4.1 + IL_0001: stloc.0 + IL_0002: br.s IL_001e + + IL_0004: ldstr "%A" + IL_0009: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_000e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0013: ldloc.0 + IL_0014: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0019: pop + IL_001a: ldloc.0 + IL_001b: ldc.i4.1 + IL_001c: add + IL_001d: stloc.0 + IL_001e: ldloc.0 + IL_001f: ldc.i4.1 + IL_0020: ldc.i4.3 + IL_0021: add + IL_0022: blt.s IL_0004 + + IL_0024: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs new file mode 100644 index 00000000000..9ce6ae8b25d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs @@ -0,0 +1,14 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSharp1.0:4785 +// Title: Search the IEnumerator pattern first + +let ra = new ResizeArray(100) +for i = 0 to 100 do ra.Add(i) + + +let test1() = + let mutable z = 0 + for i = 0 to 10000000 do + for x in ra do + z <- z + 1 + printfn "z = %d" z diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs new file mode 100644 index 00000000000..fb6fd4ca377 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs @@ -0,0 +1,11 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSharp1.0:6389 - Nullary union cases improperly constrain generic type parameters + +type Weirdo = | C +let f C = 0 // parameter name is C +let g () = + let C = 1 + let f C = C // what is parameter name here? Do we even care? + () + +exit 0 \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl new file mode 100644 index 00000000000..f0bf8062180 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl @@ -0,0 +1,523 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Weirdo + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field static assembly initonly class assembly/Weirdo _unique_C + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void assembly/Weirdo::.ctor() + IL_0005: stsfld class assembly/Weirdo assembly/Weirdo::_unique_C + IL_000a: ret + } + + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 1F 47 65 6E 65 72 61 6C 69 7A + 61 74 69 6F 6E 4F 6E 55 6E 69 6F 6E 73 30 31 2B + 57 65 69 72 64 6F 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ret + } + + .method public static class assembly/Weirdo + get_C() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/Weirdo assembly/Weirdo::_unique_C + IL_0005: ret + } + + .method public hidebysig instance int32 + get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname + instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/Weirdo>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class assembly/Weirdo obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_000a + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0008 + + IL_0006: ldc.i4.0 + IL_0007: ret + + IL_0008: ldc.i4.1 + IL_0009: ret + + IL_000a: ldarg.1 + IL_000b: brfalse.s IL_000f + + IL_000d: ldc.i4.m1 + IL_000e: ret + + IL_000f: ldc.i4.0 + IL_0010: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/Weirdo + IL_0007: callvirt instance int32 assembly/Weirdo::CompareTo(class assembly/Weirdo) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/Weirdo + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0016 + + IL_000a: ldarg.1 + IL_000b: unbox.any assembly/Weirdo + IL_0010: brfalse.s IL_0014 + + IL_0012: ldc.i4.0 + IL_0013: ret + + IL_0014: ldc.i4.1 + IL_0015: ret + + IL_0016: ldarg.1 + IL_0017: unbox.any assembly/Weirdo + IL_001c: brfalse.s IL_0020 + + IL_001e: ldc.i4.m1 + IL_001f: ret + + IL_0020: ldc.i4.0 + IL_0021: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0009 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldc.i4.0 + IL_0008: ret + + IL_0009: ldc.i4.0 + IL_000a: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/Weirdo::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/Weirdo V_0, + class assembly/Weirdo V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0013 + + IL_0003: ldarg.1 + IL_0004: isinst assembly/Weirdo + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0011 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldc.i4.1 + IL_0010: ret + + IL_0011: ldc.i4.0 + IL_0012: ret + + IL_0013: ldarg.1 + IL_0014: ldnull + IL_0015: cgt.un + IL_0017: ldc.i4.0 + IL_0018: ceq + IL_001a: ret + } + + .method public hidebysig virtual final + instance bool Equals(class assembly/Weirdo obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0008 + + IL_0003: ldarg.1 + IL_0004: ldnull + IL_0005: cgt.un + IL_0007: ret + + IL_0008: ldarg.1 + IL_0009: ldnull + IL_000a: cgt.un + IL_000c: ldc.i4.0 + IL_000d: ceq + IL_000f: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/Weirdo + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/Weirdo::Equals(class assembly/Weirdo) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/Weirdo::get_Tag() + } + .property class assembly/Weirdo + C() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/Weirdo assembly/Weirdo::get_C() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f@8 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public int32 C + .method assembly specialname rtspecialname + instance void .ctor(int32 C) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/f@8::C + IL_000d: ret + } + + .method public strict virtual instance int32 + Invoke(class assembly/Weirdo _arg1) cil managed + { + + .maxstack 5 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld int32 assembly/f@8::C + IL_0008: ret + } + + } + + .method public static int32 f(class assembly/Weirdo C) cil managed + { + + .maxstack 3 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method public static void g() cil managed + { + + .maxstack 3 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_1) + IL_0000: ldc.i4.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: newobj instance void assembly/f@8::.ctor(int32) + IL_0008: stloc.1 + IL_0009: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type + get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl new file mode 100644 index 00000000000..3f04239f476 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl @@ -0,0 +1,429 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Weirdo + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field static assembly initonly class assembly/Weirdo _unique_C + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void assembly/Weirdo::.ctor() + IL_0005: stsfld class assembly/Weirdo assembly/Weirdo::_unique_C + IL_000a: ret + } + + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 E0 07 00 00 1F 47 65 6E 65 72 61 6C 69 7A + 61 74 69 6F 6E 4F 6E 55 6E 69 6F 6E 73 30 31 2B + 57 65 69 72 64 6F 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ret + } + + .method public static class assembly/Weirdo + get_C() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldsfld class assembly/Weirdo assembly/Weirdo::_unique_C + IL_0005: ret + } + + .method public hidebysig instance int32 + get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname + instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string + ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/Weirdo>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(class assembly/Weirdo obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_000a + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0008 + + IL_0006: ldc.i4.0 + IL_0007: ret + + IL_0008: ldc.i4.1 + IL_0009: ret + + IL_000a: ldarg.1 + IL_000b: brfalse.s IL_000f + + IL_000d: ldc.i4.m1 + IL_000e: ret + + IL_000f: ldc.i4.0 + IL_0010: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/Weirdo + IL_0007: callvirt instance int32 assembly/Weirdo::CompareTo(class assembly/Weirdo) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/Weirdo + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0016 + + IL_000a: ldarg.1 + IL_000b: unbox.any assembly/Weirdo + IL_0010: brfalse.s IL_0014 + + IL_0012: ldc.i4.0 + IL_0013: ret + + IL_0014: ldc.i4.1 + IL_0015: ret + + IL_0016: ldarg.1 + IL_0017: unbox.any assembly/Weirdo + IL_001c: brfalse.s IL_0020 + + IL_001e: ldc.i4.m1 + IL_001f: ret + + IL_0020: ldc.i4.0 + IL_0021: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0009 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldc.i4.0 + IL_0008: ret + + IL_0009: ldc.i4.0 + IL_000a: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 assembly/Weirdo::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/Weirdo V_0, + class assembly/Weirdo V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0013 + + IL_0003: ldarg.1 + IL_0004: isinst assembly/Weirdo + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0011 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldc.i4.1 + IL_0010: ret + + IL_0011: ldc.i4.0 + IL_0012: ret + + IL_0013: ldarg.1 + IL_0014: ldnull + IL_0015: cgt.un + IL_0017: ldc.i4.0 + IL_0018: ceq + IL_001a: ret + } + + .method public hidebysig virtual final + instance bool Equals(class assembly/Weirdo obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0008 + + IL_0003: ldarg.1 + IL_0004: ldnull + IL_0005: cgt.un + IL_0007: ret + + IL_0008: ldarg.1 + IL_0009: ldnull + IL_000a: cgt.un + IL_000c: ldc.i4.0 + IL_000d: ceq + IL_000f: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.1 + IL_0001: isinst assembly/Weirdo + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool assembly/Weirdo::Equals(class assembly/Weirdo) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 assembly/Weirdo::get_Tag() + } + .property class assembly/Weirdo + C() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get class assembly/Weirdo assembly/Weirdo::get_C() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f@8 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public int32 C + .method assembly specialname rtspecialname + instance void .ctor(int32 C) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 assembly/f@8::C + IL_000d: ret + } + + .method public strict virtual instance int32 + Invoke(class assembly/Weirdo _arg1) cil managed + { + + .maxstack 5 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld int32 assembly/f@8::C + IL_0008: ret + } + + } + + .method public static int32 f(class assembly/Weirdo C) cil managed + { + + .maxstack 3 + .locals init (class assembly/Weirdo V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method public static void g() cil managed + { + + .maxstack 3 + .locals init (int32 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_1) + IL_0000: ldc.i4.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: newobj instance void assembly/f@8::.ctor(int32) + IL_0008: stloc.1 + IL_0009: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs new file mode 100644 index 00000000000..e38c268a067 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs @@ -0,0 +1,8 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +type Foo<'a>() = + static let theInstance = new Foo<'a>() + static member Instance = theInstance + +type Bar<'a,'b>() = + static let theInstance = new Bar<'a,'b>() + static member Instance = theInstance diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl new file mode 100644 index 00000000000..4d92b08d231 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl @@ -0,0 +1,183 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo`1 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly class assembly/Foo`1 theInstance + .field static assembly int32 init@2 + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class assembly/Foo`1::.ctor() + IL_0005: stsfld class assembly/Foo`1 class assembly/Foo`1::theInstance + IL_000a: ldc.i4.1 + IL_000b: volatile. + IL_000d: stsfld int32 class assembly/Foo`1::init@2 + IL_0012: ret + } + + .method public specialname static class assembly/Foo`1 + get_Instance() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 class assembly/Foo`1::init@2 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld class assembly/Foo`1 class assembly/Foo`1::theInstance + IL_001a: ret + } + + .property class assembly/Foo`1 + Instance() + { + .get class assembly/Foo`1 assembly/Foo`1::get_Instance() + } + } + + .class auto ansi serializable nested public Bar`2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly class assembly/Bar`2 theInstance + .field static assembly int32 'init@6-1' + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class assembly/Bar`2::.ctor() + IL_0005: stsfld class assembly/Bar`2 class assembly/Bar`2::theInstance + IL_000a: ldc.i4.1 + IL_000b: volatile. + IL_000d: stsfld int32 class assembly/Bar`2::'init@6-1' + IL_0012: ret + } + + .method public specialname static class assembly/Bar`2 + get_Instance() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 class assembly/Bar`2::'init@6-1' + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld class assembly/Bar`2 class assembly/Bar`2::theInstance + IL_001a: ret + } + + .property class assembly/Bar`2 + Instance() + { + .get class assembly/Bar`2 assembly/Bar`2::get_Instance() + } + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs new file mode 100644 index 00000000000..f81c02acfa2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs @@ -0,0 +1,7 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +module IfThenElse01 // Regression test for F#4519 +module M = + let m () = + let f5 (x:int) (y:int) (z:'a) (w:'a) = if (x > y) then z else w + f5 10 10 'a' 'b' + m() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs.il.bsl new file mode 100644 index 00000000000..01992dbfb9d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs.il.bsl @@ -0,0 +1,205 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public M + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit f5@5 + extends [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc + { + .field static assembly initonly class assembly/M/f5@5 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::.ctor() + IL_0006: ret + } + + .method public strict virtual instance object + Specialize() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void class assembly/M/f5@5T::.ctor(class assembly/M/f5@5) + IL_0006: box class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + IL_000b: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 10 + IL_0000: newobj instance void assembly/M/f5@5::.ctor() + IL_0005: stsfld class assembly/M/f5@5 assembly/M/f5@5::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f5@5T + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`5 + { + .field public class assembly/M/f5@5 self0@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class assembly/M/f5@5 self0@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`5::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/M/f5@5 class assembly/M/f5@5T::self0@ + IL_000d: ret + } + + .method public strict virtual instance !a + Invoke(int32 x, + int32 y, + !a z, + !a w) cil managed + { + + .maxstack 7 + .locals init (class assembly/M/f5@5 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/M/f5@5 class assembly/M/f5@5T::self0@ + IL_0006: stloc.0 + IL_0007: nop + IL_0008: ldarg.1 + IL_0009: ldarg.2 + IL_000a: ble.s IL_000e + + IL_000c: ldarg.3 + IL_000d: ret + + IL_000e: ldarg.s w + IL_0010: ret + } + + } + + .method public static char m() cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc V_0, + char V_1, + char V_2, + int32 V_3, + int32 V_4) + IL_0000: ldsfld class assembly/M/f5@5 assembly/M/f5@5::@_instance + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.s 10 + IL_0009: ldc.i4.s 10 + IL_000b: ldc.i4.s 97 + IL_000d: ldc.i4.s 98 + IL_000f: stloc.1 + IL_0010: stloc.2 + IL_0011: stloc.3 + IL_0012: stloc.s V_4 + IL_0014: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_0019: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + IL_001e: ldloc.s V_4 + IL_0020: ldloc.3 + IL_0021: ldloc.2 + IL_0022: ldloc.1 + IL_0023: tail. + IL_0025: call !!2 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::InvokeFast(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>, + !0, + !1, + !!0, + !!1) + IL_002a: ret + } + + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call char assembly/M::m() + IL_0005: pop + IL_0006: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs new file mode 100644 index 00000000000..46085bc227e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs @@ -0,0 +1,4 @@ +let a = 2L +let b = 20L +let c = 2147483649L +let d = 932147483649L \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs new file mode 100644 index 00000000000..ca4ad97f092 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs @@ -0,0 +1,12 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:5155 +// Stepping through if/then/else which is then stored into a local mistakenly steps into "else" branch + +let F(y) = + let x1 = if System.DateTime.Now.Year > 2000 then 1 else 2 + let y1 = if System.DateTime.Now.Year > 2000 then 1 else 2 + let x2 = if System.DateTime.Now.Year < 2000 then 1 else 2 + let y2 = if System.DateTime.Now.Year < 2000 then 1 else 2 + x1,y1,x2,y2 + +F(1) |> ignore diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl new file mode 100644 index 00000000000..77d2bb8bcf4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl @@ -0,0 +1,160 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class [runtime]System.Tuple`4 + F(!!a y) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + valuetype [runtime]System.DateTime V_1, + int32 V_2, + valuetype [runtime]System.DateTime V_3, + int32 V_4, + valuetype [runtime]System.DateTime V_5, + int32 V_6, + valuetype [runtime]System.DateTime V_7) + IL_0000: nop + IL_0001: call valuetype [runtime]System.DateTime [runtime]System.DateTime::get_Now() + IL_0006: stloc.1 + IL_0007: ldloca.s V_1 + IL_0009: call instance int32 [runtime]System.DateTime::get_Year() + IL_000e: ldc.i4 0x7d0 + IL_0013: ble.s IL_0019 + + IL_0015: ldc.i4.1 + IL_0016: nop + IL_0017: br.s IL_001b + + IL_0019: ldc.i4.2 + IL_001a: nop + IL_001b: stloc.0 + IL_001c: nop + IL_001d: call valuetype [runtime]System.DateTime [runtime]System.DateTime::get_Now() + IL_0022: stloc.3 + IL_0023: ldloca.s V_3 + IL_0025: call instance int32 [runtime]System.DateTime::get_Year() + IL_002a: ldc.i4 0x7d0 + IL_002f: ble.s IL_0035 + + IL_0031: ldc.i4.1 + IL_0032: nop + IL_0033: br.s IL_0037 + + IL_0035: ldc.i4.2 + IL_0036: nop + IL_0037: stloc.2 + IL_0038: nop + IL_0039: call valuetype [runtime]System.DateTime [runtime]System.DateTime::get_Now() + IL_003e: stloc.s V_5 + IL_0040: ldloca.s V_5 + IL_0042: call instance int32 [runtime]System.DateTime::get_Year() + IL_0047: ldc.i4 0x7d0 + IL_004c: bge.s IL_0052 + + IL_004e: ldc.i4.1 + IL_004f: nop + IL_0050: br.s IL_0054 + + IL_0052: ldc.i4.2 + IL_0053: nop + IL_0054: stloc.s V_4 + IL_0056: nop + IL_0057: call valuetype [runtime]System.DateTime [runtime]System.DateTime::get_Now() + IL_005c: stloc.s V_7 + IL_005e: ldloca.s V_7 + IL_0060: call instance int32 [runtime]System.DateTime::get_Year() + IL_0065: ldc.i4 0x7d0 + IL_006a: bge.s IL_0070 + + IL_006c: ldc.i4.1 + IL_006d: nop + IL_006e: br.s IL_0072 + + IL_0070: ldc.i4.2 + IL_0071: nop + IL_0072: stloc.s V_6 + IL_0074: ldloc.0 + IL_0075: ldloc.2 + IL_0076: ldloc.s V_4 + IL_0078: ldloc.s V_6 + IL_007a: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_007f: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 3 + .locals init (class [runtime]System.Tuple`4 V_0, + class [runtime]System.Tuple`4 V_1) + IL_0000: ldc.i4.1 + IL_0001: call class [runtime]System.Tuple`4 assembly::F(!!0) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: stloc.1 + IL_0009: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs new file mode 100644 index 00000000000..f6dcced5ee6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs @@ -0,0 +1,20 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:1881 + +// Make sure that when targeting NetFx4.0, we follow the new pattern: +// +// bool lockTaken = false; +// try +// { +// Monitor.Enter(obj, ref lockTaken); +// //do stuff +// } +// finally +// { +// if (lockTaken) +// Monitor.Exit(obj); +// } + + +let o = new System.Object() +lock o (fun () -> () ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.net472.bsl new file mode 100644 index 00000000000..73c15706a8b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.net472.bsl @@ -0,0 +1,120 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static object + get_o() cil managed + { + + .maxstack 8 + IL_0000: ldsfld object ''.$assembly::o@19 + IL_0005: ret + } + + .property object o() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get object assembly::get_o() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly object o@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 4 + .locals init (object V_0, + object V_1, + bool V_2) + IL_0000: newobj instance void [runtime]System.Object::.ctor() + IL_0005: dup + IL_0006: stsfld object ''.$assembly::o@19 + IL_000b: stloc.0 + IL_000c: call object assembly::get_o() + IL_0011: stloc.1 + IL_0012: ldc.i4.0 + IL_0013: stloc.2 + .try + { + IL_0014: ldloc.1 + IL_0015: ldloca.s V_2 + IL_0017: call void [netstandard]System.Threading.Monitor::Enter(object, + bool&) + IL_001c: leave.s IL_0029 + + } + finally + { + IL_001e: ldloc.2 + IL_001f: brfalse.s IL_0028 + + IL_0021: ldloc.1 + IL_0022: call void [netstandard]System.Threading.Monitor::Exit(object) + IL_0027: endfinally + IL_0028: endfinally + } + IL_0029: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.netcore.bsl new file mode 100644 index 00000000000..41394fd6e02 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.netcore.bsl @@ -0,0 +1,120 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static object + get_o() cil managed + { + + .maxstack 8 + IL_0000: ldsfld object ''.$assembly::o@19 + IL_0005: ret + } + + .property object o() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get object assembly::get_o() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly object o@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 4 + .locals init (object V_0, + object V_1, + bool V_2) + IL_0000: newobj instance void [runtime]System.Object::.ctor() + IL_0005: dup + IL_0006: stsfld object ''.$assembly::o@19 + IL_000b: stloc.0 + IL_000c: call object assembly::get_o() + IL_0011: stloc.1 + IL_0012: ldc.i4.0 + IL_0013: stloc.2 + .try + { + IL_0014: ldloc.1 + IL_0015: ldloca.s V_2 + IL_0017: call void [netstandard]System.Threading.Monitor::Enter(object, + bool&) + IL_001c: leave.s IL_0029 + + } + finally + { + IL_001e: ldloc.2 + IL_001f: brfalse.s IL_0028 + + IL_0021: ldloc.1 + IL_0022: call void [netstandard]System.Threading.Monitor::Exit(object) + IL_0027: endfinally + IL_0028: endfinally + } + IL_0029: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs new file mode 100644 index 00000000000..e6842b9b756 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs @@ -0,0 +1,6 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +open System.Runtime.InteropServices + +type Reader = + delegate of + []data : byte[] * []length : int -> int diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl new file mode 100644 index 00000000000..47e564c2a9d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl @@ -0,0 +1,97 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested public Reader + extends [runtime]System.MulticastDelegate + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig specialname rtspecialname + instance void .ctor(object 'object', + native int 'method') runtime managed + { + } + + .method public hidebysig strict virtual + instance int32 Invoke([out] uint8[] marshal([ + 1]) data, + [out] int32 length) runtime managed + { + } + + .method public hidebysig strict virtual + instance class [runtime]System.IAsyncResult + BeginInvoke([out] uint8[] marshal([ + 1]) data, + [out] int32 length, + class [runtime]System.AsyncCallback callback, + object objects) runtime managed + { + } + + .method public hidebysig strict virtual + instance int32 EndInvoke(class [runtime]System.IAsyncResult result) runtime managed + { + } + + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs new file mode 100644 index 00000000000..6b651913ae2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs @@ -0,0 +1,11 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression for FSHARP1.0:5782 (Methods with MethodImplAttribute(MethodImplOptions.NoInlining) should not be inlined) +// compile with optimizations turned on: this will force an attempt to inline g() +open System.Runtime.CompilerServices + +[] +let g() = printfn "Hey!" + +let f() = g() + +f() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs new file mode 100644 index 00000000000..6074a704773 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs @@ -0,0 +1,11 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression for FSHARP1.0:5782 (Methods with MethodImplAttribute(MethodImplOptions.NoInlining) should not be inlined) +// compile with optimizations turned on: this will force an attempt to inline g() +open System.Runtime.CompilerServices + +[] +let inline g() = printfn "Hey!" + +let inline f() = g() + +f() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl new file mode 100644 index 00000000000..f1d5cdd13d8 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl @@ -0,0 +1,91 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void g() cil managed noinlining + { + + .maxstack 8 + IL_0000: ldstr "Hey!" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: ret + } + + .method public static void f() cil managed + { + + .maxstack 8 + IL_0000: tail. + IL_0002: call void assembly::g() + IL_0007: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::g() + IL_0005: nop + IL_0006: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Misc.fs similarity index 98% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Misc.fs index 49bd8a47ff5..b95e9522249 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Misc.fs @@ -1,11 +1,11 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO open FSharp.Test open FSharp.Test.Compiler -module Misc = +module MiscRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -13,6 +13,7 @@ module Misc = |> withNoOptimize |> withEmbeddedPdb |> withEmbedAllSource + |> withRealInternalSignatureOff |> ignoreWarnings |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs new file mode 100644 index 00000000000..d9dfb9ac86f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs @@ -0,0 +1,9 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:2644 (a module may start with an expression) +// Verify that we can compile a module with an expression in it +// +#light + +module M = + printfn "hello" + let x = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl new file mode 100644 index 00000000000..56dbb23e390 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl @@ -0,0 +1,97 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public M + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static int32 + get_x() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + .property int32 x() + { + .get int32 assembly/M::get_x() + } + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 3 + .locals init (int32 V_0) + IL_0000: ldstr "hello" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: call int32 assembly/M::get_x() + IL_0015: stloc.0 + IL_0016: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs new file mode 100644 index 00000000000..729eb08d4e0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs @@ -0,0 +1,7 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for DEV11:11983 +// Title: Calling Dispose with use/using on a Struct results in boxing because of explicit interfaces + +let f1 (x:System.Collections.Generic.List<'T>) = + for a in x do + () diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl new file mode 100644 index 00000000000..fc0add44acd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl @@ -0,0 +1,102 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void f1(class [runtime]System.Collections.Generic.List`1 x) cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Collections.Generic.List`1 V_0, + valuetype [runtime]System.Collections.Generic.List`1/Enumerator V_1, + !!T V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance valuetype [runtime]System.Collections.Generic.List`1/Enumerator class [runtime]System.Collections.Generic.List`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_0014 + + IL_000b: ldloca.s V_1 + IL_000d: call instance !0 valuetype [runtime]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_0012: stloc.2 + IL_0013: nop + IL_0014: ldloca.s V_1 + IL_0016: call instance bool valuetype [runtime]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_001b: brtrue.s IL_000b + + IL_001d: leave.s IL_002d + + } + finally + { + IL_001f: ldloca.s V_1 + IL_0021: constrained. valuetype [runtime]System.Collections.Generic.List`1/Enumerator + IL_0027: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_002c: endfinally + } + IL_002d: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl new file mode 100644 index 00000000000..a75cf1b5171 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl @@ -0,0 +1,101 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void f1(class [System.Collections]System.Collections.Generic.List`1 x) cil managed + { + + .maxstack 3 + .locals init (class [System.Collections]System.Collections.Generic.List`1 V_0, + valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator V_1, + !!T V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator class [System.Collections]System.Collections.Generic.List`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_0014 + + IL_000b: ldloca.s V_1 + IL_000d: call instance !0 valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_0012: stloc.2 + IL_0013: nop + IL_0014: ldloca.s V_1 + IL_0016: call instance bool valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_001b: brtrue.s IL_000b + + IL_001d: leave.s IL_002d + + } + finally + { + IL_001f: ldloca.s V_1 + IL_0021: constrained. valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator + IL_0027: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_002c: endfinally + } + IL_002d: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs new file mode 100644 index 00000000000..dc50b30310a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs @@ -0,0 +1,7 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:3143 + +module NonEscapingArguments02 +type ListSizeCounter<'t>(somelist: 't list) = + let size = List.length somelist + member this.Size = size diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl new file mode 100644 index 00000000000..0dcc23a310f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl @@ -0,0 +1,102 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ListSizeCounter`1 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 size + .method public specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 somelist) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Length(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: stfld int32 class assembly/ListSizeCounter`1::size + IL_0014: ret + } + + .method public hidebysig specialname + instance int32 get_Size() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 class assembly/ListSizeCounter`1::size + IL_0006: ret + } + + .property instance int32 Size() + { + .get instance int32 assembly/ListSizeCounter`1::get_Size() + } + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs new file mode 100644 index 00000000000..ecc3bd56b61 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs @@ -0,0 +1,7 @@ +namespace Foo + +open System.Runtime.InteropServices + +type Bar = + [] + abstract MyCall: unit -> int32 \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl new file mode 100644 index 00000000000..924991d18dd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl @@ -0,0 +1,69 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class interface public abstract auto ansi serializable Foo.Bar +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig abstract virtual + instance int32 MyCall() cil managed preservesig + { + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs new file mode 100644 index 00000000000..bf3cad05bb8 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs @@ -0,0 +1,7 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light + +let q = Seq.forall (fun s -> + if not true then () + true + ) [ 1 ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs.il.bsl new file mode 100644 index 00000000000..4d71070d0bb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs.il.bsl @@ -0,0 +1,145 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit q@4 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/q@4 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool + Invoke(int32 s) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.0 + IL_0003: ceq + IL_0005: nop + IL_0006: brfalse.s IL_000c + + IL_0008: nop + IL_0009: nop + IL_000a: br.s IL_000d + + IL_000c: nop + IL_000d: ldc.i4.1 + IL_000e: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/q@4::.ctor() + IL_0005: stsfld class assembly/q@4 assembly/q@4::@_instance + IL_000a: ret + } + + } + + .method public specialname static bool + get_q() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool ''.$assembly::q@4 + IL_0005: ret + } + + .property bool q() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_q() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly bool q@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 5 + .locals init (bool V_0) + IL_0000: ldsfld class assembly/q@4 assembly/q@4::@_instance + IL_0005: ldc.i4.1 + IL_0006: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0010: call bool [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ForAll(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: dup + IL_0016: stsfld bool ''.$assembly::q@4 + IL_001b: stloc.0 + IL_001c: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs new file mode 100644 index 00000000000..aaecc513ea7 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs @@ -0,0 +1,14 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSharp1.0:5057 +// Title: Inefficient access of mutable field of struct + +module Experiment.Test + +type Test = struct + new (i) = {Field = i} + val mutable Field: int +end + +let test() = + let t = new Test(2) + t.Field diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl new file mode 100644 index 00000000000..43dc0887ae9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl @@ -0,0 +1,335 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Experiment.Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Test + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public int32 Field + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Experiment.Test/Test obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Test& V_0, + class [runtime]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3, + class [runtime]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 Experiment.Test/Test::Field + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: stloc.s V_5 + IL_001d: ldloc.3 + IL_001e: stloc.s V_6 + IL_0020: ldloc.s V_5 + IL_0022: ldloc.s V_6 + IL_0024: cgt + IL_0026: ldloc.s V_5 + IL_0028: ldloc.s V_6 + IL_002a: clt + IL_002c: sub + IL_002d: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Experiment.Test/Test + IL_0007: call instance int32 Experiment.Test/Test::CompareTo(valuetype Experiment.Test/Test) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Test V_0, + valuetype Experiment.Test/Test& V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.1 + IL_0001: unbox.any Experiment.Test/Test + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 Experiment.Test/Test::Field + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 Experiment.Test/Test::Field + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: stloc.s V_6 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_7 + IL_0025: ldloc.s V_6 + IL_0027: ldloc.s V_7 + IL_0029: cgt + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: clt + IL_0031: sub + IL_0032: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: stloc.2 + IL_0010: ldloc.1 + IL_0011: stloc.3 + IL_0012: ldloc.2 + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Experiment.Test/Test::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Test V_1, + valuetype Experiment.Test/Test& V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Test + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0033 + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Test + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 Experiment.Test/Test::Field + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld int32 Experiment.Test/Test::Field + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + } + + .method public specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 Experiment.Test/Test::Field + IL_0007: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Experiment.Test/Test obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype Experiment.Test/Test& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 Experiment.Test/Test::Field + IL_0009: ldloc.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Test V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Test + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Test + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Experiment.Test/Test::Equals(valuetype Experiment.Test/Test) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .method public static int32 test() cil managed + { + + .maxstack 3 + .locals init (valuetype Experiment.Test/Test V_0) + IL_0000: ldc.i4.2 + IL_0001: newobj instance void Experiment.Test/Test::.ctor(int32) + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: ldfld int32 Experiment.Test/Test::Field + IL_000e: ret + } + +} + +.class private abstract auto ansi sealed '.$Experiment'.Test + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl new file mode 100644 index 00000000000..4216ba295eb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl @@ -0,0 +1,302 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Experiment.Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Test + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public int32 Field + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Experiment.Test/Test obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Test& V_0, + class [runtime]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 Experiment.Test/Test::Field + IL_0016: stloc.3 + IL_0017: ldloc.2 + IL_0018: ldloc.3 + IL_0019: cgt + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: clt + IL_001f: sub + IL_0020: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Experiment.Test/Test + IL_0007: call instance int32 Experiment.Test/Test::CompareTo(valuetype Experiment.Test/Test) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Test V_0, + valuetype Experiment.Test/Test& V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.1 + IL_0001: unbox.any Experiment.Test/Test + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 Experiment.Test/Test::Field + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 Experiment.Test/Test::Field + IL_0019: stloc.s V_4 + IL_001b: ldloc.3 + IL_001c: ldloc.s V_4 + IL_001e: cgt + IL_0020: ldloc.3 + IL_0021: ldloc.s V_4 + IL_0023: clt + IL_0025: sub + IL_0026: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: ldloc.0 + IL_0010: ldc.i4.6 + IL_0011: shl + IL_0012: ldloc.0 + IL_0013: ldc.i4.2 + IL_0014: shr + IL_0015: add + IL_0016: add + IL_0017: add + IL_0018: stloc.0 + IL_0019: ldloc.0 + IL_001a: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Experiment.Test/Test::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Test V_1, + valuetype Experiment.Test/Test& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Test + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0028 + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Test + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 Experiment.Test/Test::Field + IL_001f: ldloc.2 + IL_0020: ldfld int32 Experiment.Test/Test::Field + IL_0025: ceq + IL_0027: ret + + IL_0028: ldc.i4.0 + IL_0029: ret + } + + .method public specialname rtspecialname + instance void .ctor(int32 i) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 Experiment.Test/Test::Field + IL_0007: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Experiment.Test/Test obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype Experiment.Test/Test& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 Experiment.Test/Test::Field + IL_0009: ldloc.0 + IL_000a: ldfld int32 Experiment.Test/Test::Field + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Test V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Test + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Test + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Experiment.Test/Test::Equals(valuetype Experiment.Test/Test) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .method public static int32 test() cil managed + { + + .maxstack 3 + .locals init (valuetype Experiment.Test/Test V_0) + IL_0000: ldc.i4.2 + IL_0001: newobj instance void Experiment.Test/Test::.ctor(int32) + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: ldfld int32 Experiment.Test/Test::Field + IL_000e: ret + } + +} + +.class private abstract auto ansi sealed '.$Experiment'.Test + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs new file mode 100644 index 00000000000..83fdc826755 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs @@ -0,0 +1,18 @@ +// regression test for 767815: Invalid code is generated when using field initializers in struct constructor + +module Experiment.Test + +[] +type Repro = + val hash : int + new(length) = + { hash = + let mutable h = 0 + for i=0 to length-1 do + h <- 26*h + h + } + +let test() = + let t = Repro(42) + t.hash \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl new file mode 100644 index 00000000000..db1c565e0f2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl @@ -0,0 +1,387 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Experiment.Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Repro + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 hash@ + .method public hidebysig specialname + instance int32 get_hash() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Experiment.Test/Repro::hash@ + IL_0006: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro& V_0, + class [runtime]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3, + class [runtime]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 Experiment.Test/Repro::hash@ + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: stloc.s V_5 + IL_001d: ldloc.3 + IL_001e: stloc.s V_6 + IL_0020: ldloc.s V_5 + IL_0022: ldloc.s V_6 + IL_0024: cgt + IL_0026: ldloc.s V_5 + IL_0028: ldloc.s V_6 + IL_002a: clt + IL_002c: sub + IL_002d: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Experiment.Test/Repro + IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro V_0, + valuetype Experiment.Test/Repro& V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.1 + IL_0001: unbox.any Experiment.Test/Repro + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 Experiment.Test/Repro::hash@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 Experiment.Test/Repro::hash@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: stloc.s V_6 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_7 + IL_0025: ldloc.s V_6 + IL_0027: ldloc.s V_7 + IL_0029: cgt + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: clt + IL_0031: sub + IL_0032: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: stloc.2 + IL_0010: ldloc.1 + IL_0011: stloc.3 + IL_0012: ldloc.2 + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1, + valuetype Experiment.Test/Repro& V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0033 + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 Experiment.Test/Repro::hash@ + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld int32 Experiment.Test/Repro::hash@ + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + } + + .method public specialname rtspecialname + instance void .ctor(int32 length) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + valuetype Experiment.Test/Repro& V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: stloc.1 + IL_0004: ldc.i4.0 + IL_0005: stloc.3 + IL_0006: ldarg.1 + IL_0007: ldc.i4.1 + IL_0008: sub + IL_0009: stloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.3 + IL_000c: blt.s IL_001d + + IL_000e: ldc.i4.s 26 + IL_0010: ldloc.0 + IL_0011: mul + IL_0012: stloc.0 + IL_0013: ldloc.3 + IL_0014: ldc.i4.1 + IL_0015: add + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: ldloc.2 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: bne.un.s IL_000e + + IL_001d: ldloc.1 + IL_001e: ldloc.0 + IL_001f: stfld int32 Experiment.Test/Repro::hash@ + IL_0024: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype Experiment.Test/Repro& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 Experiment.Test/Repro::hash@ + IL_0009: ldloc.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance int32 hash() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 Experiment.Test/Repro::get_hash() + } + } + + .method public static int32 test() cil managed + { + + .maxstack 3 + .locals init (valuetype Experiment.Test/Repro V_0) + IL_0000: ldc.i4.s 42 + IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) + IL_0007: stloc.0 + IL_0008: ldloca.s V_0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ret + } + +} + +.class private abstract auto ansi sealed '.$Experiment'.Test + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl new file mode 100644 index 00000000000..7e48511f39c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl @@ -0,0 +1,354 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Experiment.Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Repro + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 hash@ + .method public hidebysig specialname + instance int32 get_hash() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Experiment.Test/Repro::hash@ + IL_0006: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro& V_0, + class [runtime]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 Experiment.Test/Repro::hash@ + IL_0016: stloc.3 + IL_0017: ldloc.2 + IL_0018: ldloc.3 + IL_0019: cgt + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: clt + IL_001f: sub + IL_0020: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Experiment.Test/Repro + IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro V_0, + valuetype Experiment.Test/Repro& V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.1 + IL_0001: unbox.any Experiment.Test/Repro + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 Experiment.Test/Repro::hash@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 Experiment.Test/Repro::hash@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.3 + IL_001c: ldloc.s V_4 + IL_001e: cgt + IL_0020: ldloc.3 + IL_0021: ldloc.s V_4 + IL_0023: clt + IL_0025: sub + IL_0026: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ldloc.0 + IL_0010: ldc.i4.6 + IL_0011: shl + IL_0012: ldloc.0 + IL_0013: ldc.i4.2 + IL_0014: shr + IL_0015: add + IL_0016: add + IL_0017: add + IL_0018: stloc.0 + IL_0019: ldloc.0 + IL_001a: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1, + valuetype Experiment.Test/Repro& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0028 + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 Experiment.Test/Repro::hash@ + IL_001f: ldloc.2 + IL_0020: ldfld int32 Experiment.Test/Repro::hash@ + IL_0025: ceq + IL_0027: ret + + IL_0028: ldc.i4.0 + IL_0029: ret + } + + .method public specialname rtspecialname + instance void .ctor(int32 length) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + valuetype Experiment.Test/Repro& V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: stloc.1 + IL_0004: ldc.i4.0 + IL_0005: stloc.3 + IL_0006: ldarg.1 + IL_0007: ldc.i4.1 + IL_0008: sub + IL_0009: stloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.3 + IL_000c: blt.s IL_001d + + IL_000e: ldc.i4.s 26 + IL_0010: ldloc.0 + IL_0011: mul + IL_0012: stloc.0 + IL_0013: ldloc.3 + IL_0014: ldc.i4.1 + IL_0015: add + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: ldloc.2 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: bne.un.s IL_000e + + IL_001d: ldloc.1 + IL_001e: ldloc.0 + IL_001f: stfld int32 Experiment.Test/Repro::hash@ + IL_0024: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype Experiment.Test/Repro& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 Experiment.Test/Repro::hash@ + IL_0009: ldloc.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance int32 hash() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 Experiment.Test/Repro::get_hash() + } + } + + .method public static int32 test() cil managed + { + + .maxstack 3 + .locals init (valuetype Experiment.Test/Repro V_0) + IL_0000: ldc.i4.s 42 + IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) + IL_0007: stloc.0 + IL_0008: ldloca.s V_0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ret + } + +} + +.class private abstract auto ansi sealed '.$Experiment'.Test + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs new file mode 100644 index 00000000000..83fdc826755 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs @@ -0,0 +1,18 @@ +// regression test for 767815: Invalid code is generated when using field initializers in struct constructor + +module Experiment.Test + +[] +type Repro = + val hash : int + new(length) = + { hash = + let mutable h = 0 + for i=0 to length-1 do + h <- 26*h + h + } + +let test() = + let t = Repro(42) + t.hash \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl new file mode 100644 index 00000000000..cfb6b75a0bd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl @@ -0,0 +1,402 @@ + + + + + +.assembly extern runtime { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Experiment.Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Repro + extends [netstandard]System.ValueType + implements class [netstandard]System.IEquatable`1, + [netstandard]System.Collections.IStructuralEquatable, + class [netstandard]System.IComparable`1, + [netstandard]System.IComparable, + [netstandard]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 hash@ + .method public hidebysig specialname + instance int32 get_hash() cil managed + { + .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Experiment.Test/Repro::hash@ + IL_0006: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro& V_0, + class [netstandard]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3, + class [netstandard]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [netstandard]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 Experiment.Test/Repro::hash@ + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: stloc.s V_5 + IL_001d: ldloc.3 + IL_001e: stloc.s V_6 + IL_0020: ldloc.s V_5 + IL_0022: ldloc.s V_6 + IL_0024: cgt + IL_0026: ldloc.s V_5 + IL_0028: ldloc.s V_6 + IL_002a: clt + IL_002c: sub + IL_002d: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Experiment.Test/Repro + IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [netstandard]System.Collections.IComparer comp) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro V_0, + valuetype Experiment.Test/Repro& V_1, + class [netstandard]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [netstandard]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.1 + IL_0001: unbox.any Experiment.Test/Repro + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 Experiment.Test/Repro::hash@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 Experiment.Test/Repro::hash@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: stloc.s V_6 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_7 + IL_0025: ldloc.s V_6 + IL_0027: ldloc.s V_7 + IL_0029: cgt + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: clt + IL_0031: sub + IL_0032: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [netstandard]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [netstandard]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [netstandard]System.Collections.IEqualityComparer V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: stloc.2 + IL_0010: ldloc.1 + IL_0011: stloc.3 + IL_0012: ldloc.2 + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [netstandard]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [netstandard]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [netstandard]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1, + valuetype Experiment.Test/Repro& V_2, + class [netstandard]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [netstandard]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0033 + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 Experiment.Test/Repro::hash@ + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld int32 Experiment.Test/Repro::hash@ + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + } + + .method public specialname rtspecialname + instance void .ctor(int32 length) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + valuetype Experiment.Test/Repro& V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: stloc.1 + IL_0004: ldc.i4.0 + IL_0005: stloc.3 + IL_0006: ldarg.1 + IL_0007: ldc.i4.1 + IL_0008: sub + IL_0009: stloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.3 + IL_000c: blt.s IL_001d + + IL_000e: ldc.i4.s 26 + IL_0010: ldloc.0 + IL_0011: mul + IL_0012: stloc.0 + IL_0013: ldloc.3 + IL_0014: ldc.i4.1 + IL_0015: add + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: ldloc.2 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: bne.un.s IL_000e + + IL_001d: ldloc.1 + IL_001e: ldloc.0 + IL_001f: stfld int32 Experiment.Test/Repro::hash@ + IL_0024: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype Experiment.Test/Repro& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 Experiment.Test/Repro::hash@ + IL_0009: ldloc.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance int32 hash() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 Experiment.Test/Repro::get_hash() + } + } + + .method public static int32 test() cil managed + { + + .maxstack 3 + .locals init (valuetype Experiment.Test/Repro V_0) + IL_0000: ldc.i4.s 42 + IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) + IL_0007: stloc.0 + IL_0008: ldloca.s V_0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ret + } + +} + +.class private abstract auto ansi sealed '.$Experiment'.Test + extends [runtime]System.Object +{ +} + +.class private auto ansi beforefieldinit System.Runtime.CompilerServices.IsReadOnlyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl new file mode 100644 index 00000000000..b050aa6db4e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl @@ -0,0 +1,369 @@ + + + + + +.assembly extern runtime { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Experiment.Test + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Repro + extends [netstandard]System.ValueType + implements class [netstandard]System.IEquatable`1, + [netstandard]System.Collections.IStructuralEquatable, + class [netstandard]System.IComparable`1, + [netstandard]System.IComparable, + [netstandard]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 hash@ + .method public hidebysig specialname + instance int32 get_hash() cil managed + { + .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 Experiment.Test/Repro::hash@ + IL_0006: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro& V_0, + class [netstandard]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [netstandard]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 Experiment.Test/Repro::hash@ + IL_0016: stloc.3 + IL_0017: ldloc.2 + IL_0018: ldloc.3 + IL_0019: cgt + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: clt + IL_001f: sub + IL_0020: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any Experiment.Test/Repro + IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [netstandard]System.Collections.IComparer comp) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype Experiment.Test/Repro V_0, + valuetype Experiment.Test/Repro& V_1, + class [netstandard]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.1 + IL_0001: unbox.any Experiment.Test/Repro + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 Experiment.Test/Repro::hash@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 Experiment.Test/Repro::hash@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.3 + IL_001c: ldloc.s V_4 + IL_001e: cgt + IL_0020: ldloc.3 + IL_0021: ldloc.s V_4 + IL_0023: clt + IL_0025: sub + IL_0026: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [netstandard]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [netstandard]System.Collections.IEqualityComparer V_1) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ldloc.0 + IL_0010: ldc.i4.6 + IL_0011: shl + IL_0012: ldloc.0 + IL_0013: ldc.i4.2 + IL_0014: shr + IL_0015: add + IL_0016: add + IL_0017: add + IL_0018: stloc.0 + IL_0019: ldloc.0 + IL_001a: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [netstandard]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [netstandard]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [netstandard]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1, + valuetype Experiment.Test/Repro& V_2, + class [netstandard]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0028 + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 Experiment.Test/Repro::hash@ + IL_001f: ldloc.2 + IL_0020: ldfld int32 Experiment.Test/Repro::hash@ + IL_0025: ceq + IL_0027: ret + + IL_0028: ldc.i4.0 + IL_0029: ret + } + + .method public specialname rtspecialname + instance void .ctor(int32 length) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + valuetype Experiment.Test/Repro& V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.0 + IL_0002: stloc.0 + IL_0003: stloc.1 + IL_0004: ldc.i4.0 + IL_0005: stloc.3 + IL_0006: ldarg.1 + IL_0007: ldc.i4.1 + IL_0008: sub + IL_0009: stloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.3 + IL_000c: blt.s IL_001d + + IL_000e: ldc.i4.s 26 + IL_0010: ldloc.0 + IL_0011: mul + IL_0012: stloc.0 + IL_0013: ldloc.3 + IL_0014: ldc.i4.1 + IL_0015: add + IL_0016: stloc.3 + IL_0017: ldloc.3 + IL_0018: ldloc.2 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: bne.un.s IL_000e + + IL_001d: ldloc.1 + IL_001e: ldloc.0 + IL_001f: stfld int32 Experiment.Test/Repro::hash@ + IL_0024: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype Experiment.Test/Repro& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 Experiment.Test/Repro::hash@ + IL_0009: ldloc.0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype Experiment.Test/Repro V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst Experiment.Test/Repro + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any Experiment.Test/Repro + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance int32 hash() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 Experiment.Test/Repro::get_hash() + } + } + + .method public static int32 test() cil managed + { + + .maxstack 3 + .locals init (valuetype Experiment.Test/Repro V_0) + IL_0000: ldc.i4.s 42 + IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) + IL_0007: stloc.0 + IL_0008: ldloca.s V_0 + IL_000a: ldfld int32 Experiment.Test/Repro::hash@ + IL_000f: ret + } + +} + +.class private abstract auto ansi sealed '.$Experiment'.Test + extends [runtime]System.Object +{ +} + +.class private auto ansi beforefieldinit System.Runtime.CompilerServices.IsReadOnlyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs new file mode 100644 index 00000000000..352cec74bfb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs @@ -0,0 +1,24 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:4560 +// Handling of structs as array elements +// For functional tests, see fsharp\core\array +module StructsAsArrayElements01 +[] +type T = + val mutable public i : int + member public this.Set i = this.i <- i + +let a = Array.create 10 Unchecked.defaultof +a.[0].Set 27 + +// This is the incorrect code that used to be generated +// +// L_0000: call valuetype Mmm/T[] Mmm::get_a() +// L_0005: ldc.i4.0 +// L_0006: ldelem.any Mmm/T +// L_000b: stloc.0 +// L_000c: ldloca.s t +// L_000e: ldfld int32 Mmm/T::i@ +// L_0013: ret +// +//Expected: no locals (no stloc.0/ldloca.s t between ldelem and ldfld) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl new file mode 100644 index 00000000000..fa9da73a37c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl @@ -0,0 +1,359 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public T + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public int32 i + .method public hidebysig virtual final + instance int32 CompareTo(valuetype assembly/T obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype assembly/T& V_0, + class [runtime]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3, + class [runtime]System.Collections.IComparer V_4, + int32 V_5, + int32 V_6) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 assembly/T::i + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 assembly/T::i + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: stloc.s V_5 + IL_001d: ldloc.3 + IL_001e: stloc.s V_6 + IL_0020: ldloc.s V_5 + IL_0022: ldloc.s V_6 + IL_0024: cgt + IL_0026: ldloc.s V_5 + IL_0028: ldloc.s V_6 + IL_002a: clt + IL_002c: sub + IL_002d: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/T + IL_0007: call instance int32 assembly/T::CompareTo(valuetype assembly/T) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype assembly/T V_0, + valuetype assembly/T& V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/T + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 assembly/T::i + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 assembly/T::i + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: stloc.s V_6 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_7 + IL_0025: ldloc.s V_6 + IL_0027: ldloc.s V_7 + IL_0029: cgt + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: clt + IL_0031: sub + IL_0032: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 assembly/T::i + IL_000f: stloc.2 + IL_0010: ldloc.1 + IL_0011: stloc.3 + IL_0012: ldloc.2 + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 assembly/T::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/T V_1, + valuetype assembly/T& V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/T + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0033 + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/T + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 assembly/T::i + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld int32 assembly/T::i + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + } + + .method public hidebysig instance void + Set(int32 i) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/T::i + IL_0007: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype assembly/T obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/T& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 assembly/T::i + IL_0009: ldloc.0 + IL_000a: ldfld int32 assembly/T::i + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/T V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/T + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/T + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool assembly/T::Equals(valuetype assembly/T) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .method public specialname static valuetype assembly/T[] + get_a() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype assembly/T[] ''.$assembly::a@11 + IL_0005: ret + } + + .property valuetype assembly/T[] + a() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype assembly/T[] assembly::get_a() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly valuetype assembly/T[] a@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 4 + .locals init (valuetype assembly/T[] V_0, + valuetype assembly/T V_1) + IL_0000: ldc.i4.s 10 + IL_0002: ldloc.1 + IL_0003: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0008: dup + IL_0009: stsfld valuetype assembly/T[] ''.$assembly::a@11 + IL_000e: stloc.0 + IL_000f: call valuetype assembly/T[] assembly::get_a() + IL_0014: ldc.i4.0 + IL_0015: ldelema assembly/T + IL_001a: ldc.i4.s 27 + IL_001c: call instance void assembly/T::Set(int32) + IL_0021: nop + IL_0022: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl new file mode 100644 index 00000000000..1d44ece6f6a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl @@ -0,0 +1,326 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public T + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field public int32 i + .method public hidebysig virtual final + instance int32 CompareTo(valuetype assembly/T obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype assembly/T& V_0, + class [runtime]System.Collections.IComparer V_1, + int32 V_2, + int32 V_3) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 assembly/T::i + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld int32 assembly/T::i + IL_0016: stloc.3 + IL_0017: ldloc.2 + IL_0018: ldloc.3 + IL_0019: cgt + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: clt + IL_001f: sub + IL_0020: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/T + IL_0007: call instance int32 assembly/T::CompareTo(valuetype assembly/T) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype assembly/T V_0, + valuetype assembly/T& V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/T + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld int32 assembly/T::i + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld int32 assembly/T::i + IL_0019: stloc.s V_4 + IL_001b: ldloc.3 + IL_001c: ldloc.s V_4 + IL_001e: cgt + IL_0020: ldloc.3 + IL_0021: ldloc.s V_4 + IL_0023: clt + IL_0025: sub + IL_0026: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld int32 assembly/T::i + IL_000f: ldloc.0 + IL_0010: ldc.i4.6 + IL_0011: shl + IL_0012: ldloc.0 + IL_0013: ldc.i4.2 + IL_0014: shr + IL_0015: add + IL_0016: add + IL_0017: add + IL_0018: stloc.0 + IL_0019: ldloc.0 + IL_001a: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 assembly/T::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/T V_1, + valuetype assembly/T& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/T + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0028 + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/T + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld int32 assembly/T::i + IL_001f: ldloc.2 + IL_0020: ldfld int32 assembly/T::i + IL_0025: ceq + IL_0027: ret + + IL_0028: ldc.i4.0 + IL_0029: ret + } + + .method public hidebysig instance void + Set(int32 i) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/T::i + IL_0007: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype assembly/T obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/T& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld int32 assembly/T::i + IL_0009: ldloc.0 + IL_000a: ldfld int32 assembly/T::i + IL_000f: ceq + IL_0011: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/T V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/T + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/T + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool assembly/T::Equals(valuetype assembly/T) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + } + + .method public specialname static valuetype assembly/T[] + get_a() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype assembly/T[] ''.$assembly::a@11 + IL_0005: ret + } + + .property valuetype assembly/T[] + a() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype assembly/T[] assembly::get_a() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly valuetype assembly/T[] a@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 4 + .locals init (valuetype assembly/T[] V_0, + valuetype assembly/T V_1) + IL_0000: ldc.i4.s 10 + IL_0002: ldloc.1 + IL_0003: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0008: dup + IL_0009: stsfld valuetype assembly/T[] ''.$assembly::a@11 + IL_000e: stloc.0 + IL_000f: call valuetype assembly/T[] assembly::get_a() + IL_0014: ldc.i4.0 + IL_0015: ldelema assembly/T + IL_001a: ldc.i4.s 27 + IL_001c: call instance void assembly/T::Set(int32) + IL_0021: nop + IL_0022: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs new file mode 100644 index 00000000000..53c4fe04035 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs @@ -0,0 +1,7 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +// Verify that the deprecated command line option "--no-generate-filter-blocks" is honored +try + () + with + | e when e.GetHashCode() = 0 -> () + | _ -> () diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl new file mode 100644 index 00000000000..e695b29f64a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl @@ -0,0 +1,97 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + class [runtime]System.Exception V_2) + .try + { + IL_0000: nop + IL_0001: leave.s IL_001c + + } + catch [runtime]System.Object + { + IL_0003: castclass [runtime]System.Exception + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: stloc.1 + IL_000b: ldloc.1 + IL_000c: callvirt instance int32 [runtime]System.Object::GetHashCode() + IL_0011: ldc.i4.0 + IL_0012: ceq + IL_0014: brfalse.s IL_001a + + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: leave.s IL_001c + + IL_001a: leave.s IL_001c + + } + IL_001c: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs new file mode 100644 index 00000000000..11eb54f587a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs @@ -0,0 +1,85 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module QueryExpressionSteppingRealSignatureOff = + + // SOURCE=Utils.fs SCFLAGS="-a -r:System.Xml.Linq" # Utils.fs + let utilsLibrary = + FsFromPath (Path.Combine(__SOURCE_DIRECTORY__, "Utils.fs")) + |> withName "Utils" + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withReferences [utilsLibrary] + |> withRealInternalSignatureOff + |> ignoreWarnings + |> verifyILBaseline + + // SOURCE=Linq101Aggregates01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Aggregates01.exe" # Linq101Aggregates01.fs - CodeGen + [] + let ``Linq101Aggregates01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101ElementOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101ElementOperators01.exe" # Linq101ElementOperators01.fs - CodeGen + [] + let ``Linq101ElementOperators01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101Grouping01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Grouping01.exe" # Linq101Grouping01.fs - CodeGen + [] + let ``Linq101Grouping01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101Joins01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Joins01.exe" # Linq101Joins01.fs - CodeGen + [] + let ``Linq101Joins01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101Ordering01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Ordering01.exe" # Linq101Ordering01.fs - CodeGen + [] + let ``Linq101Ordering01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101Partitioning01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Partitioning01.exe" # Linq101Partitioning01.fs - CodeGen + [] + let ``Linq101Partitioning01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101Quantifiers01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Quantifiers01.exe" # Linq101Quantifiers01.fs - CodeGen + [] + let ``Linq101Quantifiers01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101Select01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Select01.exe" # Linq101Select01.fs - CodeGen + [] + let ``Linq101Select01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101SetOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101SetOperators01.exe" # Linq101SetOperators01.fs - CodeGen + [] + let ``Linq101SetOperators01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Linq101Where01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Where01.exe" # Linq101Where01.fs - CodeGen + [] + let ``Linq101Where01_fs`` compilation = + compilation + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Utils.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Utils.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Utils.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Utils.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs new file mode 100644 index 00000000000..c38af9943e1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs @@ -0,0 +1,117 @@ +// #Conformance #DataExpressions #Query +// GroupBy LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +// Count - Simple +let factorsOf300 = [2;2;3;5;5] + +let uniqueFactors = + query { + for n in factorsOf300 do + distinct + } |> Seq.length + +// Sum - Simple +let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] + +let numSum = + query { + for n in numbers do + sumBy n + } + +// Sum - Projection +let words = ["cherry"; "apple"; "blueberry"] + +let totalChars = + query { + for w in words do + sumBy (w.Length) + } + +// Sum - Grouped +let products = getProductList() + +let categories = + query { + for p in products do + groupValBy p p.Category into g + let sum = query { + for x in g do + sumBy x.UnitsInStock + } + select (g.Key, sum) + } |> Seq.toArray + +// Min - simple +let minNum = query { for n in numbers do minBy n } + +// Min - Projection +let shortestWord = query { for w in words do minBy w.Length } + +// Min - Grouped +let categories2 = + query { + for p in products do + groupValBy p p.Category into g + let min = query { for x in g do minBy x.UnitPrice } + select (g.Key, min) + } |> Seq.toArray + +// Min - Elements +let categories3 = + query { + for p in products do + groupValBy p p.Category into g + let min = g.Min(fun (p : Product) -> p.UnitPrice) + let cheapestProducts = query { for x in g do where (x.UnitPrice = min) } + select (g.Key, cheapestProducts) + } |> Seq.toArray + +// Max - Simple +let maxNum = query { for n in numbers do maxBy n } + +// Max - Projection +let longestLength = query { for w in words do maxBy w.Length } + +// Max - Grouped +let categories4 = + query { + for p in products do + groupValBy p p.Category into g + let mostExpensivePrice = query { for x in g do maxBy x.UnitPrice } + select (g.Key, mostExpensivePrice) + } |> Seq.toArray + +// Max - Elements +let categories5 = + query { + for p in products do + groupValBy p p.Category into g + let maxPrice = query { for x in g do maxBy x.UnitPrice } + let mostExpensiveProducts = query { for x in g do where (x.UnitPrice = maxPrice) } + select (g.Key, mostExpensiveProducts) + } |> Seq.toArray + +// Average - Simple +let numbers2 = [5.1; 4.1; 1.1; 3.1; 9.1; 8.1; 6.1; 7.1; 2.1; 0.1] +let averageNum = query { for n in numbers2 do averageBy n } + +// Average - Projection +let averageLength = + query { + for w in words do + let wl = w.Length |> float + averageBy wl + } + +// Average - Grouped +let categories6 = + query { + for p in products do + groupValBy p p.Category into g + let averagePrice = query { for x in g do averageBy x.UnitPrice } + select (g.Key, averagePrice) + } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..43adbfc6177 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.debug.bsl @@ -0,0 +1,7117 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname numSum@21 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/numSum@21::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/numSum@21::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/numSum@21::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/numSum@21::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/numSum@21::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/numSum@21::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/numSum@21::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/numSum@21::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/numSum@21::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/numSum@21::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/numSum@21::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/numSum@21::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'numSum@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'numSum@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'numSum@22-1'::.ctor() + IL_0005: stsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname totalChars@30 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/totalChars@30::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/totalChars@30::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/totalChars@30::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/totalChars@30::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/totalChars@30::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/totalChars@30::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/totalChars@30::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/totalChars@30::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/totalChars@30::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/totalChars@30::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/totalChars@30::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/totalChars@30::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/totalChars@30::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'totalChars@31-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'totalChars@31-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'totalChars@31-1'::.ctor() + IL_0005: stsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname sum@42 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/sum@42::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/sum@42::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/sum@42::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/sum@42::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/sum@42::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/sum@42::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/sum@42::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/sum@42::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/sum@42::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/sum@42::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/sum@42::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'sum@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'sum@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'sum@43-1'::.ctor() + IL_0005: stsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 8 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/sum@42::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldloc.s V_6 + IL_002c: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stloc.s V_7 + .try + { + IL_0033: ldc.i4.0 + IL_0034: stloc.s V_9 + IL_0036: br.s IL_004b + + IL_0038: ldloc.s V_9 + IL_003a: ldloc.s V_5 + IL_003c: ldloc.s V_7 + IL_003e: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0043: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0048: add.ovf + IL_0049: stloc.s V_9 + IL_004b: ldloc.s V_7 + IL_004d: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0052: brtrue.s IL_0038 + + IL_0054: ldloc.s V_9 + IL_0056: stloc.s V_8 + IL_0058: leave.s IL_0070 + + } + finally + { + IL_005a: ldloc.s V_7 + IL_005c: isinst [runtime]System.IDisposable + IL_0061: stloc.s V_10 + IL_0063: ldloc.s V_10 + IL_0065: brfalse.s IL_006f + + IL_0067: ldloc.s V_10 + IL_0069: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_006e: endfinally + IL_006f: endfinally + } + IL_0070: ldloc.s V_8 + IL_0072: stloc.1 + IL_0073: ldarg.0 + IL_0074: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0079: ldloc.0 + IL_007a: ldloc.1 + IL_007b: newobj instance void class [runtime]System.Tuple`2,int32>::.ctor(!0, + !1) + IL_0080: tail. + IL_0082: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,int32>,object>(!!0) + IL_0087: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@45-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@45-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,int32> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,int32>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,int32>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@45-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname minNum@49 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/minNum@49::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/minNum@49::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/minNum@49::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/minNum@49::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/minNum@49::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/minNum@49::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/minNum@49::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/minNum@49::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/minNum@49::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/minNum@49::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/minNum@49::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/minNum@49::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'minNum@49-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'minNum@49-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'minNum@49-1'::.ctor() + IL_0005: stsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname shortestWord@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/shortestWord@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/shortestWord@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/shortestWord@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/shortestWord@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/shortestWord@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/shortestWord@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/shortestWord@52::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/shortestWord@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/shortestWord@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/shortestWord@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/shortestWord@52::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/shortestWord@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/shortestWord@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'shortestWord@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'shortestWord@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'shortestWord@52-1'::.ctor() + IL_0005: stsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@57' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname min@59 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/min@59::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/min@59::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/min@59::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/min@59::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/min@59::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/min@59::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/min@59::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/min@59::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/min@59::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/min@59::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/min@59::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/min@59::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/min@59::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/min@59::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/min@59::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'min@59-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'min@59-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'min@59-1'::.ctor() + IL_0005: stsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/min@59::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@60-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@60-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@60-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@66' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_000a: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'min@68-2' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname cheapestProducts@69 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/cheapestProducts@69::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/cheapestProducts@69::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/cheapestProducts@69::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/cheapestProducts@69::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/cheapestProducts@69::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/cheapestProducts@69::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/cheapestProducts@69::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/cheapestProducts@69::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'cheapestProducts@69-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal min + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal min) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: ldnull + IL_0004: ldftn valuetype [runtime]System.Decimal assembly/'min@68-2'::Invoke(class [Utils]Utils/Product) + IL_000a: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000f: call valuetype [runtime]System.Decimal [System.Core]System.Linq.Enumerable::Min(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0014: stloc.1 + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_001a: stloc.3 + IL_001b: ldloc.3 + IL_001c: ldloc.0 + IL_001d: ldnull + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_002a: ldloc.1 + IL_002b: newobj instance void assembly/'cheapestProducts@69-1'::.ctor(valuetype [runtime]System.Decimal) + IL_0030: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_003a: stloc.2 + IL_003b: ldarg.0 + IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_0041: ldloc.0 + IL_0042: ldloc.1 + IL_0043: ldloc.2 + IL_0044: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0049: tail. + IL_004b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_0050: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@70-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@70-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@70-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxNum@74 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/maxNum@74::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxNum@74::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/maxNum@74::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/maxNum@74::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/maxNum@74::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/maxNum@74::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/maxNum@74::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/maxNum@74::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxNum@74::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxNum@74::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxNum@74::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/maxNum@74::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxNum@74-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxNum@74-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxNum@74-1'::.ctor() + IL_0005: stsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname longestLength@77 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/longestLength@77::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/longestLength@77::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/longestLength@77::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/longestLength@77::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/longestLength@77::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/longestLength@77::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/longestLength@77::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/longestLength@77::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/longestLength@77::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/longestLength@77::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/longestLength@77::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/longestLength@77::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/longestLength@77::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'longestLength@77-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'longestLength@77-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'longestLength@77-1'::.ctor() + IL_0005: stsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensivePrice@84 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensivePrice@84::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensivePrice@84::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensivePrice@84::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensivePrice@84-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'mostExpensivePrice@84-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'mostExpensivePrice@84-1'::.ctor() + IL_0005: stsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@85-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@85-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@85-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxPrice@93 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxPrice@93::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/maxPrice@93::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/maxPrice@93::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/maxPrice@93::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/maxPrice@93::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxPrice@93::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxPrice@93::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxPrice@93::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/maxPrice@93::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxPrice@93-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxPrice@93-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxPrice@93-1'::.ctor() + IL_0005: stsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensiveProducts@94 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensiveProducts@94-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal maxPrice + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal maxPrice) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/maxPrice@93::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0025: stloc.3 + IL_0026: ldloc.3 + IL_0027: ldloc.0 + IL_0028: ldnull + IL_0029: ldc.i4.0 + IL_002a: ldnull + IL_002b: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0030: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: ldloc.1 + IL_0036: newobj instance void assembly/'mostExpensiveProducts@94-1'::.ctor(valuetype [runtime]System.Decimal) + IL_003b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0040: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0045: stloc.2 + IL_0046: ldarg.0 + IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_004c: ldloc.0 + IL_004d: ldloc.1 + IL_004e: ldloc.2 + IL_004f: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0054: tail. + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_005b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@95-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@95-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@95-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averageNum@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public float64 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + float64 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/averageNum@100::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld float64 assembly/averageNum@100::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (float64 V_0, + float64 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/averageNum@100::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/averageNum@100::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld float64 assembly/averageNum@100::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/averageNum@100::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/averageNum@100::pc + IL_008b: ldarg.0 + IL_008c: ldc.r8 0.0 + IL_0095: stfld float64 assembly/averageNum@100::current + IL_009a: ldc.i4.0 + IL_009b: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_007e + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averageNum@100::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averageNum@100::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averageNum@100::pc + IL_005d: ldarg.0 + IL_005e: ldc.r8 0.0 + IL_0067: stfld float64 assembly/averageNum@100::current + IL_006c: leave.s IL_0078 + + } + catch [runtime]System.Object + { + IL_006e: castclass [runtime]System.Exception + IL_0073: stloc.1 + IL_0074: ldloc.1 + IL_0075: stloc.0 + IL_0076: leave.s IL_0078 + + } + IL_0078: nop + IL_0079: br IL_0000 + + IL_007e: ldloc.0 + IL_007f: brfalse.s IL_0083 + + IL_0081: ldloc.0 + IL_0082: throw + + IL_0083: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance float64 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 assembly/averageNum@100::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.r8 0.0 + IL_000b: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageNum@100-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averageNum@100-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(float64 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageNum@100-1'::.ctor() + IL_0005: stsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit averageLength@105 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(string _arg1) cil managed + { + + .maxstack 7 + .locals init (string V_0, + float64 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance int32 [runtime]System.String::get_Length() + IL_0008: stloc.2 + IL_0009: ldloc.2 + IL_000a: conv.r8 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_0012: ldloc.0 + IL_0013: ldloc.1 + IL_0014: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0019: tail. + IL_001b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0020: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageLength@107-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> + { + .field static assembly initonly class assembly/'averageLength@107-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 5 + .locals init (string V_0, + float64 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageLength@107-1'::.ctor() + IL_0005: stsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@113' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averagePrice@115 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/averagePrice@115::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/averagePrice@115::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/averagePrice@115::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/averagePrice@115::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/averagePrice@115::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averagePrice@115::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averagePrice@115::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averagePrice@115::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/averagePrice@115::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averagePrice@115-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averagePrice@115-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averagePrice@115-1'::.ctor() + IL_0005: stsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + string V_7, + class [runtime]System.Collections.Generic.IEnumerable`1 V_8, + string V_9, + class [runtime]System.Collections.Generic.IEnumerator`1 V_10, + valuetype [runtime]System.Decimal V_11, + valuetype [runtime]System.Decimal V_12, + int32 V_13, + string V_14, + valuetype [runtime]System.Decimal V_15, + int32 V_16, + class [runtime]System.IDisposable V_17) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/averagePrice@115::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldstr "source" + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_6 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_8 + IL_0037: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_003c: brtrue.s IL_004a + + IL_003e: ldloc.s V_7 + IL_0040: stloc.s V_9 + IL_0042: ldloc.s V_9 + IL_0044: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_0049: throw + + IL_004a: nop + IL_004b: ldloc.s V_6 + IL_004d: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0052: stloc.s V_10 + .try + { + IL_0054: ldc.i4.0 + IL_0055: ldc.i4.0 + IL_0056: ldc.i4.0 + IL_0057: ldc.i4.0 + IL_0058: ldc.i4.0 + IL_0059: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_005e: stloc.s V_12 + IL_0060: ldc.i4.0 + IL_0061: stloc.s V_13 + IL_0063: br.s IL_0082 + + IL_0065: ldloc.s V_12 + IL_0067: ldloc.s V_5 + IL_0069: ldloc.s V_10 + IL_006b: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0070: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0075: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::op_Addition(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_007a: stloc.s V_12 + IL_007c: ldloc.s V_13 + IL_007e: ldc.i4.1 + IL_007f: add + IL_0080: stloc.s V_13 + IL_0082: ldloc.s V_10 + IL_0084: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0089: brtrue.s IL_0065 + + IL_008b: ldloc.s V_13 + IL_008d: brtrue.s IL_009e + + IL_008f: ldstr "source" + IL_0094: stloc.s V_14 + IL_0096: ldloc.s V_14 + IL_0098: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_009d: throw + + IL_009e: nop + IL_009f: ldloc.s V_12 + IL_00a1: stloc.s V_15 + IL_00a3: ldloc.s V_13 + IL_00a5: stloc.s V_16 + IL_00a7: ldloc.s V_15 + IL_00a9: ldloc.s V_16 + IL_00ab: call valuetype [netstandard]System.Decimal [netstandard]System.Convert::ToDecimal(int32) + IL_00b0: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::Divide(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00b5: stloc.s V_11 + IL_00b7: leave.s IL_00cf + + } + finally + { + IL_00b9: ldloc.s V_10 + IL_00bb: isinst [runtime]System.IDisposable + IL_00c0: stloc.s V_17 + IL_00c2: ldloc.s V_17 + IL_00c4: brfalse.s IL_00ce + + IL_00c6: ldloc.s V_17 + IL_00c8: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_00cd: endfinally + IL_00ce: endfinally + } + IL_00cf: ldloc.s V_11 + IL_00d1: stloc.1 + IL_00d2: ldarg.0 + IL_00d3: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_00d8: ldloc.0 + IL_00d9: ldloc.1 + IL_00da: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_00df: tail. + IL_00e1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_00e6: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@116-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@116-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@116-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 uniqueFactors@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 numSum@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 totalChars@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@35 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 minNum@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 shortestWord@52 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories2@55 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories3@64 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 maxNum@74 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 longestLength@77 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories4@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories5@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@99 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageNum@100 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageLength@103 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories6@111 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0005: ret + } + + .method public specialname static int32 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::uniqueFactors@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0005: ret + } + + .method public specialname static int32 get_numSum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::numSum@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0005: ret + } + + .method public specialname static int32 get_totalChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::totalChars@28 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0005: ret + } + + .method public specialname static int32 get_minNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::minNum@49 + IL_0005: ret + } + + .method public specialname static int32 get_shortestWord() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::shortestWord@52 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0005: ret + } + + .method public specialname static int32 get_maxNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::maxNum@74 + IL_0005: ret + } + + .method public specialname static int32 get_longestLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::longestLength@77 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories5() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_0005: ret + } + + .method public specialname static float64 get_averageNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageNum@100 + IL_0005: ret + } + + .method public specialname static float64 get_averageLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageLength@103 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_13, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_14, + class [runtime]System.Collections.Generic.IEnumerable`1 V_15, + class [runtime]System.Collections.Generic.IEnumerator`1 V_16, + int32 V_17, + int32 V_18, + class [runtime]System.IDisposable V_19, + class [runtime]System.Collections.Generic.IEnumerable`1> V_20, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, + class [runtime]System.Collections.Generic.IEnumerable`1> V_22, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_24, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, + class [runtime]System.Collections.Generic.IEnumerable`1> V_26, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_27, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_28, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_29, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_30, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_31, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_32, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_33, + class [runtime]System.Collections.Generic.IEnumerable`1 V_34, + string V_35, + class [runtime]System.Collections.Generic.IEnumerable`1 V_36, + string V_37, + class [runtime]System.Collections.Generic.IEnumerator`1 V_38, + float64 V_39, + float64 V_40, + int32 V_41, + string V_42, + float64 V_43, + int32 V_44, + class [runtime]System.IDisposable V_45, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_46, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_47, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> V_48, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> V_49, + class [runtime]System.Collections.Generic.IEnumerable`1> V_50, + string V_51, + class [runtime]System.Collections.Generic.IEnumerable`1> V_52, + string V_53, + class [runtime]System.Collections.Generic.IEnumerator`1> V_54, + float64 V_55, + float64 V_56, + int32 V_57, + string V_58, + float64 V_59, + int32 V_60, + class [runtime]System.IDisposable V_61, + class [runtime]System.Collections.Generic.IEnumerable`1> V_62, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_63) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld int32 assembly::uniqueFactors@10 + IL_0052: ldc.i4.5 + IL_0053: ldc.i4.4 + IL_0054: ldc.i4.1 + IL_0055: ldc.i4.3 + IL_0056: ldc.i4.s 9 + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.6 + IL_005a: ldc.i4.7 + IL_005b: ldc.i4.2 + IL_005c: ldc.i4.0 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0071: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0080: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0085: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0094: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0099: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009e: stloc.2 + IL_009f: ldloc.2 + IL_00a0: stloc.3 + IL_00a1: ldnull + IL_00a2: ldc.i4.0 + IL_00a3: ldc.i4.0 + IL_00a4: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00a9: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ae: stloc.s V_4 + IL_00b0: ldsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_00b5: stloc.s V_5 + IL_00b7: ldloc.s V_4 + IL_00b9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00be: stloc.s V_6 + IL_00c0: ldloc.s V_6 + IL_00c2: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_00c7: stloc.s V_7 + .try + { + IL_00c9: ldc.i4.0 + IL_00ca: stloc.s V_9 + IL_00cc: br.s IL_00e1 + + IL_00ce: ldloc.s V_9 + IL_00d0: ldloc.s V_5 + IL_00d2: ldloc.s V_7 + IL_00d4: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_00d9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_00de: add.ovf + IL_00df: stloc.s V_9 + IL_00e1: ldloc.s V_7 + IL_00e3: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_00e8: brtrue.s IL_00ce + + IL_00ea: ldloc.s V_9 + IL_00ec: stloc.s V_8 + IL_00ee: leave.s IL_0106 + + } + finally + { + IL_00f0: ldloc.s V_7 + IL_00f2: isinst [runtime]System.IDisposable + IL_00f7: stloc.s V_10 + IL_00f9: ldloc.s V_10 + IL_00fb: brfalse.s IL_0105 + + IL_00fd: ldloc.s V_10 + IL_00ff: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0104: endfinally + IL_0105: endfinally + } + IL_0106: ldloc.s V_8 + IL_0108: stsfld int32 assembly::numSum@19 + IL_010d: ldstr "cherry" + IL_0112: ldstr "apple" + IL_0117: ldstr "blueberry" + IL_011c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0121: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0126: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0130: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0135: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_013a: stloc.s V_11 + IL_013c: ldloc.s V_11 + IL_013e: stloc.s V_12 + IL_0140: ldnull + IL_0141: ldc.i4.0 + IL_0142: ldnull + IL_0143: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0148: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_014d: stloc.s V_13 + IL_014f: ldsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_0154: stloc.s V_14 + IL_0156: ldloc.s V_13 + IL_0158: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_015d: stloc.s V_15 + IL_015f: ldloc.s V_15 + IL_0161: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0166: stloc.s V_16 + .try + { + IL_0168: ldc.i4.0 + IL_0169: stloc.s V_18 + IL_016b: br.s IL_0180 + + IL_016d: ldloc.s V_18 + IL_016f: ldloc.s V_14 + IL_0171: ldloc.s V_16 + IL_0173: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0178: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_017d: add.ovf + IL_017e: stloc.s V_18 + IL_0180: ldloc.s V_16 + IL_0182: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0187: brtrue.s IL_016d + + IL_0189: ldloc.s V_18 + IL_018b: stloc.s V_17 + IL_018d: leave.s IL_01a5 + + } + finally + { + IL_018f: ldloc.s V_16 + IL_0191: isinst [runtime]System.IDisposable + IL_0196: stloc.s V_19 + IL_0198: ldloc.s V_19 + IL_019a: brfalse.s IL_01a4 + + IL_019c: ldloc.s V_19 + IL_019e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_01a3: endfinally + IL_01a4: endfinally + } + IL_01a5: ldloc.s V_17 + IL_01a7: stsfld int32 assembly::totalChars@28 + IL_01ac: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01b1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_01b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01bb: stloc.s V_21 + IL_01bd: ldloc.s V_21 + IL_01bf: ldloc.s V_21 + IL_01c1: ldloc.s V_21 + IL_01c3: ldloc.s V_21 + IL_01c5: ldloc.s V_21 + IL_01c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d1: ldloc.s V_21 + IL_01d3: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01dd: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_01e2: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_01e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ec: ldloc.s V_21 + IL_01ee: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,int32>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f8: ldsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_01fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,int32>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0202: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0207: stloc.s V_20 + IL_0209: ldloc.s V_20 + IL_020b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0210: stsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0215: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021a: ldnull + IL_021b: ldc.i4.0 + IL_021c: ldc.i4.0 + IL_021d: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0222: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0227: ldsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_022c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0231: stsfld int32 assembly::minNum@49 + IL_0236: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_023b: ldnull + IL_023c: ldc.i4.0 + IL_023d: ldnull + IL_023e: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0243: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0248: ldsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_024d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0252: stsfld int32 assembly::shortestWord@52 + IL_0257: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_025c: stloc.s V_23 + IL_025e: ldloc.s V_23 + IL_0260: ldloc.s V_23 + IL_0262: ldloc.s V_23 + IL_0264: ldloc.s V_23 + IL_0266: ldloc.s V_23 + IL_0268: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_026d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0272: ldloc.s V_23 + IL_0274: newobj instance void assembly/'Pipe #3 input at line 56@57'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0279: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_027e: ldsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_0283: ldsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_0288: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_028d: ldloc.s V_23 + IL_028f: newobj instance void assembly/'Pipe #3 input at line 56@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0294: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0299: ldsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_029e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02a8: stloc.s V_22 + IL_02aa: ldloc.s V_22 + IL_02ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02b1: stsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_02b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02bb: stloc.s V_25 + IL_02bd: ldloc.s V_25 + IL_02bf: ldloc.s V_25 + IL_02c1: ldloc.s V_25 + IL_02c3: ldloc.s V_25 + IL_02c5: ldloc.s V_25 + IL_02c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_02cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02d1: ldloc.s V_25 + IL_02d3: newobj instance void assembly/'Pipe #4 input at line 65@66'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02dd: ldsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_02e2: ldsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_02e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02ec: ldloc.s V_25 + IL_02ee: newobj instance void assembly/'Pipe #4 input at line 65@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02f8: ldsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_02fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0302: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0307: stloc.s V_24 + IL_0309: ldloc.s V_24 + IL_030b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0310: stsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0315: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_031a: ldnull + IL_031b: ldc.i4.0 + IL_031c: ldc.i4.0 + IL_031d: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0322: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0327: ldsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_032c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0331: stsfld int32 assembly::maxNum@74 + IL_0336: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_033b: ldnull + IL_033c: ldc.i4.0 + IL_033d: ldnull + IL_033e: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0343: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0348: ldsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_034d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0352: stsfld int32 assembly::longestLength@77 + IL_0357: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_035c: stloc.s V_27 + IL_035e: ldloc.s V_27 + IL_0360: ldloc.s V_27 + IL_0362: ldloc.s V_27 + IL_0364: ldloc.s V_27 + IL_0366: ldloc.s V_27 + IL_0368: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_036d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0372: ldloc.s V_27 + IL_0374: newobj instance void assembly/'Pipe #5 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0379: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_037e: ldsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_0383: ldsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_0388: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_038d: ldloc.s V_27 + IL_038f: newobj instance void assembly/'Pipe #5 input at line 81@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0394: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0399: ldsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_039e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03a8: stloc.s V_26 + IL_03aa: ldloc.s V_26 + IL_03ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03b1: stsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_03b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03bb: stloc.s V_29 + IL_03bd: ldloc.s V_29 + IL_03bf: ldloc.s V_29 + IL_03c1: ldloc.s V_29 + IL_03c3: ldloc.s V_29 + IL_03c5: ldloc.s V_29 + IL_03c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_03cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03d1: ldloc.s V_29 + IL_03d3: newobj instance void assembly/'Pipe #6 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03dd: ldsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_03e2: ldsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_03e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03ec: ldloc.s V_29 + IL_03ee: newobj instance void assembly/'Pipe #6 input at line 90@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03f8: ldsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_03fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0402: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0407: stloc.s V_28 + IL_0409: ldloc.s V_28 + IL_040b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0410: stsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0415: ldc.r8 5.0999999999999996 + IL_041e: ldc.r8 4.0999999999999996 + IL_0427: ldc.r8 1.1000000000000001 + IL_0430: ldc.r8 3.1000000000000001 + IL_0439: ldc.r8 9.0999999999999996 + IL_0442: ldc.r8 8.0999999999999996 + IL_044b: ldc.r8 6.0999999999999996 + IL_0454: ldc.r8 7.0999999999999996 + IL_045d: ldc.r8 2.1000000000000001 + IL_0466: ldc.r8 0.10000000000000001 + IL_046f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0474: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0479: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_047e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0483: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0488: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_048d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0492: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0497: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_049c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_04ab: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_04b0: stloc.s V_30 + IL_04b2: ldloc.s V_30 + IL_04b4: stloc.s V_31 + IL_04b6: ldnull + IL_04b7: ldc.i4.0 + IL_04b8: ldc.r8 0.0 + IL_04c1: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_04c6: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_04cb: stloc.s V_32 + IL_04cd: ldsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_04d2: stloc.s V_33 + IL_04d4: ldloc.s V_32 + IL_04d6: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_04db: stloc.s V_34 + IL_04dd: ldstr "source" + IL_04e2: stloc.s V_35 + IL_04e4: ldloc.s V_34 + IL_04e6: stloc.s V_36 + IL_04e8: ldloc.s V_36 + IL_04ea: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_04ef: brtrue.s IL_04fd + + IL_04f1: ldloc.s V_35 + IL_04f3: stloc.s V_37 + IL_04f5: ldloc.s V_37 + IL_04f7: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_04fc: throw + + IL_04fd: nop + IL_04fe: ldloc.s V_34 + IL_0500: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0505: stloc.s V_38 + .try + { + IL_0507: ldc.r8 0.0 + IL_0510: stloc.s V_40 + IL_0512: ldc.i4.0 + IL_0513: stloc.s V_41 + IL_0515: br.s IL_0530 + + IL_0517: ldloc.s V_40 + IL_0519: ldloc.s V_33 + IL_051b: ldloc.s V_38 + IL_051d: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0522: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0527: add + IL_0528: stloc.s V_40 + IL_052a: ldloc.s V_41 + IL_052c: ldc.i4.1 + IL_052d: add + IL_052e: stloc.s V_41 + IL_0530: ldloc.s V_38 + IL_0532: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0537: brtrue.s IL_0517 + + IL_0539: ldloc.s V_41 + IL_053b: brtrue.s IL_054c + + IL_053d: ldstr "source" + IL_0542: stloc.s V_42 + IL_0544: ldloc.s V_42 + IL_0546: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_054b: throw + + IL_054c: nop + IL_054d: ldloc.s V_40 + IL_054f: stloc.s V_43 + IL_0551: ldloc.s V_41 + IL_0553: stloc.s V_44 + IL_0555: ldloc.s V_43 + IL_0557: ldloc.s V_44 + IL_0559: conv.r8 + IL_055a: div + IL_055b: stloc.s V_39 + IL_055d: leave.s IL_0575 + + } + finally + { + IL_055f: ldloc.s V_38 + IL_0561: isinst [runtime]System.IDisposable + IL_0566: stloc.s V_45 + IL_0568: ldloc.s V_45 + IL_056a: brfalse.s IL_0574 + + IL_056c: ldloc.s V_45 + IL_056e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0573: endfinally + IL_0574: endfinally + } + IL_0575: ldloc.s V_39 + IL_0577: stsfld float64 assembly::averageNum@100 + IL_057c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0581: stloc.s V_46 + IL_0583: ldloc.s V_46 + IL_0585: stloc.s V_47 + IL_0587: ldloc.s V_46 + IL_0589: ldloc.s V_46 + IL_058b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0590: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0595: ldloc.s V_46 + IL_0597: newobj instance void assembly/averageLength@105::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_059c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_05a1: stloc.s V_48 + IL_05a3: ldsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_05a8: stloc.s V_49 + IL_05aa: ldloc.s V_48 + IL_05ac: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_05b1: stloc.s V_50 + IL_05b3: ldstr "source" + IL_05b8: stloc.s V_51 + IL_05ba: ldloc.s V_50 + IL_05bc: stloc.s V_52 + IL_05be: ldloc.s V_52 + IL_05c0: box class [runtime]System.Collections.Generic.IEnumerable`1> + IL_05c5: brtrue.s IL_05d3 + + IL_05c7: ldloc.s V_51 + IL_05c9: stloc.s V_53 + IL_05cb: ldloc.s V_53 + IL_05cd: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_05d2: throw + + IL_05d3: nop + IL_05d4: ldloc.s V_50 + IL_05d6: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1>::GetEnumerator() + IL_05db: stloc.s V_54 + .try + { + IL_05dd: ldc.r8 0.0 + IL_05e6: stloc.s V_56 + IL_05e8: ldc.i4.0 + IL_05e9: stloc.s V_57 + IL_05eb: br.s IL_0606 + + IL_05ed: ldloc.s V_56 + IL_05ef: ldloc.s V_49 + IL_05f1: ldloc.s V_54 + IL_05f3: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1>::get_Current() + IL_05f8: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::Invoke(!0) + IL_05fd: add + IL_05fe: stloc.s V_56 + IL_0600: ldloc.s V_57 + IL_0602: ldc.i4.1 + IL_0603: add + IL_0604: stloc.s V_57 + IL_0606: ldloc.s V_54 + IL_0608: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_060d: brtrue.s IL_05ed + + IL_060f: ldloc.s V_57 + IL_0611: brtrue.s IL_0622 + + IL_0613: ldstr "source" + IL_0618: stloc.s V_58 + IL_061a: ldloc.s V_58 + IL_061c: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_0621: throw + + IL_0622: nop + IL_0623: ldloc.s V_56 + IL_0625: stloc.s V_59 + IL_0627: ldloc.s V_57 + IL_0629: stloc.s V_60 + IL_062b: ldloc.s V_59 + IL_062d: ldloc.s V_60 + IL_062f: conv.r8 + IL_0630: div + IL_0631: stloc.s V_55 + IL_0633: leave.s IL_064b + + } + finally + { + IL_0635: ldloc.s V_54 + IL_0637: isinst [runtime]System.IDisposable + IL_063c: stloc.s V_61 + IL_063e: ldloc.s V_61 + IL_0640: brfalse.s IL_064a + + IL_0642: ldloc.s V_61 + IL_0644: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0649: endfinally + IL_064a: endfinally + } + IL_064b: ldloc.s V_55 + IL_064d: stsfld float64 assembly::averageLength@103 + IL_0652: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0657: stloc.s V_63 + IL_0659: ldloc.s V_63 + IL_065b: ldloc.s V_63 + IL_065d: ldloc.s V_63 + IL_065f: ldloc.s V_63 + IL_0661: ldloc.s V_63 + IL_0663: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0668: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_066d: ldloc.s V_63 + IL_066f: newobj instance void assembly/'Pipe #7 input at line 112@113'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0674: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0679: ldsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_067e: ldsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_0683: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0688: ldloc.s V_63 + IL_068a: newobj instance void assembly/'Pipe #7 input at line 112@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_068f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0694: ldsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_0699: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_069e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_06a3: stloc.s V_62 + IL_06a5: ldloc.s V_62 + IL_06a7: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_06ac: stsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_06b1: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property int32 uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 numSum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_numSum() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property int32 totalChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_totalChars() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories() + } + .property int32 minNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_minNum() + } + .property int32 shortestWord() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_shortestWord() + } + .property class [runtime]System.Tuple`2[] + categories2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories2() + } + .property class [runtime]System.Tuple`2>[] + categories3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories3() + } + .property int32 maxNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_maxNum() + } + .property int32 longestLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_longestLength() + } + .property class [runtime]System.Tuple`2[] + categories4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories4() + } + .property class [runtime]System.Tuple`2>[] + categories5() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories5() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property float64 averageNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageNum() + } + .property float64 averageLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageLength() + } + .property class [runtime]System.Tuple`2[] + categories6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories6() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..c1f91cfe16e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.release.bsl @@ -0,0 +1,7081 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname numSum@21 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/numSum@21::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/numSum@21::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/numSum@21::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/numSum@21::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/numSum@21::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/numSum@21::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/numSum@21::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/numSum@21::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/numSum@21::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/numSum@21::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/numSum@21::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/numSum@21::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'numSum@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'numSum@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'numSum@22-1'::.ctor() + IL_0005: stsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname totalChars@30 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/totalChars@30::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/totalChars@30::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/totalChars@30::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/totalChars@30::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/totalChars@30::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/totalChars@30::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/totalChars@30::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/totalChars@30::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/totalChars@30::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/totalChars@30::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/totalChars@30::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/totalChars@30::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/totalChars@30::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'totalChars@31-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'totalChars@31-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'totalChars@31-1'::.ctor() + IL_0005: stsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname sum@42 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/sum@42::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/sum@42::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/sum@42::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/sum@42::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/sum@42::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/sum@42::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/sum@42::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/sum@42::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/sum@42::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/sum@42::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/sum@42::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'sum@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'sum@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'sum@43-1'::.ctor() + IL_0005: stsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 8 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/sum@42::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldloc.s V_6 + IL_002c: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stloc.s V_7 + .try + { + IL_0033: ldc.i4.0 + IL_0034: stloc.s V_9 + IL_0036: br.s IL_004b + + IL_0038: ldloc.s V_9 + IL_003a: ldloc.s V_5 + IL_003c: ldloc.s V_7 + IL_003e: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0043: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0048: add.ovf + IL_0049: stloc.s V_9 + IL_004b: ldloc.s V_7 + IL_004d: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0052: brtrue.s IL_0038 + + IL_0054: ldloc.s V_9 + IL_0056: stloc.s V_8 + IL_0058: leave.s IL_0070 + + } + finally + { + IL_005a: ldloc.s V_7 + IL_005c: isinst [runtime]System.IDisposable + IL_0061: stloc.s V_10 + IL_0063: ldloc.s V_10 + IL_0065: brfalse.s IL_006f + + IL_0067: ldloc.s V_10 + IL_0069: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_006e: endfinally + IL_006f: endfinally + } + IL_0070: ldloc.s V_8 + IL_0072: stloc.1 + IL_0073: ldarg.0 + IL_0074: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0079: ldloc.0 + IL_007a: ldloc.1 + IL_007b: newobj instance void class [runtime]System.Tuple`2,int32>::.ctor(!0, + !1) + IL_0080: tail. + IL_0082: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,int32>,object>(!!0) + IL_0087: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@45-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@45-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,int32> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,int32>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,int32>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@45-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname minNum@49 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/minNum@49::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/minNum@49::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/minNum@49::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/minNum@49::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/minNum@49::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/minNum@49::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/minNum@49::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/minNum@49::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/minNum@49::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/minNum@49::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/minNum@49::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/minNum@49::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'minNum@49-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'minNum@49-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'minNum@49-1'::.ctor() + IL_0005: stsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname shortestWord@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/shortestWord@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/shortestWord@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/shortestWord@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/shortestWord@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/shortestWord@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/shortestWord@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/shortestWord@52::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/shortestWord@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/shortestWord@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/shortestWord@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/shortestWord@52::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/shortestWord@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/shortestWord@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'shortestWord@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'shortestWord@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'shortestWord@52-1'::.ctor() + IL_0005: stsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@57' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname min@59 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/min@59::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/min@59::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/min@59::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/min@59::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/min@59::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/min@59::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/min@59::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/min@59::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/min@59::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/min@59::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/min@59::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/min@59::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/min@59::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/min@59::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/min@59::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'min@59-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'min@59-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'min@59-1'::.ctor() + IL_0005: stsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/min@59::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@60-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@60-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@60-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@66' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_000a: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'min@68-2' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname cheapestProducts@69 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/cheapestProducts@69::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/cheapestProducts@69::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/cheapestProducts@69::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/cheapestProducts@69::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/cheapestProducts@69::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/cheapestProducts@69::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/cheapestProducts@69::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/cheapestProducts@69::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'cheapestProducts@69-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal min + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal min) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: ldnull + IL_0004: ldftn valuetype [runtime]System.Decimal assembly/'min@68-2'::Invoke(class [Utils]Utils/Product) + IL_000a: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000f: call valuetype [runtime]System.Decimal [System.Core]System.Linq.Enumerable::Min(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0014: stloc.1 + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_001a: stloc.3 + IL_001b: ldloc.3 + IL_001c: ldloc.0 + IL_001d: ldnull + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_002a: ldloc.1 + IL_002b: newobj instance void assembly/'cheapestProducts@69-1'::.ctor(valuetype [runtime]System.Decimal) + IL_0030: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_003a: stloc.2 + IL_003b: ldarg.0 + IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_0041: ldloc.0 + IL_0042: ldloc.1 + IL_0043: ldloc.2 + IL_0044: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0049: tail. + IL_004b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_0050: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@70-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@70-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@70-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxNum@74 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/maxNum@74::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxNum@74::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/maxNum@74::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/maxNum@74::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/maxNum@74::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/maxNum@74::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/maxNum@74::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/maxNum@74::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxNum@74::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxNum@74::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxNum@74::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/maxNum@74::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxNum@74-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxNum@74-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxNum@74-1'::.ctor() + IL_0005: stsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname longestLength@77 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/longestLength@77::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/longestLength@77::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/longestLength@77::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/longestLength@77::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/longestLength@77::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/longestLength@77::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/longestLength@77::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/longestLength@77::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/longestLength@77::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/longestLength@77::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/longestLength@77::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/longestLength@77::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/longestLength@77::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'longestLength@77-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'longestLength@77-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'longestLength@77-1'::.ctor() + IL_0005: stsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensivePrice@84 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensivePrice@84::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensivePrice@84::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensivePrice@84::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensivePrice@84-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'mostExpensivePrice@84-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'mostExpensivePrice@84-1'::.ctor() + IL_0005: stsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@85-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@85-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@85-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxPrice@93 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxPrice@93::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/maxPrice@93::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/maxPrice@93::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/maxPrice@93::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/maxPrice@93::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxPrice@93::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxPrice@93::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxPrice@93::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/maxPrice@93::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxPrice@93-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxPrice@93-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxPrice@93-1'::.ctor() + IL_0005: stsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensiveProducts@94 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensiveProducts@94-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal maxPrice + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal maxPrice) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/maxPrice@93::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0025: stloc.3 + IL_0026: ldloc.3 + IL_0027: ldloc.0 + IL_0028: ldnull + IL_0029: ldc.i4.0 + IL_002a: ldnull + IL_002b: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0030: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: ldloc.1 + IL_0036: newobj instance void assembly/'mostExpensiveProducts@94-1'::.ctor(valuetype [runtime]System.Decimal) + IL_003b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0040: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0045: stloc.2 + IL_0046: ldarg.0 + IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_004c: ldloc.0 + IL_004d: ldloc.1 + IL_004e: ldloc.2 + IL_004f: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0054: tail. + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_005b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@95-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@95-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@95-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averageNum@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public float64 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + float64 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/averageNum@100::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld float64 assembly/averageNum@100::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (float64 V_0, + float64 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/averageNum@100::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/averageNum@100::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld float64 assembly/averageNum@100::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/averageNum@100::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/averageNum@100::pc + IL_008b: ldarg.0 + IL_008c: ldc.r8 0.0 + IL_0095: stfld float64 assembly/averageNum@100::current + IL_009a: ldc.i4.0 + IL_009b: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_007e + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averageNum@100::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averageNum@100::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averageNum@100::pc + IL_005d: ldarg.0 + IL_005e: ldc.r8 0.0 + IL_0067: stfld float64 assembly/averageNum@100::current + IL_006c: leave.s IL_0078 + + } + catch [runtime]System.Object + { + IL_006e: castclass [runtime]System.Exception + IL_0073: stloc.1 + IL_0074: ldloc.1 + IL_0075: stloc.0 + IL_0076: leave.s IL_0078 + + } + IL_0078: nop + IL_0079: br IL_0000 + + IL_007e: ldloc.0 + IL_007f: brfalse.s IL_0083 + + IL_0081: ldloc.0 + IL_0082: throw + + IL_0083: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance float64 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 assembly/averageNum@100::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.r8 0.0 + IL_000b: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageNum@100-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averageNum@100-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(float64 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageNum@100-1'::.ctor() + IL_0005: stsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit averageLength@105 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(string _arg1) cil managed + { + + .maxstack 7 + .locals init (string V_0, + float64 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance int32 [runtime]System.String::get_Length() + IL_0008: stloc.2 + IL_0009: ldloc.2 + IL_000a: conv.r8 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_0012: ldloc.0 + IL_0013: ldloc.1 + IL_0014: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0019: tail. + IL_001b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0020: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageLength@107-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> + { + .field static assembly initonly class assembly/'averageLength@107-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 5 + .locals init (string V_0, + float64 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageLength@107-1'::.ctor() + IL_0005: stsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@113' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averagePrice@115 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Core]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Core]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Core]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/averagePrice@115::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/averagePrice@115::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/averagePrice@115::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/averagePrice@115::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/averagePrice@115::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averagePrice@115::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averagePrice@115::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averagePrice@115::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Core]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/averagePrice@115::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averagePrice@115-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averagePrice@115-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averagePrice@115-1'::.ctor() + IL_0005: stsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + valuetype [runtime]System.Decimal V_8, + valuetype [runtime]System.Decimal V_9, + int32 V_10, + valuetype [runtime]System.Decimal V_11, + int32 V_12, + class [runtime]System.IDisposable V_13) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/averagePrice@115::.ctor(class [System.Core]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldloc.s V_6 + IL_002c: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_0031: brtrue.s IL_003e + + IL_0033: ldstr "source" + IL_0038: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_003d: throw + + IL_003e: nop + IL_003f: ldloc.s V_6 + IL_0041: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0046: stloc.s V_7 + .try + { + IL_0048: ldc.i4.0 + IL_0049: ldc.i4.0 + IL_004a: ldc.i4.0 + IL_004b: ldc.i4.0 + IL_004c: ldc.i4.0 + IL_004d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0052: stloc.s V_9 + IL_0054: ldc.i4.0 + IL_0055: stloc.s V_10 + IL_0057: br.s IL_0076 + + IL_0059: ldloc.s V_9 + IL_005b: ldloc.s V_5 + IL_005d: ldloc.s V_7 + IL_005f: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0064: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0069: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::op_Addition(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_006e: stloc.s V_9 + IL_0070: ldloc.s V_10 + IL_0072: ldc.i4.1 + IL_0073: add + IL_0074: stloc.s V_10 + IL_0076: ldloc.s V_7 + IL_0078: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_007d: brtrue.s IL_0059 + + IL_007f: ldloc.s V_10 + IL_0081: brtrue.s IL_008e + + IL_0083: ldstr "source" + IL_0088: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_008d: throw + + IL_008e: nop + IL_008f: ldloc.s V_9 + IL_0091: stloc.s V_11 + IL_0093: ldloc.s V_10 + IL_0095: stloc.s V_12 + IL_0097: ldloc.s V_11 + IL_0099: ldloc.s V_12 + IL_009b: call valuetype [netstandard]System.Decimal [netstandard]System.Convert::ToDecimal(int32) + IL_00a0: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::Divide(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00a5: stloc.s V_8 + IL_00a7: leave.s IL_00bf + + } + finally + { + IL_00a9: ldloc.s V_7 + IL_00ab: isinst [runtime]System.IDisposable + IL_00b0: stloc.s V_13 + IL_00b2: ldloc.s V_13 + IL_00b4: brfalse.s IL_00be + + IL_00b6: ldloc.s V_13 + IL_00b8: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_00bd: endfinally + IL_00be: endfinally + } + IL_00bf: ldloc.s V_8 + IL_00c1: stloc.1 + IL_00c2: ldarg.0 + IL_00c3: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_00c8: ldloc.0 + IL_00c9: ldloc.1 + IL_00ca: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_00cf: tail. + IL_00d1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_00d6: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@116-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@116-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@116-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 uniqueFactors@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 numSum@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 totalChars@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@35 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 minNum@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 shortestWord@52 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories2@55 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories3@64 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 maxNum@74 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 longestLength@77 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories4@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories5@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@99 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageNum@100 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageLength@103 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories6@111 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0005: ret + } + + .method public specialname static int32 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::uniqueFactors@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0005: ret + } + + .method public specialname static int32 get_numSum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::numSum@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0005: ret + } + + .method public specialname static int32 get_totalChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::totalChars@28 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0005: ret + } + + .method public specialname static int32 get_minNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::minNum@49 + IL_0005: ret + } + + .method public specialname static int32 get_shortestWord() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::shortestWord@52 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0005: ret + } + + .method public specialname static int32 get_maxNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::maxNum@74 + IL_0005: ret + } + + .method public specialname static int32 get_longestLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::longestLength@77 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories5() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_0005: ret + } + + .method public specialname static float64 get_averageNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageNum@100 + IL_0005: ret + } + + .method public specialname static float64 get_averageLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageLength@103 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_13, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_14, + class [runtime]System.Collections.Generic.IEnumerable`1 V_15, + class [runtime]System.Collections.Generic.IEnumerator`1 V_16, + int32 V_17, + int32 V_18, + class [runtime]System.IDisposable V_19, + class [runtime]System.Collections.Generic.IEnumerable`1> V_20, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, + class [runtime]System.Collections.Generic.IEnumerable`1> V_22, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_24, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, + class [runtime]System.Collections.Generic.IEnumerable`1> V_26, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_27, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_28, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_29, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_30, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_31, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_32, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_33, + class [runtime]System.Collections.Generic.IEnumerable`1 V_34, + class [runtime]System.Collections.Generic.IEnumerator`1 V_35, + float64 V_36, + float64 V_37, + int32 V_38, + float64 V_39, + int32 V_40, + class [runtime]System.IDisposable V_41, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_42, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_43, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> V_44, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> V_45, + class [runtime]System.Collections.Generic.IEnumerable`1> V_46, + class [runtime]System.Collections.Generic.IEnumerator`1> V_47, + float64 V_48, + float64 V_49, + int32 V_50, + float64 V_51, + int32 V_52, + class [runtime]System.IDisposable V_53, + class [runtime]System.Collections.Generic.IEnumerable`1> V_54, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_55) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld int32 assembly::uniqueFactors@10 + IL_0052: ldc.i4.5 + IL_0053: ldc.i4.4 + IL_0054: ldc.i4.1 + IL_0055: ldc.i4.3 + IL_0056: ldc.i4.s 9 + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.6 + IL_005a: ldc.i4.7 + IL_005b: ldc.i4.2 + IL_005c: ldc.i4.0 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0071: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0080: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0085: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0094: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0099: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009e: stloc.2 + IL_009f: ldloc.2 + IL_00a0: stloc.3 + IL_00a1: ldnull + IL_00a2: ldc.i4.0 + IL_00a3: ldc.i4.0 + IL_00a4: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00a9: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ae: stloc.s V_4 + IL_00b0: ldsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_00b5: stloc.s V_5 + IL_00b7: ldloc.s V_4 + IL_00b9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00be: stloc.s V_6 + IL_00c0: ldloc.s V_6 + IL_00c2: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_00c7: stloc.s V_7 + .try + { + IL_00c9: ldc.i4.0 + IL_00ca: stloc.s V_9 + IL_00cc: br.s IL_00e1 + + IL_00ce: ldloc.s V_9 + IL_00d0: ldloc.s V_5 + IL_00d2: ldloc.s V_7 + IL_00d4: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_00d9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_00de: add.ovf + IL_00df: stloc.s V_9 + IL_00e1: ldloc.s V_7 + IL_00e3: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_00e8: brtrue.s IL_00ce + + IL_00ea: ldloc.s V_9 + IL_00ec: stloc.s V_8 + IL_00ee: leave.s IL_0106 + + } + finally + { + IL_00f0: ldloc.s V_7 + IL_00f2: isinst [runtime]System.IDisposable + IL_00f7: stloc.s V_10 + IL_00f9: ldloc.s V_10 + IL_00fb: brfalse.s IL_0105 + + IL_00fd: ldloc.s V_10 + IL_00ff: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0104: endfinally + IL_0105: endfinally + } + IL_0106: ldloc.s V_8 + IL_0108: stsfld int32 assembly::numSum@19 + IL_010d: ldstr "cherry" + IL_0112: ldstr "apple" + IL_0117: ldstr "blueberry" + IL_011c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0121: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0126: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0130: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0135: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_013a: stloc.s V_11 + IL_013c: ldloc.s V_11 + IL_013e: stloc.s V_12 + IL_0140: ldnull + IL_0141: ldc.i4.0 + IL_0142: ldnull + IL_0143: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0148: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_014d: stloc.s V_13 + IL_014f: ldsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_0154: stloc.s V_14 + IL_0156: ldloc.s V_13 + IL_0158: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_015d: stloc.s V_15 + IL_015f: ldloc.s V_15 + IL_0161: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0166: stloc.s V_16 + .try + { + IL_0168: ldc.i4.0 + IL_0169: stloc.s V_18 + IL_016b: br.s IL_0180 + + IL_016d: ldloc.s V_18 + IL_016f: ldloc.s V_14 + IL_0171: ldloc.s V_16 + IL_0173: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0178: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_017d: add.ovf + IL_017e: stloc.s V_18 + IL_0180: ldloc.s V_16 + IL_0182: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0187: brtrue.s IL_016d + + IL_0189: ldloc.s V_18 + IL_018b: stloc.s V_17 + IL_018d: leave.s IL_01a5 + + } + finally + { + IL_018f: ldloc.s V_16 + IL_0191: isinst [runtime]System.IDisposable + IL_0196: stloc.s V_19 + IL_0198: ldloc.s V_19 + IL_019a: brfalse.s IL_01a4 + + IL_019c: ldloc.s V_19 + IL_019e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_01a3: endfinally + IL_01a4: endfinally + } + IL_01a5: ldloc.s V_17 + IL_01a7: stsfld int32 assembly::totalChars@28 + IL_01ac: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01b1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_01b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01bb: stloc.s V_21 + IL_01bd: ldloc.s V_21 + IL_01bf: ldloc.s V_21 + IL_01c1: ldloc.s V_21 + IL_01c3: ldloc.s V_21 + IL_01c5: ldloc.s V_21 + IL_01c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d1: ldloc.s V_21 + IL_01d3: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01dd: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_01e2: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_01e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ec: ldloc.s V_21 + IL_01ee: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,int32>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f8: ldsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_01fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,int32>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0202: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0207: stloc.s V_20 + IL_0209: ldloc.s V_20 + IL_020b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0210: stsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0215: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021a: ldnull + IL_021b: ldc.i4.0 + IL_021c: ldc.i4.0 + IL_021d: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0222: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0227: ldsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_022c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0231: stsfld int32 assembly::minNum@49 + IL_0236: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_023b: ldnull + IL_023c: ldc.i4.0 + IL_023d: ldnull + IL_023e: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0243: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0248: ldsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_024d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0252: stsfld int32 assembly::shortestWord@52 + IL_0257: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_025c: stloc.s V_23 + IL_025e: ldloc.s V_23 + IL_0260: ldloc.s V_23 + IL_0262: ldloc.s V_23 + IL_0264: ldloc.s V_23 + IL_0266: ldloc.s V_23 + IL_0268: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_026d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0272: ldloc.s V_23 + IL_0274: newobj instance void assembly/'Pipe #3 input at line 56@57'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0279: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_027e: ldsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_0283: ldsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_0288: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_028d: ldloc.s V_23 + IL_028f: newobj instance void assembly/'Pipe #3 input at line 56@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0294: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0299: ldsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_029e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02a8: stloc.s V_22 + IL_02aa: ldloc.s V_22 + IL_02ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02b1: stsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_02b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02bb: stloc.s V_25 + IL_02bd: ldloc.s V_25 + IL_02bf: ldloc.s V_25 + IL_02c1: ldloc.s V_25 + IL_02c3: ldloc.s V_25 + IL_02c5: ldloc.s V_25 + IL_02c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_02cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02d1: ldloc.s V_25 + IL_02d3: newobj instance void assembly/'Pipe #4 input at line 65@66'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02dd: ldsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_02e2: ldsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_02e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02ec: ldloc.s V_25 + IL_02ee: newobj instance void assembly/'Pipe #4 input at line 65@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02f8: ldsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_02fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0302: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0307: stloc.s V_24 + IL_0309: ldloc.s V_24 + IL_030b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0310: stsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0315: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_031a: ldnull + IL_031b: ldc.i4.0 + IL_031c: ldc.i4.0 + IL_031d: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0322: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0327: ldsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_032c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0331: stsfld int32 assembly::maxNum@74 + IL_0336: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_033b: ldnull + IL_033c: ldc.i4.0 + IL_033d: ldnull + IL_033e: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0343: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0348: ldsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_034d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0352: stsfld int32 assembly::longestLength@77 + IL_0357: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_035c: stloc.s V_27 + IL_035e: ldloc.s V_27 + IL_0360: ldloc.s V_27 + IL_0362: ldloc.s V_27 + IL_0364: ldloc.s V_27 + IL_0366: ldloc.s V_27 + IL_0368: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_036d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0372: ldloc.s V_27 + IL_0374: newobj instance void assembly/'Pipe #5 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0379: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_037e: ldsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_0383: ldsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_0388: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_038d: ldloc.s V_27 + IL_038f: newobj instance void assembly/'Pipe #5 input at line 81@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0394: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0399: ldsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_039e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03a8: stloc.s V_26 + IL_03aa: ldloc.s V_26 + IL_03ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03b1: stsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_03b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03bb: stloc.s V_29 + IL_03bd: ldloc.s V_29 + IL_03bf: ldloc.s V_29 + IL_03c1: ldloc.s V_29 + IL_03c3: ldloc.s V_29 + IL_03c5: ldloc.s V_29 + IL_03c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_03cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03d1: ldloc.s V_29 + IL_03d3: newobj instance void assembly/'Pipe #6 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03dd: ldsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_03e2: ldsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_03e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03ec: ldloc.s V_29 + IL_03ee: newobj instance void assembly/'Pipe #6 input at line 90@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03f8: ldsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_03fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0402: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0407: stloc.s V_28 + IL_0409: ldloc.s V_28 + IL_040b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0410: stsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0415: ldc.r8 5.0999999999999996 + IL_041e: ldc.r8 4.0999999999999996 + IL_0427: ldc.r8 1.1000000000000001 + IL_0430: ldc.r8 3.1000000000000001 + IL_0439: ldc.r8 9.0999999999999996 + IL_0442: ldc.r8 8.0999999999999996 + IL_044b: ldc.r8 6.0999999999999996 + IL_0454: ldc.r8 7.0999999999999996 + IL_045d: ldc.r8 2.1000000000000001 + IL_0466: ldc.r8 0.10000000000000001 + IL_046f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0474: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0479: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_047e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0483: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0488: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_048d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0492: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0497: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_049c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_04ab: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_04b0: stloc.s V_30 + IL_04b2: ldloc.s V_30 + IL_04b4: stloc.s V_31 + IL_04b6: ldnull + IL_04b7: ldc.i4.0 + IL_04b8: ldc.r8 0.0 + IL_04c1: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_04c6: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_04cb: stloc.s V_32 + IL_04cd: ldsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_04d2: stloc.s V_33 + IL_04d4: ldloc.s V_32 + IL_04d6: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_04db: stloc.s V_34 + IL_04dd: ldloc.s V_34 + IL_04df: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_04e4: brtrue.s IL_04f1 + + IL_04e6: ldstr "source" + IL_04eb: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_04f0: throw + + IL_04f1: nop + IL_04f2: ldloc.s V_34 + IL_04f4: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_04f9: stloc.s V_35 + .try + { + IL_04fb: ldc.r8 0.0 + IL_0504: stloc.s V_37 + IL_0506: ldc.i4.0 + IL_0507: stloc.s V_38 + IL_0509: br.s IL_0524 + + IL_050b: ldloc.s V_37 + IL_050d: ldloc.s V_33 + IL_050f: ldloc.s V_35 + IL_0511: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0516: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_051b: add + IL_051c: stloc.s V_37 + IL_051e: ldloc.s V_38 + IL_0520: ldc.i4.1 + IL_0521: add + IL_0522: stloc.s V_38 + IL_0524: ldloc.s V_35 + IL_0526: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_052b: brtrue.s IL_050b + + IL_052d: ldloc.s V_38 + IL_052f: brtrue.s IL_053c + + IL_0531: ldstr "source" + IL_0536: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_053b: throw + + IL_053c: nop + IL_053d: ldloc.s V_37 + IL_053f: stloc.s V_39 + IL_0541: ldloc.s V_38 + IL_0543: stloc.s V_40 + IL_0545: ldloc.s V_39 + IL_0547: ldloc.s V_40 + IL_0549: conv.r8 + IL_054a: div + IL_054b: stloc.s V_36 + IL_054d: leave.s IL_0565 + + } + finally + { + IL_054f: ldloc.s V_35 + IL_0551: isinst [runtime]System.IDisposable + IL_0556: stloc.s V_41 + IL_0558: ldloc.s V_41 + IL_055a: brfalse.s IL_0564 + + IL_055c: ldloc.s V_41 + IL_055e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0563: endfinally + IL_0564: endfinally + } + IL_0565: ldloc.s V_36 + IL_0567: stsfld float64 assembly::averageNum@100 + IL_056c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0571: stloc.s V_42 + IL_0573: ldloc.s V_42 + IL_0575: stloc.s V_43 + IL_0577: ldloc.s V_42 + IL_0579: ldloc.s V_42 + IL_057b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0580: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0585: ldloc.s V_42 + IL_0587: newobj instance void assembly/averageLength@105::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_058c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0591: stloc.s V_44 + IL_0593: ldsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_0598: stloc.s V_45 + IL_059a: ldloc.s V_44 + IL_059c: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_05a1: stloc.s V_46 + IL_05a3: ldloc.s V_46 + IL_05a5: box class [runtime]System.Collections.Generic.IEnumerable`1> + IL_05aa: brtrue.s IL_05b7 + + IL_05ac: ldstr "source" + IL_05b1: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_05b6: throw + + IL_05b7: nop + IL_05b8: ldloc.s V_46 + IL_05ba: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1>::GetEnumerator() + IL_05bf: stloc.s V_47 + .try + { + IL_05c1: ldc.r8 0.0 + IL_05ca: stloc.s V_49 + IL_05cc: ldc.i4.0 + IL_05cd: stloc.s V_50 + IL_05cf: br.s IL_05ea + + IL_05d1: ldloc.s V_49 + IL_05d3: ldloc.s V_45 + IL_05d5: ldloc.s V_47 + IL_05d7: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1>::get_Current() + IL_05dc: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::Invoke(!0) + IL_05e1: add + IL_05e2: stloc.s V_49 + IL_05e4: ldloc.s V_50 + IL_05e6: ldc.i4.1 + IL_05e7: add + IL_05e8: stloc.s V_50 + IL_05ea: ldloc.s V_47 + IL_05ec: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_05f1: brtrue.s IL_05d1 + + IL_05f3: ldloc.s V_50 + IL_05f5: brtrue.s IL_0602 + + IL_05f7: ldstr "source" + IL_05fc: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_0601: throw + + IL_0602: nop + IL_0603: ldloc.s V_49 + IL_0605: stloc.s V_51 + IL_0607: ldloc.s V_50 + IL_0609: stloc.s V_52 + IL_060b: ldloc.s V_51 + IL_060d: ldloc.s V_52 + IL_060f: conv.r8 + IL_0610: div + IL_0611: stloc.s V_48 + IL_0613: leave.s IL_062b + + } + finally + { + IL_0615: ldloc.s V_47 + IL_0617: isinst [runtime]System.IDisposable + IL_061c: stloc.s V_53 + IL_061e: ldloc.s V_53 + IL_0620: brfalse.s IL_062a + + IL_0622: ldloc.s V_53 + IL_0624: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0629: endfinally + IL_062a: endfinally + } + IL_062b: ldloc.s V_48 + IL_062d: stsfld float64 assembly::averageLength@103 + IL_0632: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0637: stloc.s V_55 + IL_0639: ldloc.s V_55 + IL_063b: ldloc.s V_55 + IL_063d: ldloc.s V_55 + IL_063f: ldloc.s V_55 + IL_0641: ldloc.s V_55 + IL_0643: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0648: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_064d: ldloc.s V_55 + IL_064f: newobj instance void assembly/'Pipe #7 input at line 112@113'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0654: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0659: ldsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_065e: ldsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_0663: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0668: ldloc.s V_55 + IL_066a: newobj instance void assembly/'Pipe #7 input at line 112@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_066f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0674: ldsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_0679: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_067e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0683: stloc.s V_54 + IL_0685: ldloc.s V_54 + IL_0687: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_068c: stsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_0691: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property int32 uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 numSum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_numSum() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property int32 totalChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_totalChars() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories() + } + .property int32 minNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_minNum() + } + .property int32 shortestWord() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_shortestWord() + } + .property class [runtime]System.Tuple`2[] + categories2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories2() + } + .property class [runtime]System.Tuple`2>[] + categories3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories3() + } + .property int32 maxNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_maxNum() + } + .property int32 longestLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_longestLength() + } + .property class [runtime]System.Tuple`2[] + categories4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories4() + } + .property class [runtime]System.Tuple`2>[] + categories5() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories5() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property float64 averageNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageNum() + } + .property float64 averageLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageLength() + } + .property class [runtime]System.Tuple`2[] + categories6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories6() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..854f1bc7695 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.debug.bsl @@ -0,0 +1,7117 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname numSum@21 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/numSum@21::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/numSum@21::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/numSum@21::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/numSum@21::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/numSum@21::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/numSum@21::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/numSum@21::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/numSum@21::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/numSum@21::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/numSum@21::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/numSum@21::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/numSum@21::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'numSum@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'numSum@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'numSum@22-1'::.ctor() + IL_0005: stsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname totalChars@30 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/totalChars@30::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/totalChars@30::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/totalChars@30::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/totalChars@30::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/totalChars@30::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/totalChars@30::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/totalChars@30::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/totalChars@30::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/totalChars@30::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/totalChars@30::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/totalChars@30::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/totalChars@30::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/totalChars@30::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'totalChars@31-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'totalChars@31-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'totalChars@31-1'::.ctor() + IL_0005: stsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname sum@42 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/sum@42::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/sum@42::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/sum@42::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/sum@42::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/sum@42::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/sum@42::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/sum@42::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/sum@42::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/sum@42::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/sum@42::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/sum@42::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'sum@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'sum@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'sum@43-1'::.ctor() + IL_0005: stsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 8 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/sum@42::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldloc.s V_6 + IL_002c: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stloc.s V_7 + .try + { + IL_0033: ldc.i4.0 + IL_0034: stloc.s V_9 + IL_0036: br.s IL_004b + + IL_0038: ldloc.s V_9 + IL_003a: ldloc.s V_5 + IL_003c: ldloc.s V_7 + IL_003e: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0043: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0048: add.ovf + IL_0049: stloc.s V_9 + IL_004b: ldloc.s V_7 + IL_004d: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0052: brtrue.s IL_0038 + + IL_0054: ldloc.s V_9 + IL_0056: stloc.s V_8 + IL_0058: leave.s IL_0070 + + } + finally + { + IL_005a: ldloc.s V_7 + IL_005c: isinst [runtime]System.IDisposable + IL_0061: stloc.s V_10 + IL_0063: ldloc.s V_10 + IL_0065: brfalse.s IL_006f + + IL_0067: ldloc.s V_10 + IL_0069: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_006e: endfinally + IL_006f: endfinally + } + IL_0070: ldloc.s V_8 + IL_0072: stloc.1 + IL_0073: ldarg.0 + IL_0074: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0079: ldloc.0 + IL_007a: ldloc.1 + IL_007b: newobj instance void class [runtime]System.Tuple`2,int32>::.ctor(!0, + !1) + IL_0080: tail. + IL_0082: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,int32>,object>(!!0) + IL_0087: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@45-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@45-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,int32> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,int32>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,int32>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@45-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname minNum@49 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/minNum@49::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/minNum@49::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/minNum@49::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/minNum@49::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/minNum@49::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/minNum@49::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/minNum@49::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/minNum@49::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/minNum@49::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/minNum@49::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/minNum@49::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/minNum@49::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'minNum@49-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'minNum@49-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'minNum@49-1'::.ctor() + IL_0005: stsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname shortestWord@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/shortestWord@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/shortestWord@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/shortestWord@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/shortestWord@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/shortestWord@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/shortestWord@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/shortestWord@52::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/shortestWord@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/shortestWord@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/shortestWord@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/shortestWord@52::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/shortestWord@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/shortestWord@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'shortestWord@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'shortestWord@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'shortestWord@52-1'::.ctor() + IL_0005: stsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@57' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname min@59 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/min@59::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/min@59::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/min@59::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/min@59::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/min@59::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/min@59::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/min@59::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/min@59::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/min@59::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/min@59::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/min@59::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/min@59::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/min@59::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/min@59::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/min@59::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'min@59-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'min@59-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'min@59-1'::.ctor() + IL_0005: stsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/min@59::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@60-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@60-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@60-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@66' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_000a: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'min@68-2' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname cheapestProducts@69 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/cheapestProducts@69::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/cheapestProducts@69::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/cheapestProducts@69::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/cheapestProducts@69::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/cheapestProducts@69::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/cheapestProducts@69::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/cheapestProducts@69::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/cheapestProducts@69::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'cheapestProducts@69-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal min + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal min) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: ldnull + IL_0004: ldftn valuetype [runtime]System.Decimal assembly/'min@68-2'::Invoke(class [Utils]Utils/Product) + IL_000a: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000f: call valuetype [runtime]System.Decimal [System.Linq]System.Linq.Enumerable::Min(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0014: stloc.1 + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_001a: stloc.3 + IL_001b: ldloc.3 + IL_001c: ldloc.0 + IL_001d: ldnull + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_002a: ldloc.1 + IL_002b: newobj instance void assembly/'cheapestProducts@69-1'::.ctor(valuetype [runtime]System.Decimal) + IL_0030: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_003a: stloc.2 + IL_003b: ldarg.0 + IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_0041: ldloc.0 + IL_0042: ldloc.1 + IL_0043: ldloc.2 + IL_0044: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0049: tail. + IL_004b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_0050: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@70-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@70-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@70-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxNum@74 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/maxNum@74::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxNum@74::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/maxNum@74::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/maxNum@74::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/maxNum@74::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/maxNum@74::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/maxNum@74::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/maxNum@74::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxNum@74::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxNum@74::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxNum@74::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/maxNum@74::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxNum@74-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxNum@74-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxNum@74-1'::.ctor() + IL_0005: stsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname longestLength@77 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/longestLength@77::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/longestLength@77::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/longestLength@77::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/longestLength@77::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/longestLength@77::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/longestLength@77::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/longestLength@77::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/longestLength@77::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/longestLength@77::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/longestLength@77::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/longestLength@77::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/longestLength@77::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/longestLength@77::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'longestLength@77-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'longestLength@77-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'longestLength@77-1'::.ctor() + IL_0005: stsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensivePrice@84 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensivePrice@84::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensivePrice@84::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensivePrice@84::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensivePrice@84-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'mostExpensivePrice@84-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'mostExpensivePrice@84-1'::.ctor() + IL_0005: stsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@85-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@85-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@85-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxPrice@93 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxPrice@93::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/maxPrice@93::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/maxPrice@93::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/maxPrice@93::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/maxPrice@93::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxPrice@93::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxPrice@93::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxPrice@93::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/maxPrice@93::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxPrice@93-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxPrice@93-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxPrice@93-1'::.ctor() + IL_0005: stsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensiveProducts@94 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensiveProducts@94-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal maxPrice + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal maxPrice) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/maxPrice@93::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0025: stloc.3 + IL_0026: ldloc.3 + IL_0027: ldloc.0 + IL_0028: ldnull + IL_0029: ldc.i4.0 + IL_002a: ldnull + IL_002b: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0030: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: ldloc.1 + IL_0036: newobj instance void assembly/'mostExpensiveProducts@94-1'::.ctor(valuetype [runtime]System.Decimal) + IL_003b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0040: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0045: stloc.2 + IL_0046: ldarg.0 + IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_004c: ldloc.0 + IL_004d: ldloc.1 + IL_004e: ldloc.2 + IL_004f: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0054: tail. + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_005b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@95-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@95-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@95-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averageNum@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public float64 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + float64 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/averageNum@100::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld float64 assembly/averageNum@100::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (float64 V_0, + float64 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/averageNum@100::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/averageNum@100::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld float64 assembly/averageNum@100::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/averageNum@100::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/averageNum@100::pc + IL_008b: ldarg.0 + IL_008c: ldc.r8 0.0 + IL_0095: stfld float64 assembly/averageNum@100::current + IL_009a: ldc.i4.0 + IL_009b: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_007e + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averageNum@100::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averageNum@100::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averageNum@100::pc + IL_005d: ldarg.0 + IL_005e: ldc.r8 0.0 + IL_0067: stfld float64 assembly/averageNum@100::current + IL_006c: leave.s IL_0078 + + } + catch [runtime]System.Object + { + IL_006e: castclass [runtime]System.Exception + IL_0073: stloc.1 + IL_0074: ldloc.1 + IL_0075: stloc.0 + IL_0076: leave.s IL_0078 + + } + IL_0078: nop + IL_0079: br IL_0000 + + IL_007e: ldloc.0 + IL_007f: brfalse.s IL_0083 + + IL_0081: ldloc.0 + IL_0082: throw + + IL_0083: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance float64 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 assembly/averageNum@100::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.r8 0.0 + IL_000b: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageNum@100-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averageNum@100-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(float64 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageNum@100-1'::.ctor() + IL_0005: stsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit averageLength@105 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(string _arg1) cil managed + { + + .maxstack 7 + .locals init (string V_0, + float64 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance int32 [runtime]System.String::get_Length() + IL_0008: stloc.2 + IL_0009: ldloc.2 + IL_000a: conv.r8 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_0012: ldloc.0 + IL_0013: ldloc.1 + IL_0014: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0019: tail. + IL_001b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0020: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageLength@107-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> + { + .field static assembly initonly class assembly/'averageLength@107-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 5 + .locals init (string V_0, + float64 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageLength@107-1'::.ctor() + IL_0005: stsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@113' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averagePrice@115 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/averagePrice@115::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/averagePrice@115::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/averagePrice@115::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/averagePrice@115::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/averagePrice@115::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averagePrice@115::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averagePrice@115::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averagePrice@115::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/averagePrice@115::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averagePrice@115-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averagePrice@115-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averagePrice@115-1'::.ctor() + IL_0005: stsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + string V_7, + class [runtime]System.Collections.Generic.IEnumerable`1 V_8, + string V_9, + class [runtime]System.Collections.Generic.IEnumerator`1 V_10, + valuetype [runtime]System.Decimal V_11, + valuetype [runtime]System.Decimal V_12, + int32 V_13, + string V_14, + valuetype [runtime]System.Decimal V_15, + int32 V_16, + class [runtime]System.IDisposable V_17) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/averagePrice@115::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldstr "source" + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_6 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_8 + IL_0037: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_003c: brtrue.s IL_004a + + IL_003e: ldloc.s V_7 + IL_0040: stloc.s V_9 + IL_0042: ldloc.s V_9 + IL_0044: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_0049: throw + + IL_004a: nop + IL_004b: ldloc.s V_6 + IL_004d: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0052: stloc.s V_10 + .try + { + IL_0054: ldc.i4.0 + IL_0055: ldc.i4.0 + IL_0056: ldc.i4.0 + IL_0057: ldc.i4.0 + IL_0058: ldc.i4.0 + IL_0059: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_005e: stloc.s V_12 + IL_0060: ldc.i4.0 + IL_0061: stloc.s V_13 + IL_0063: br.s IL_0082 + + IL_0065: ldloc.s V_12 + IL_0067: ldloc.s V_5 + IL_0069: ldloc.s V_10 + IL_006b: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0070: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0075: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::op_Addition(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_007a: stloc.s V_12 + IL_007c: ldloc.s V_13 + IL_007e: ldc.i4.1 + IL_007f: add + IL_0080: stloc.s V_13 + IL_0082: ldloc.s V_10 + IL_0084: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0089: brtrue.s IL_0065 + + IL_008b: ldloc.s V_13 + IL_008d: brtrue.s IL_009e + + IL_008f: ldstr "source" + IL_0094: stloc.s V_14 + IL_0096: ldloc.s V_14 + IL_0098: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_009d: throw + + IL_009e: nop + IL_009f: ldloc.s V_12 + IL_00a1: stloc.s V_15 + IL_00a3: ldloc.s V_13 + IL_00a5: stloc.s V_16 + IL_00a7: ldloc.s V_15 + IL_00a9: ldloc.s V_16 + IL_00ab: call valuetype [netstandard]System.Decimal [netstandard]System.Convert::ToDecimal(int32) + IL_00b0: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::Divide(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00b5: stloc.s V_11 + IL_00b7: leave.s IL_00cf + + } + finally + { + IL_00b9: ldloc.s V_10 + IL_00bb: isinst [runtime]System.IDisposable + IL_00c0: stloc.s V_17 + IL_00c2: ldloc.s V_17 + IL_00c4: brfalse.s IL_00ce + + IL_00c6: ldloc.s V_17 + IL_00c8: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_00cd: endfinally + IL_00ce: endfinally + } + IL_00cf: ldloc.s V_11 + IL_00d1: stloc.1 + IL_00d2: ldarg.0 + IL_00d3: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_00d8: ldloc.0 + IL_00d9: ldloc.1 + IL_00da: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_00df: tail. + IL_00e1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_00e6: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@116-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@116-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@116-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 uniqueFactors@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 numSum@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 totalChars@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@35 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 minNum@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 shortestWord@52 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories2@55 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories3@64 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 maxNum@74 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 longestLength@77 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories4@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories5@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@99 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageNum@100 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageLength@103 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories6@111 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0005: ret + } + + .method public specialname static int32 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::uniqueFactors@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0005: ret + } + + .method public specialname static int32 get_numSum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::numSum@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0005: ret + } + + .method public specialname static int32 get_totalChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::totalChars@28 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0005: ret + } + + .method public specialname static int32 get_minNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::minNum@49 + IL_0005: ret + } + + .method public specialname static int32 get_shortestWord() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::shortestWord@52 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0005: ret + } + + .method public specialname static int32 get_maxNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::maxNum@74 + IL_0005: ret + } + + .method public specialname static int32 get_longestLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::longestLength@77 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories5() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_0005: ret + } + + .method public specialname static float64 get_averageNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageNum@100 + IL_0005: ret + } + + .method public specialname static float64 get_averageLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageLength@103 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_13, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_14, + class [runtime]System.Collections.Generic.IEnumerable`1 V_15, + class [runtime]System.Collections.Generic.IEnumerator`1 V_16, + int32 V_17, + int32 V_18, + class [runtime]System.IDisposable V_19, + class [runtime]System.Collections.Generic.IEnumerable`1> V_20, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, + class [runtime]System.Collections.Generic.IEnumerable`1> V_22, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_24, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, + class [runtime]System.Collections.Generic.IEnumerable`1> V_26, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_27, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_28, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_29, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_30, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_31, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_32, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_33, + class [runtime]System.Collections.Generic.IEnumerable`1 V_34, + string V_35, + class [runtime]System.Collections.Generic.IEnumerable`1 V_36, + string V_37, + class [runtime]System.Collections.Generic.IEnumerator`1 V_38, + float64 V_39, + float64 V_40, + int32 V_41, + string V_42, + float64 V_43, + int32 V_44, + class [runtime]System.IDisposable V_45, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_46, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_47, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> V_48, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> V_49, + class [runtime]System.Collections.Generic.IEnumerable`1> V_50, + string V_51, + class [runtime]System.Collections.Generic.IEnumerable`1> V_52, + string V_53, + class [runtime]System.Collections.Generic.IEnumerator`1> V_54, + float64 V_55, + float64 V_56, + int32 V_57, + string V_58, + float64 V_59, + int32 V_60, + class [runtime]System.IDisposable V_61, + class [runtime]System.Collections.Generic.IEnumerable`1> V_62, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_63) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld int32 assembly::uniqueFactors@10 + IL_0052: ldc.i4.5 + IL_0053: ldc.i4.4 + IL_0054: ldc.i4.1 + IL_0055: ldc.i4.3 + IL_0056: ldc.i4.s 9 + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.6 + IL_005a: ldc.i4.7 + IL_005b: ldc.i4.2 + IL_005c: ldc.i4.0 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0071: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0080: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0085: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0094: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0099: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009e: stloc.2 + IL_009f: ldloc.2 + IL_00a0: stloc.3 + IL_00a1: ldnull + IL_00a2: ldc.i4.0 + IL_00a3: ldc.i4.0 + IL_00a4: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00a9: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ae: stloc.s V_4 + IL_00b0: ldsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_00b5: stloc.s V_5 + IL_00b7: ldloc.s V_4 + IL_00b9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00be: stloc.s V_6 + IL_00c0: ldloc.s V_6 + IL_00c2: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_00c7: stloc.s V_7 + .try + { + IL_00c9: ldc.i4.0 + IL_00ca: stloc.s V_9 + IL_00cc: br.s IL_00e1 + + IL_00ce: ldloc.s V_9 + IL_00d0: ldloc.s V_5 + IL_00d2: ldloc.s V_7 + IL_00d4: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_00d9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_00de: add.ovf + IL_00df: stloc.s V_9 + IL_00e1: ldloc.s V_7 + IL_00e3: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_00e8: brtrue.s IL_00ce + + IL_00ea: ldloc.s V_9 + IL_00ec: stloc.s V_8 + IL_00ee: leave.s IL_0106 + + } + finally + { + IL_00f0: ldloc.s V_7 + IL_00f2: isinst [runtime]System.IDisposable + IL_00f7: stloc.s V_10 + IL_00f9: ldloc.s V_10 + IL_00fb: brfalse.s IL_0105 + + IL_00fd: ldloc.s V_10 + IL_00ff: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0104: endfinally + IL_0105: endfinally + } + IL_0106: ldloc.s V_8 + IL_0108: stsfld int32 assembly::numSum@19 + IL_010d: ldstr "cherry" + IL_0112: ldstr "apple" + IL_0117: ldstr "blueberry" + IL_011c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0121: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0126: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0130: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0135: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_013a: stloc.s V_11 + IL_013c: ldloc.s V_11 + IL_013e: stloc.s V_12 + IL_0140: ldnull + IL_0141: ldc.i4.0 + IL_0142: ldnull + IL_0143: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0148: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_014d: stloc.s V_13 + IL_014f: ldsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_0154: stloc.s V_14 + IL_0156: ldloc.s V_13 + IL_0158: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_015d: stloc.s V_15 + IL_015f: ldloc.s V_15 + IL_0161: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0166: stloc.s V_16 + .try + { + IL_0168: ldc.i4.0 + IL_0169: stloc.s V_18 + IL_016b: br.s IL_0180 + + IL_016d: ldloc.s V_18 + IL_016f: ldloc.s V_14 + IL_0171: ldloc.s V_16 + IL_0173: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0178: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_017d: add.ovf + IL_017e: stloc.s V_18 + IL_0180: ldloc.s V_16 + IL_0182: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0187: brtrue.s IL_016d + + IL_0189: ldloc.s V_18 + IL_018b: stloc.s V_17 + IL_018d: leave.s IL_01a5 + + } + finally + { + IL_018f: ldloc.s V_16 + IL_0191: isinst [runtime]System.IDisposable + IL_0196: stloc.s V_19 + IL_0198: ldloc.s V_19 + IL_019a: brfalse.s IL_01a4 + + IL_019c: ldloc.s V_19 + IL_019e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_01a3: endfinally + IL_01a4: endfinally + } + IL_01a5: ldloc.s V_17 + IL_01a7: stsfld int32 assembly::totalChars@28 + IL_01ac: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01b1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_01b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01bb: stloc.s V_21 + IL_01bd: ldloc.s V_21 + IL_01bf: ldloc.s V_21 + IL_01c1: ldloc.s V_21 + IL_01c3: ldloc.s V_21 + IL_01c5: ldloc.s V_21 + IL_01c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d1: ldloc.s V_21 + IL_01d3: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01dd: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_01e2: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_01e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ec: ldloc.s V_21 + IL_01ee: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,int32>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f8: ldsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_01fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,int32>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0202: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0207: stloc.s V_20 + IL_0209: ldloc.s V_20 + IL_020b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0210: stsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0215: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021a: ldnull + IL_021b: ldc.i4.0 + IL_021c: ldc.i4.0 + IL_021d: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0222: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0227: ldsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_022c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0231: stsfld int32 assembly::minNum@49 + IL_0236: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_023b: ldnull + IL_023c: ldc.i4.0 + IL_023d: ldnull + IL_023e: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0243: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0248: ldsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_024d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0252: stsfld int32 assembly::shortestWord@52 + IL_0257: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_025c: stloc.s V_23 + IL_025e: ldloc.s V_23 + IL_0260: ldloc.s V_23 + IL_0262: ldloc.s V_23 + IL_0264: ldloc.s V_23 + IL_0266: ldloc.s V_23 + IL_0268: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_026d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0272: ldloc.s V_23 + IL_0274: newobj instance void assembly/'Pipe #3 input at line 56@57'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0279: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_027e: ldsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_0283: ldsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_0288: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_028d: ldloc.s V_23 + IL_028f: newobj instance void assembly/'Pipe #3 input at line 56@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0294: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0299: ldsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_029e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02a8: stloc.s V_22 + IL_02aa: ldloc.s V_22 + IL_02ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02b1: stsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_02b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02bb: stloc.s V_25 + IL_02bd: ldloc.s V_25 + IL_02bf: ldloc.s V_25 + IL_02c1: ldloc.s V_25 + IL_02c3: ldloc.s V_25 + IL_02c5: ldloc.s V_25 + IL_02c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_02cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02d1: ldloc.s V_25 + IL_02d3: newobj instance void assembly/'Pipe #4 input at line 65@66'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02dd: ldsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_02e2: ldsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_02e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02ec: ldloc.s V_25 + IL_02ee: newobj instance void assembly/'Pipe #4 input at line 65@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02f8: ldsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_02fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0302: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0307: stloc.s V_24 + IL_0309: ldloc.s V_24 + IL_030b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0310: stsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0315: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_031a: ldnull + IL_031b: ldc.i4.0 + IL_031c: ldc.i4.0 + IL_031d: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0322: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0327: ldsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_032c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0331: stsfld int32 assembly::maxNum@74 + IL_0336: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_033b: ldnull + IL_033c: ldc.i4.0 + IL_033d: ldnull + IL_033e: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0343: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0348: ldsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_034d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0352: stsfld int32 assembly::longestLength@77 + IL_0357: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_035c: stloc.s V_27 + IL_035e: ldloc.s V_27 + IL_0360: ldloc.s V_27 + IL_0362: ldloc.s V_27 + IL_0364: ldloc.s V_27 + IL_0366: ldloc.s V_27 + IL_0368: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_036d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0372: ldloc.s V_27 + IL_0374: newobj instance void assembly/'Pipe #5 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0379: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_037e: ldsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_0383: ldsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_0388: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_038d: ldloc.s V_27 + IL_038f: newobj instance void assembly/'Pipe #5 input at line 81@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0394: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0399: ldsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_039e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03a8: stloc.s V_26 + IL_03aa: ldloc.s V_26 + IL_03ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03b1: stsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_03b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03bb: stloc.s V_29 + IL_03bd: ldloc.s V_29 + IL_03bf: ldloc.s V_29 + IL_03c1: ldloc.s V_29 + IL_03c3: ldloc.s V_29 + IL_03c5: ldloc.s V_29 + IL_03c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_03cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03d1: ldloc.s V_29 + IL_03d3: newobj instance void assembly/'Pipe #6 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03dd: ldsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_03e2: ldsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_03e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03ec: ldloc.s V_29 + IL_03ee: newobj instance void assembly/'Pipe #6 input at line 90@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03f8: ldsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_03fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0402: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0407: stloc.s V_28 + IL_0409: ldloc.s V_28 + IL_040b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0410: stsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0415: ldc.r8 5.0999999999999996 + IL_041e: ldc.r8 4.0999999999999996 + IL_0427: ldc.r8 1.1000000000000001 + IL_0430: ldc.r8 3.1000000000000001 + IL_0439: ldc.r8 9.0999999999999996 + IL_0442: ldc.r8 8.0999999999999996 + IL_044b: ldc.r8 6.0999999999999996 + IL_0454: ldc.r8 7.0999999999999996 + IL_045d: ldc.r8 2.1000000000000001 + IL_0466: ldc.r8 0.10000000000000001 + IL_046f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0474: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0479: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_047e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0483: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0488: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_048d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0492: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0497: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_049c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_04ab: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_04b0: stloc.s V_30 + IL_04b2: ldloc.s V_30 + IL_04b4: stloc.s V_31 + IL_04b6: ldnull + IL_04b7: ldc.i4.0 + IL_04b8: ldc.r8 0.0 + IL_04c1: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_04c6: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_04cb: stloc.s V_32 + IL_04cd: ldsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_04d2: stloc.s V_33 + IL_04d4: ldloc.s V_32 + IL_04d6: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_04db: stloc.s V_34 + IL_04dd: ldstr "source" + IL_04e2: stloc.s V_35 + IL_04e4: ldloc.s V_34 + IL_04e6: stloc.s V_36 + IL_04e8: ldloc.s V_36 + IL_04ea: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_04ef: brtrue.s IL_04fd + + IL_04f1: ldloc.s V_35 + IL_04f3: stloc.s V_37 + IL_04f5: ldloc.s V_37 + IL_04f7: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_04fc: throw + + IL_04fd: nop + IL_04fe: ldloc.s V_34 + IL_0500: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0505: stloc.s V_38 + .try + { + IL_0507: ldc.r8 0.0 + IL_0510: stloc.s V_40 + IL_0512: ldc.i4.0 + IL_0513: stloc.s V_41 + IL_0515: br.s IL_0530 + + IL_0517: ldloc.s V_40 + IL_0519: ldloc.s V_33 + IL_051b: ldloc.s V_38 + IL_051d: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0522: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0527: add + IL_0528: stloc.s V_40 + IL_052a: ldloc.s V_41 + IL_052c: ldc.i4.1 + IL_052d: add + IL_052e: stloc.s V_41 + IL_0530: ldloc.s V_38 + IL_0532: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0537: brtrue.s IL_0517 + + IL_0539: ldloc.s V_41 + IL_053b: brtrue.s IL_054c + + IL_053d: ldstr "source" + IL_0542: stloc.s V_42 + IL_0544: ldloc.s V_42 + IL_0546: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_054b: throw + + IL_054c: nop + IL_054d: ldloc.s V_40 + IL_054f: stloc.s V_43 + IL_0551: ldloc.s V_41 + IL_0553: stloc.s V_44 + IL_0555: ldloc.s V_43 + IL_0557: ldloc.s V_44 + IL_0559: conv.r8 + IL_055a: div + IL_055b: stloc.s V_39 + IL_055d: leave.s IL_0575 + + } + finally + { + IL_055f: ldloc.s V_38 + IL_0561: isinst [runtime]System.IDisposable + IL_0566: stloc.s V_45 + IL_0568: ldloc.s V_45 + IL_056a: brfalse.s IL_0574 + + IL_056c: ldloc.s V_45 + IL_056e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0573: endfinally + IL_0574: endfinally + } + IL_0575: ldloc.s V_39 + IL_0577: stsfld float64 assembly::averageNum@100 + IL_057c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0581: stloc.s V_46 + IL_0583: ldloc.s V_46 + IL_0585: stloc.s V_47 + IL_0587: ldloc.s V_46 + IL_0589: ldloc.s V_46 + IL_058b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0590: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0595: ldloc.s V_46 + IL_0597: newobj instance void assembly/averageLength@105::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_059c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_05a1: stloc.s V_48 + IL_05a3: ldsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_05a8: stloc.s V_49 + IL_05aa: ldloc.s V_48 + IL_05ac: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_05b1: stloc.s V_50 + IL_05b3: ldstr "source" + IL_05b8: stloc.s V_51 + IL_05ba: ldloc.s V_50 + IL_05bc: stloc.s V_52 + IL_05be: ldloc.s V_52 + IL_05c0: box class [runtime]System.Collections.Generic.IEnumerable`1> + IL_05c5: brtrue.s IL_05d3 + + IL_05c7: ldloc.s V_51 + IL_05c9: stloc.s V_53 + IL_05cb: ldloc.s V_53 + IL_05cd: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_05d2: throw + + IL_05d3: nop + IL_05d4: ldloc.s V_50 + IL_05d6: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1>::GetEnumerator() + IL_05db: stloc.s V_54 + .try + { + IL_05dd: ldc.r8 0.0 + IL_05e6: stloc.s V_56 + IL_05e8: ldc.i4.0 + IL_05e9: stloc.s V_57 + IL_05eb: br.s IL_0606 + + IL_05ed: ldloc.s V_56 + IL_05ef: ldloc.s V_49 + IL_05f1: ldloc.s V_54 + IL_05f3: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1>::get_Current() + IL_05f8: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::Invoke(!0) + IL_05fd: add + IL_05fe: stloc.s V_56 + IL_0600: ldloc.s V_57 + IL_0602: ldc.i4.1 + IL_0603: add + IL_0604: stloc.s V_57 + IL_0606: ldloc.s V_54 + IL_0608: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_060d: brtrue.s IL_05ed + + IL_060f: ldloc.s V_57 + IL_0611: brtrue.s IL_0622 + + IL_0613: ldstr "source" + IL_0618: stloc.s V_58 + IL_061a: ldloc.s V_58 + IL_061c: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_0621: throw + + IL_0622: nop + IL_0623: ldloc.s V_56 + IL_0625: stloc.s V_59 + IL_0627: ldloc.s V_57 + IL_0629: stloc.s V_60 + IL_062b: ldloc.s V_59 + IL_062d: ldloc.s V_60 + IL_062f: conv.r8 + IL_0630: div + IL_0631: stloc.s V_55 + IL_0633: leave.s IL_064b + + } + finally + { + IL_0635: ldloc.s V_54 + IL_0637: isinst [runtime]System.IDisposable + IL_063c: stloc.s V_61 + IL_063e: ldloc.s V_61 + IL_0640: brfalse.s IL_064a + + IL_0642: ldloc.s V_61 + IL_0644: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0649: endfinally + IL_064a: endfinally + } + IL_064b: ldloc.s V_55 + IL_064d: stsfld float64 assembly::averageLength@103 + IL_0652: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0657: stloc.s V_63 + IL_0659: ldloc.s V_63 + IL_065b: ldloc.s V_63 + IL_065d: ldloc.s V_63 + IL_065f: ldloc.s V_63 + IL_0661: ldloc.s V_63 + IL_0663: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0668: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_066d: ldloc.s V_63 + IL_066f: newobj instance void assembly/'Pipe #7 input at line 112@113'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0674: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0679: ldsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_067e: ldsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_0683: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0688: ldloc.s V_63 + IL_068a: newobj instance void assembly/'Pipe #7 input at line 112@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_068f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0694: ldsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_0699: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_069e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_06a3: stloc.s V_62 + IL_06a5: ldloc.s V_62 + IL_06a7: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_06ac: stsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_06b1: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property int32 uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 numSum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_numSum() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property int32 totalChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_totalChars() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories() + } + .property int32 minNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_minNum() + } + .property int32 shortestWord() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_shortestWord() + } + .property class [runtime]System.Tuple`2[] + categories2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories2() + } + .property class [runtime]System.Tuple`2>[] + categories3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories3() + } + .property int32 maxNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_maxNum() + } + .property int32 longestLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_longestLength() + } + .property class [runtime]System.Tuple`2[] + categories4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories4() + } + .property class [runtime]System.Tuple`2>[] + categories5() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories5() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property float64 averageNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageNum() + } + .property float64 averageLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageLength() + } + .property class [runtime]System.Tuple`2[] + categories6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories6() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..b2385e700da --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.release.bsl @@ -0,0 +1,7081 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname numSum@21 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/numSum@21::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/numSum@21::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/numSum@21::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/numSum@21::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/numSum@21::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/numSum@21::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/numSum@21::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/numSum@21::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/numSum@21::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/numSum@21::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/numSum@21::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/numSum@21::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/numSum@21::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/numSum@21::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'numSum@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'numSum@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'numSum@22-1'::.ctor() + IL_0005: stsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname totalChars@30 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/totalChars@30::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/totalChars@30::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/totalChars@30::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/totalChars@30::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/totalChars@30::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/totalChars@30::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/totalChars@30::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/totalChars@30::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/totalChars@30::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/totalChars@30::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/totalChars@30::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/totalChars@30::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/totalChars@30::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/totalChars@30::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/totalChars@30::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'totalChars@31-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'totalChars@31-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'totalChars@31-1'::.ctor() + IL_0005: stsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname sum@42 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/sum@42::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/sum@42::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/sum@42::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/sum@42::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/sum@42::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/sum@42::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/sum@42::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/sum@42::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/sum@42::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/sum@42::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/sum@42::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/sum@42::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/sum@42::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/sum@42::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/sum@42::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'sum@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'sum@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'sum@43-1'::.ctor() + IL_0005: stsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,int32>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 8 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/sum@42::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'sum@43-1' assembly/'sum@43-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldloc.s V_6 + IL_002c: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stloc.s V_7 + .try + { + IL_0033: ldc.i4.0 + IL_0034: stloc.s V_9 + IL_0036: br.s IL_004b + + IL_0038: ldloc.s V_9 + IL_003a: ldloc.s V_5 + IL_003c: ldloc.s V_7 + IL_003e: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0043: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0048: add.ovf + IL_0049: stloc.s V_9 + IL_004b: ldloc.s V_7 + IL_004d: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0052: brtrue.s IL_0038 + + IL_0054: ldloc.s V_9 + IL_0056: stloc.s V_8 + IL_0058: leave.s IL_0070 + + } + finally + { + IL_005a: ldloc.s V_7 + IL_005c: isinst [runtime]System.IDisposable + IL_0061: stloc.s V_10 + IL_0063: ldloc.s V_10 + IL_0065: brfalse.s IL_006f + + IL_0067: ldloc.s V_10 + IL_0069: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_006e: endfinally + IL_006f: endfinally + } + IL_0070: ldloc.s V_8 + IL_0072: stloc.1 + IL_0073: ldarg.0 + IL_0074: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0079: ldloc.0 + IL_007a: ldloc.1 + IL_007b: newobj instance void class [runtime]System.Tuple`2,int32>::.ctor(!0, + !1) + IL_0080: tail. + IL_0082: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,int32>,object>(!!0) + IL_0087: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@45-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@45-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,int32>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,int32> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,int32>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,int32>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@45-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname minNum@49 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/minNum@49::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/minNum@49::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/minNum@49::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/minNum@49::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/minNum@49::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/minNum@49::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/minNum@49::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/minNum@49::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/minNum@49::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/minNum@49::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/minNum@49::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/minNum@49::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/minNum@49::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/minNum@49::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'minNum@49-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'minNum@49-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'minNum@49-1'::.ctor() + IL_0005: stsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname shortestWord@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/shortestWord@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/shortestWord@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/shortestWord@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/shortestWord@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/shortestWord@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/shortestWord@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/shortestWord@52::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/shortestWord@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/shortestWord@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/shortestWord@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/shortestWord@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/shortestWord@52::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/shortestWord@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/shortestWord@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/shortestWord@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'shortestWord@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'shortestWord@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'shortestWord@52-1'::.ctor() + IL_0005: stsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@57' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@57'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@58-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@58-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname min@59 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/min@59::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/min@59::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/min@59::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/min@59::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/min@59::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/min@59::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/min@59::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/min@59::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/min@59::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/min@59::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/min@59::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/min@59::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/min@59::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/min@59::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/min@59::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/min@59::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/min@59::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/min@59::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'min@59-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'min@59-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'min@59-1'::.ctor() + IL_0005: stsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@58-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/min@59::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'min@59-1' assembly/'min@59-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 56@58-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 56@60-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 56@60-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 56@60-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@66' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@66'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@67-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@67-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_000a: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'min@68-2' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname cheapestProducts@69 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/cheapestProducts@69::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/cheapestProducts@69::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/cheapestProducts@69::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/cheapestProducts@69::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/cheapestProducts@69::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/cheapestProducts@69::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/cheapestProducts@69::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/cheapestProducts@69::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/cheapestProducts@69::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/cheapestProducts@69::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/cheapestProducts@69::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/cheapestProducts@69::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'cheapestProducts@69-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal min + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal min) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'cheapestProducts@69-1'::min + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@67-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: ldnull + IL_0004: ldftn valuetype [runtime]System.Decimal assembly/'min@68-2'::Invoke(class [Utils]Utils/Product) + IL_000a: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000f: call valuetype [runtime]System.Decimal [System.Linq]System.Linq.Enumerable::Min(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0014: stloc.1 + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_001a: stloc.3 + IL_001b: ldloc.3 + IL_001c: ldloc.0 + IL_001d: ldnull + IL_001e: ldc.i4.0 + IL_001f: ldnull + IL_0020: newobj instance void assembly/cheapestProducts@69::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_002a: ldloc.1 + IL_002b: newobj instance void assembly/'cheapestProducts@69-1'::.ctor(valuetype [runtime]System.Decimal) + IL_0030: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_003a: stloc.2 + IL_003b: ldarg.0 + IL_003c: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 65@67-3'::builder@ + IL_0041: ldloc.0 + IL_0042: ldloc.1 + IL_0043: ldloc.2 + IL_0044: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0049: tail. + IL_004b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_0050: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 65@70-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 65@70-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 65@70-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxNum@74 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/maxNum@74::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxNum@74::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/maxNum@74::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/maxNum@74::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/maxNum@74::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/maxNum@74::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/maxNum@74::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/maxNum@74::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxNum@74::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxNum@74::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxNum@74::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxNum@74::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/maxNum@74::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxNum@74::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxNum@74-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxNum@74-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxNum@74-1'::.ctor() + IL_0005: stsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname longestLength@77 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/longestLength@77::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/longestLength@77::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/longestLength@77::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/longestLength@77::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/longestLength@77::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/longestLength@77::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/longestLength@77::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/longestLength@77::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/longestLength@77::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/longestLength@77::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/longestLength@77::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/longestLength@77::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/longestLength@77::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/longestLength@77::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/longestLength@77::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'longestLength@77-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'longestLength@77-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'longestLength@77-1'::.ctor() + IL_0005: stsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@82'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@83-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@83-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensivePrice@84 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensivePrice@84::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensivePrice@84::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensivePrice@84::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensivePrice@84::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensivePrice@84::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensivePrice@84::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensivePrice@84::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensivePrice@84::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensivePrice@84-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'mostExpensivePrice@84-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'mostExpensivePrice@84-1'::.ctor() + IL_0005: stsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@83-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/mostExpensivePrice@84::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'mostExpensivePrice@84-1' assembly/'mostExpensivePrice@84-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #5 input at line 81@83-3'::builder@ + IL_0026: ldloc.0 + IL_0027: ldloc.1 + IL_0028: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_002d: tail. + IL_002f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_0034: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 81@85-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 81@85-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 81@85-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@91'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@92-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@92-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname maxPrice@93 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/maxPrice@93::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/maxPrice@93::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/maxPrice@93::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/maxPrice@93::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/maxPrice@93::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/maxPrice@93::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/maxPrice@93::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/maxPrice@93::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/maxPrice@93::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/maxPrice@93::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/maxPrice@93::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/maxPrice@93::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/maxPrice@93::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'maxPrice@93-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'maxPrice@93-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'maxPrice@93-1'::.ctor() + IL_0005: stsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname mostExpensiveProducts@94 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/mostExpensiveProducts@94::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/mostExpensiveProducts@94::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/mostExpensiveProducts@94::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/mostExpensiveProducts@94::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/mostExpensiveProducts@94::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'mostExpensiveProducts@94-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public valuetype [runtime]System.Decimal maxPrice + .method assembly specialname rtspecialname instance void .ctor(valuetype [runtime]System.Decimal maxPrice) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0006: ldarg.0 + IL_0007: ldfld valuetype [runtime]System.Decimal assembly/'mostExpensiveProducts@94-1'::maxPrice + IL_000c: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0011: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@92-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: ldloc.0 + IL_0008: ldnull + IL_0009: ldc.i4.0 + IL_000a: ldnull + IL_000b: newobj instance void assembly/maxPrice@93::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0010: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: ldsfld class assembly/'maxPrice@93-1' assembly/'maxPrice@93-1'::@_instance + IL_001a: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_001f: stloc.1 + IL_0020: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0025: stloc.3 + IL_0026: ldloc.3 + IL_0027: ldloc.0 + IL_0028: ldnull + IL_0029: ldc.i4.0 + IL_002a: ldnull + IL_002b: newobj instance void assembly/mostExpensiveProducts@94::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0030: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: ldloc.1 + IL_0036: newobj instance void assembly/'mostExpensiveProducts@94-1'::.ctor(valuetype [runtime]System.Decimal) + IL_003b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0040: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0045: stloc.2 + IL_0046: ldarg.0 + IL_0047: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 90@92-3'::builder@ + IL_004c: ldloc.0 + IL_004d: ldloc.1 + IL_004e: ldloc.2 + IL_004f: newobj instance void class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::.ctor(!0, + !1, + !2) + IL_0054: tail. + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(!!0) + IL_005b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 90@95-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #6 input at line 90@95-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_001b: ldloc.2 + IL_001c: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 90@95-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averageNum@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public float64 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + float64 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/averageNum@100::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld float64 assembly/averageNum@100::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (float64 V_0, + float64 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/averageNum@100::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/averageNum@100::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld float64 assembly/averageNum@100::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/averageNum@100::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/averageNum@100::pc + IL_008b: ldarg.0 + IL_008c: ldc.r8 0.0 + IL_0095: stfld float64 assembly/averageNum@100::current + IL_009a: ldc.i4.0 + IL_009b: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_007e + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averageNum@100::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averageNum@100::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averageNum@100::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averageNum@100::pc + IL_005d: ldarg.0 + IL_005e: ldc.r8 0.0 + IL_0067: stfld float64 assembly/averageNum@100::current + IL_006c: leave.s IL_0078 + + } + catch [runtime]System.Object + { + IL_006e: castclass [runtime]System.Exception + IL_0073: stloc.1 + IL_0074: ldloc.1 + IL_0075: stloc.0 + IL_0076: leave.s IL_0078 + + } + IL_0078: nop + IL_0079: br IL_0000 + + IL_007e: ldloc.0 + IL_007f: brfalse.s IL_0083 + + IL_0081: ldloc.0 + IL_0082: throw + + IL_0083: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averageNum@100::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance float64 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 assembly/averageNum@100::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.r8 0.0 + IL_000b: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageNum@100-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averageNum@100-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(float64 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageNum@100-1'::.ctor() + IL_0005: stsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit averageLength@105 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(string _arg1) cil managed + { + + .maxstack 7 + .locals init (string V_0, + float64 V_1, + int32 V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance int32 [runtime]System.String::get_Length() + IL_0008: stloc.2 + IL_0009: ldloc.2 + IL_000a: conv.r8 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/averageLength@105::builder@ + IL_0012: ldloc.0 + IL_0013: ldloc.1 + IL_0014: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0019: tail. + IL_001b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0020: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averageLength@107-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> + { + .field static assembly initonly class assembly/'averageLength@107-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance float64 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 5 + .locals init (string V_0, + float64 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averageLength@107-1'::.ctor() + IL_0005: stsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@113' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@113'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@114-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@114-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname averagePrice@115 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [System.Linq]System.Linq.IGrouping`2 g + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [System.Linq]System.Linq.IGrouping`2 g, + class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [System.Linq]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/averagePrice@115::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006b + + IL_001e: nop + IL_001f: br.s IL_005e + + IL_0021: nop + IL_0022: br.s IL_008c + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: ldarg.0 + IL_0028: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_002d: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0032: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0037: ldarg.0 + IL_0038: ldc.i4.1 + IL_0039: stfld int32 assembly/averagePrice@115::pc + IL_003e: br.s IL_005e + + IL_0040: ldarg.0 + IL_0041: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0046: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: stloc.1 + IL_004e: ldarg.0 + IL_004f: ldc.i4.2 + IL_0050: stfld int32 assembly/averagePrice@115::pc + IL_0055: ldarg.0 + IL_0056: ldloc.1 + IL_0057: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_005c: ldc.i4.1 + IL_005d: ret + + IL_005e: ldarg.0 + IL_005f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0064: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0069: brtrue.s IL_0040 + + IL_006b: ldarg.0 + IL_006c: ldc.i4.3 + IL_006d: stfld int32 assembly/averagePrice@115::pc + IL_0072: ldarg.0 + IL_0073: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0078: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldnull + IL_0080: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_0085: ldarg.0 + IL_0086: ldc.i4.3 + IL_0087: stfld int32 assembly/averagePrice@115::pc + IL_008c: ldarg.0 + IL_008d: ldnull + IL_008e: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0093: ldc.i4.0 + IL_0094: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/averagePrice@115::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/averagePrice@115::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/averagePrice@115::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/averagePrice@115::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/averagePrice@115::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/averagePrice@115::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [System.Linq]System.Linq.IGrouping`2 assembly/averagePrice@115::g + IL_0006: ldnull + IL_0007: ldc.i4.0 + IL_0008: ldnull + IL_0009: newobj instance void assembly/averagePrice@115::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'averagePrice@115-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'averagePrice@115-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'averagePrice@115-1'::.ctor() + IL_0005: stsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@114-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,valuetype [runtime]System.Decimal>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 9 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + valuetype [runtime]System.Decimal V_8, + valuetype [runtime]System.Decimal V_9, + int32 V_10, + valuetype [runtime]System.Decimal V_11, + int32 V_12, + class [runtime]System.IDisposable V_13) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: stloc.3 + IL_000a: ldloc.0 + IL_000b: ldnull + IL_000c: ldc.i4.0 + IL_000d: ldnull + IL_000e: newobj instance void assembly/averagePrice@115::.ctor(class [System.Linq]System.Linq.IGrouping`2, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0013: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: stloc.s V_4 + IL_001a: ldsfld class assembly/'averagePrice@115-1' assembly/'averagePrice@115-1'::@_instance + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0028: stloc.s V_6 + IL_002a: ldloc.s V_6 + IL_002c: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_0031: brtrue.s IL_003e + + IL_0033: ldstr "source" + IL_0038: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_003d: throw + + IL_003e: nop + IL_003f: ldloc.s V_6 + IL_0041: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0046: stloc.s V_7 + .try + { + IL_0048: ldc.i4.0 + IL_0049: ldc.i4.0 + IL_004a: ldc.i4.0 + IL_004b: ldc.i4.0 + IL_004c: ldc.i4.0 + IL_004d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0052: stloc.s V_9 + IL_0054: ldc.i4.0 + IL_0055: stloc.s V_10 + IL_0057: br.s IL_0076 + + IL_0059: ldloc.s V_9 + IL_005b: ldloc.s V_5 + IL_005d: ldloc.s V_7 + IL_005f: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0064: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0069: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::op_Addition(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_006e: stloc.s V_9 + IL_0070: ldloc.s V_10 + IL_0072: ldc.i4.1 + IL_0073: add + IL_0074: stloc.s V_10 + IL_0076: ldloc.s V_7 + IL_0078: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_007d: brtrue.s IL_0059 + + IL_007f: ldloc.s V_10 + IL_0081: brtrue.s IL_008e + + IL_0083: ldstr "source" + IL_0088: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_008d: throw + + IL_008e: nop + IL_008f: ldloc.s V_9 + IL_0091: stloc.s V_11 + IL_0093: ldloc.s V_10 + IL_0095: stloc.s V_12 + IL_0097: ldloc.s V_11 + IL_0099: ldloc.s V_12 + IL_009b: call valuetype [netstandard]System.Decimal [netstandard]System.Convert::ToDecimal(int32) + IL_00a0: call valuetype [netstandard]System.Decimal [netstandard]System.Decimal::Divide(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00a5: stloc.s V_8 + IL_00a7: leave.s IL_00bf + + } + finally + { + IL_00a9: ldloc.s V_7 + IL_00ab: isinst [runtime]System.IDisposable + IL_00b0: stloc.s V_13 + IL_00b2: ldloc.s V_13 + IL_00b4: brfalse.s IL_00be + + IL_00b6: ldloc.s V_13 + IL_00b8: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_00bd: endfinally + IL_00be: endfinally + } + IL_00bf: ldloc.s V_8 + IL_00c1: stloc.1 + IL_00c2: ldarg.0 + IL_00c3: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 112@114-3'::builder@ + IL_00c8: ldloc.0 + IL_00c9: ldloc.1 + IL_00ca: newobj instance void class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::.ctor(!0, + !1) + IL_00cf: tail. + IL_00d1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,valuetype [runtime]System.Decimal>,object>(!!0) + IL_00d6: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 112@116-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 112@116-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,valuetype [runtime]System.Decimal>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + valuetype [runtime]System.Decimal V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 112@116-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 uniqueFactors@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 numSum@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 totalChars@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@35 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 minNum@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 shortestWord@52 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories2@55 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories3@64 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 maxNum@74 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 longestLength@77 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories4@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] categories5@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@99 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageNum@100 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly float64 averageLength@103 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] categories6@111 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0005: ret + } + + .method public specialname static int32 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::uniqueFactors@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0005: ret + } + + .method public specialname static int32 get_numSum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::numSum@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0005: ret + } + + .method public specialname static int32 get_totalChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::totalChars@28 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0005: ret + } + + .method public specialname static int32 get_minNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::minNum@49 + IL_0005: ret + } + + .method public specialname static int32 get_shortestWord() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::shortestWord@52 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0005: ret + } + + .method public specialname static int32 get_maxNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::maxNum@74 + IL_0005: ret + } + + .method public specialname static int32 get_longestLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::longestLength@77 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_categories5() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_0005: ret + } + + .method public specialname static float64 get_averageNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageNum@100 + IL_0005: ret + } + + .method public specialname static float64 get_averageLength() cil managed + { + + .maxstack 8 + IL_0000: ldsfld float64 assembly::averageLength@103 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_categories6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [runtime]System.Collections.Generic.IEnumerator`1 V_7, + int32 V_8, + int32 V_9, + class [runtime]System.IDisposable V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_13, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_14, + class [runtime]System.Collections.Generic.IEnumerable`1 V_15, + class [runtime]System.Collections.Generic.IEnumerator`1 V_16, + int32 V_17, + int32 V_18, + class [runtime]System.IDisposable V_19, + class [runtime]System.Collections.Generic.IEnumerable`1> V_20, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, + class [runtime]System.Collections.Generic.IEnumerable`1> V_22, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_23, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_24, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, + class [runtime]System.Collections.Generic.IEnumerable`1> V_26, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_27, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_28, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_29, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_30, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_31, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 V_32, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_33, + class [runtime]System.Collections.Generic.IEnumerable`1 V_34, + class [runtime]System.Collections.Generic.IEnumerator`1 V_35, + float64 V_36, + float64 V_37, + int32 V_38, + float64 V_39, + int32 V_40, + class [runtime]System.IDisposable V_41, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_42, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_43, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> V_44, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64> V_45, + class [runtime]System.Collections.Generic.IEnumerable`1> V_46, + class [runtime]System.Collections.Generic.IEnumerator`1> V_47, + float64 V_48, + float64 V_49, + int32 V_50, + float64 V_51, + int32 V_52, + class [runtime]System.IDisposable V_53, + class [runtime]System.Collections.Generic.IEnumerable`1> V_54, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_55) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld int32 assembly::uniqueFactors@10 + IL_0052: ldc.i4.5 + IL_0053: ldc.i4.4 + IL_0054: ldc.i4.1 + IL_0055: ldc.i4.3 + IL_0056: ldc.i4.s 9 + IL_0058: ldc.i4.8 + IL_0059: ldc.i4.6 + IL_005a: ldc.i4.7 + IL_005b: ldc.i4.2 + IL_005c: ldc.i4.0 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0071: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0076: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0080: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0085: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0094: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@17 + IL_0099: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009e: stloc.2 + IL_009f: ldloc.2 + IL_00a0: stloc.3 + IL_00a1: ldnull + IL_00a2: ldc.i4.0 + IL_00a3: ldc.i4.0 + IL_00a4: newobj instance void assembly/numSum@21::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00a9: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ae: stloc.s V_4 + IL_00b0: ldsfld class assembly/'numSum@22-1' assembly/'numSum@22-1'::@_instance + IL_00b5: stloc.s V_5 + IL_00b7: ldloc.s V_4 + IL_00b9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00be: stloc.s V_6 + IL_00c0: ldloc.s V_6 + IL_00c2: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_00c7: stloc.s V_7 + .try + { + IL_00c9: ldc.i4.0 + IL_00ca: stloc.s V_9 + IL_00cc: br.s IL_00e1 + + IL_00ce: ldloc.s V_9 + IL_00d0: ldloc.s V_5 + IL_00d2: ldloc.s V_7 + IL_00d4: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_00d9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_00de: add.ovf + IL_00df: stloc.s V_9 + IL_00e1: ldloc.s V_7 + IL_00e3: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_00e8: brtrue.s IL_00ce + + IL_00ea: ldloc.s V_9 + IL_00ec: stloc.s V_8 + IL_00ee: leave.s IL_0106 + + } + finally + { + IL_00f0: ldloc.s V_7 + IL_00f2: isinst [runtime]System.IDisposable + IL_00f7: stloc.s V_10 + IL_00f9: ldloc.s V_10 + IL_00fb: brfalse.s IL_0105 + + IL_00fd: ldloc.s V_10 + IL_00ff: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0104: endfinally + IL_0105: endfinally + } + IL_0106: ldloc.s V_8 + IL_0108: stsfld int32 assembly::numSum@19 + IL_010d: ldstr "cherry" + IL_0112: ldstr "apple" + IL_0117: ldstr "blueberry" + IL_011c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0121: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0126: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0130: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@26 + IL_0135: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_013a: stloc.s V_11 + IL_013c: ldloc.s V_11 + IL_013e: stloc.s V_12 + IL_0140: ldnull + IL_0141: ldc.i4.0 + IL_0142: ldnull + IL_0143: newobj instance void assembly/totalChars@30::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0148: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_014d: stloc.s V_13 + IL_014f: ldsfld class assembly/'totalChars@31-1' assembly/'totalChars@31-1'::@_instance + IL_0154: stloc.s V_14 + IL_0156: ldloc.s V_13 + IL_0158: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_015d: stloc.s V_15 + IL_015f: ldloc.s V_15 + IL_0161: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0166: stloc.s V_16 + .try + { + IL_0168: ldc.i4.0 + IL_0169: stloc.s V_18 + IL_016b: br.s IL_0180 + + IL_016d: ldloc.s V_18 + IL_016f: ldloc.s V_14 + IL_0171: ldloc.s V_16 + IL_0173: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0178: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_017d: add.ovf + IL_017e: stloc.s V_18 + IL_0180: ldloc.s V_16 + IL_0182: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_0187: brtrue.s IL_016d + + IL_0189: ldloc.s V_18 + IL_018b: stloc.s V_17 + IL_018d: leave.s IL_01a5 + + } + finally + { + IL_018f: ldloc.s V_16 + IL_0191: isinst [runtime]System.IDisposable + IL_0196: stloc.s V_19 + IL_0198: ldloc.s V_19 + IL_019a: brfalse.s IL_01a4 + + IL_019c: ldloc.s V_19 + IL_019e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_01a3: endfinally + IL_01a4: endfinally + } + IL_01a5: ldloc.s V_17 + IL_01a7: stsfld int32 assembly::totalChars@28 + IL_01ac: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01b1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@35 + IL_01b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01bb: stloc.s V_21 + IL_01bd: ldloc.s V_21 + IL_01bf: ldloc.s V_21 + IL_01c1: ldloc.s V_21 + IL_01c3: ldloc.s V_21 + IL_01c5: ldloc.s V_21 + IL_01c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d1: ldloc.s V_21 + IL_01d3: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01dd: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_01e2: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_01e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ec: ldloc.s V_21 + IL_01ee: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,int32>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f8: ldsfld class assembly/'Pipe #2 input at line 38@45-4' assembly/'Pipe #2 input at line 38@45-4'::@_instance + IL_01fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,int32>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0202: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0207: stloc.s V_20 + IL_0209: ldloc.s V_20 + IL_020b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0210: stsfld class [runtime]System.Tuple`2[] assembly::categories@37 + IL_0215: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021a: ldnull + IL_021b: ldc.i4.0 + IL_021c: ldc.i4.0 + IL_021d: newobj instance void assembly/minNum@49::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0222: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0227: ldsfld class assembly/'minNum@49-1' assembly/'minNum@49-1'::@_instance + IL_022c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0231: stsfld int32 assembly::minNum@49 + IL_0236: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_023b: ldnull + IL_023c: ldc.i4.0 + IL_023d: ldnull + IL_023e: newobj instance void assembly/shortestWord@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0243: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0248: ldsfld class assembly/'shortestWord@52-1' assembly/'shortestWord@52-1'::@_instance + IL_024d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MinBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0252: stsfld int32 assembly::shortestWord@52 + IL_0257: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_025c: stloc.s V_23 + IL_025e: ldloc.s V_23 + IL_0260: ldloc.s V_23 + IL_0262: ldloc.s V_23 + IL_0264: ldloc.s V_23 + IL_0266: ldloc.s V_23 + IL_0268: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_026d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0272: ldloc.s V_23 + IL_0274: newobj instance void assembly/'Pipe #3 input at line 56@57'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0279: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_027e: ldsfld class assembly/'Pipe #3 input at line 56@58-1' assembly/'Pipe #3 input at line 56@58-1'::@_instance + IL_0283: ldsfld class assembly/'Pipe #3 input at line 56@58-2' assembly/'Pipe #3 input at line 56@58-2'::@_instance + IL_0288: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_028d: ldloc.s V_23 + IL_028f: newobj instance void assembly/'Pipe #3 input at line 56@58-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0294: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0299: ldsfld class assembly/'Pipe #3 input at line 56@60-4' assembly/'Pipe #3 input at line 56@60-4'::@_instance + IL_029e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02a8: stloc.s V_22 + IL_02aa: ldloc.s V_22 + IL_02ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02b1: stsfld class [runtime]System.Tuple`2[] assembly::categories2@55 + IL_02b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02bb: stloc.s V_25 + IL_02bd: ldloc.s V_25 + IL_02bf: ldloc.s V_25 + IL_02c1: ldloc.s V_25 + IL_02c3: ldloc.s V_25 + IL_02c5: ldloc.s V_25 + IL_02c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_02cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02d1: ldloc.s V_25 + IL_02d3: newobj instance void assembly/'Pipe #4 input at line 65@66'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02dd: ldsfld class assembly/'Pipe #4 input at line 65@67-1' assembly/'Pipe #4 input at line 65@67-1'::@_instance + IL_02e2: ldsfld class assembly/'Pipe #4 input at line 65@67-2' assembly/'Pipe #4 input at line 65@67-2'::@_instance + IL_02e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02ec: ldloc.s V_25 + IL_02ee: newobj instance void assembly/'Pipe #4 input at line 65@67-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02f8: ldsfld class assembly/'Pipe #4 input at line 65@70-4' assembly/'Pipe #4 input at line 65@70-4'::@_instance + IL_02fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0302: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0307: stloc.s V_24 + IL_0309: ldloc.s V_24 + IL_030b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0310: stsfld class [runtime]System.Tuple`2>[] assembly::categories3@64 + IL_0315: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_031a: ldnull + IL_031b: ldc.i4.0 + IL_031c: ldc.i4.0 + IL_031d: newobj instance void assembly/maxNum@74::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0322: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0327: ldsfld class assembly/'maxNum@74-1' assembly/'maxNum@74-1'::@_instance + IL_032c: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0331: stsfld int32 assembly::maxNum@74 + IL_0336: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_033b: ldnull + IL_033c: ldc.i4.0 + IL_033d: ldnull + IL_033e: newobj instance void assembly/longestLength@77::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0343: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0348: ldsfld class assembly/'longestLength@77-1' assembly/'longestLength@77-1'::@_instance + IL_034d: callvirt instance !!2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::MaxBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0352: stsfld int32 assembly::longestLength@77 + IL_0357: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_035c: stloc.s V_27 + IL_035e: ldloc.s V_27 + IL_0360: ldloc.s V_27 + IL_0362: ldloc.s V_27 + IL_0364: ldloc.s V_27 + IL_0366: ldloc.s V_27 + IL_0368: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_036d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0372: ldloc.s V_27 + IL_0374: newobj instance void assembly/'Pipe #5 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0379: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_037e: ldsfld class assembly/'Pipe #5 input at line 81@83-1' assembly/'Pipe #5 input at line 81@83-1'::@_instance + IL_0383: ldsfld class assembly/'Pipe #5 input at line 81@83-2' assembly/'Pipe #5 input at line 81@83-2'::@_instance + IL_0388: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_038d: ldloc.s V_27 + IL_038f: newobj instance void assembly/'Pipe #5 input at line 81@83-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0394: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0399: ldsfld class assembly/'Pipe #5 input at line 81@85-4' assembly/'Pipe #5 input at line 81@85-4'::@_instance + IL_039e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03a3: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03a8: stloc.s V_26 + IL_03aa: ldloc.s V_26 + IL_03ac: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03b1: stsfld class [runtime]System.Tuple`2[] assembly::categories4@80 + IL_03b6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03bb: stloc.s V_29 + IL_03bd: ldloc.s V_29 + IL_03bf: ldloc.s V_29 + IL_03c1: ldloc.s V_29 + IL_03c3: ldloc.s V_29 + IL_03c5: ldloc.s V_29 + IL_03c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_03cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03d1: ldloc.s V_29 + IL_03d3: newobj instance void assembly/'Pipe #6 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03dd: ldsfld class assembly/'Pipe #6 input at line 90@92-1' assembly/'Pipe #6 input at line 90@92-1'::@_instance + IL_03e2: ldsfld class assembly/'Pipe #6 input at line 90@92-2' assembly/'Pipe #6 input at line 90@92-2'::@_instance + IL_03e7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03ec: ldloc.s V_29 + IL_03ee: newobj instance void assembly/'Pipe #6 input at line 90@92-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03f3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03f8: ldsfld class assembly/'Pipe #6 input at line 90@95-4' assembly/'Pipe #6 input at line 90@95-4'::@_instance + IL_03fd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal,class [runtime]System.Collections.Generic.IEnumerable`1>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0402: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0407: stloc.s V_28 + IL_0409: ldloc.s V_28 + IL_040b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0410: stsfld class [runtime]System.Tuple`2>[] assembly::categories5@89 + IL_0415: ldc.r8 5.0999999999999996 + IL_041e: ldc.r8 4.0999999999999996 + IL_0427: ldc.r8 1.1000000000000001 + IL_0430: ldc.r8 3.1000000000000001 + IL_0439: ldc.r8 9.0999999999999996 + IL_0442: ldc.r8 8.0999999999999996 + IL_044b: ldc.r8 6.0999999999999996 + IL_0454: ldc.r8 7.0999999999999996 + IL_045d: ldc.r8 2.1000000000000001 + IL_0466: ldc.r8 0.10000000000000001 + IL_046f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0474: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0479: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_047e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0483: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0488: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_048d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0492: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0497: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_049c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_04a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@99 + IL_04ab: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_04b0: stloc.s V_30 + IL_04b2: ldloc.s V_30 + IL_04b4: stloc.s V_31 + IL_04b6: ldnull + IL_04b7: ldc.i4.0 + IL_04b8: ldc.r8 0.0 + IL_04c1: newobj instance void assembly/averageNum@100::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + float64) + IL_04c6: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_04cb: stloc.s V_32 + IL_04cd: ldsfld class assembly/'averageNum@100-1' assembly/'averageNum@100-1'::@_instance + IL_04d2: stloc.s V_33 + IL_04d4: ldloc.s V_32 + IL_04d6: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_04db: stloc.s V_34 + IL_04dd: ldloc.s V_34 + IL_04df: box class [runtime]System.Collections.Generic.IEnumerable`1 + IL_04e4: brtrue.s IL_04f1 + + IL_04e6: ldstr "source" + IL_04eb: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_04f0: throw + + IL_04f1: nop + IL_04f2: ldloc.s V_34 + IL_04f4: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_04f9: stloc.s V_35 + .try + { + IL_04fb: ldc.r8 0.0 + IL_0504: stloc.s V_37 + IL_0506: ldc.i4.0 + IL_0507: stloc.s V_38 + IL_0509: br.s IL_0524 + + IL_050b: ldloc.s V_37 + IL_050d: ldloc.s V_33 + IL_050f: ldloc.s V_35 + IL_0511: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0516: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_051b: add + IL_051c: stloc.s V_37 + IL_051e: ldloc.s V_38 + IL_0520: ldc.i4.1 + IL_0521: add + IL_0522: stloc.s V_38 + IL_0524: ldloc.s V_35 + IL_0526: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_052b: brtrue.s IL_050b + + IL_052d: ldloc.s V_38 + IL_052f: brtrue.s IL_053c + + IL_0531: ldstr "source" + IL_0536: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_053b: throw + + IL_053c: nop + IL_053d: ldloc.s V_37 + IL_053f: stloc.s V_39 + IL_0541: ldloc.s V_38 + IL_0543: stloc.s V_40 + IL_0545: ldloc.s V_39 + IL_0547: ldloc.s V_40 + IL_0549: conv.r8 + IL_054a: div + IL_054b: stloc.s V_36 + IL_054d: leave.s IL_0565 + + } + finally + { + IL_054f: ldloc.s V_35 + IL_0551: isinst [runtime]System.IDisposable + IL_0556: stloc.s V_41 + IL_0558: ldloc.s V_41 + IL_055a: brfalse.s IL_0564 + + IL_055c: ldloc.s V_41 + IL_055e: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0563: endfinally + IL_0564: endfinally + } + IL_0565: ldloc.s V_36 + IL_0567: stsfld float64 assembly::averageNum@100 + IL_056c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0571: stloc.s V_42 + IL_0573: ldloc.s V_42 + IL_0575: stloc.s V_43 + IL_0577: ldloc.s V_42 + IL_0579: ldloc.s V_42 + IL_057b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0580: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0585: ldloc.s V_42 + IL_0587: newobj instance void assembly/averageLength@105::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_058c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0591: stloc.s V_44 + IL_0593: ldsfld class assembly/'averageLength@107-1' assembly/'averageLength@107-1'::@_instance + IL_0598: stloc.s V_45 + IL_059a: ldloc.s V_44 + IL_059c: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_05a1: stloc.s V_46 + IL_05a3: ldloc.s V_46 + IL_05a5: box class [runtime]System.Collections.Generic.IEnumerable`1> + IL_05aa: brtrue.s IL_05b7 + + IL_05ac: ldstr "source" + IL_05b1: newobj instance void [netstandard]System.ArgumentNullException::.ctor(string) + IL_05b6: throw + + IL_05b7: nop + IL_05b8: ldloc.s V_46 + IL_05ba: callvirt instance class [netstandard]System.Collections.Generic.IEnumerator`1 class [netstandard]System.Collections.Generic.IEnumerable`1>::GetEnumerator() + IL_05bf: stloc.s V_47 + .try + { + IL_05c1: ldc.r8 0.0 + IL_05ca: stloc.s V_49 + IL_05cc: ldc.i4.0 + IL_05cd: stloc.s V_50 + IL_05cf: br.s IL_05ea + + IL_05d1: ldloc.s V_49 + IL_05d3: ldloc.s V_45 + IL_05d5: ldloc.s V_47 + IL_05d7: callvirt instance !0 class [netstandard]System.Collections.Generic.IEnumerator`1>::get_Current() + IL_05dc: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,float64>::Invoke(!0) + IL_05e1: add + IL_05e2: stloc.s V_49 + IL_05e4: ldloc.s V_50 + IL_05e6: ldc.i4.1 + IL_05e7: add + IL_05e8: stloc.s V_50 + IL_05ea: ldloc.s V_47 + IL_05ec: callvirt instance bool [netstandard]System.Collections.IEnumerator::MoveNext() + IL_05f1: brtrue.s IL_05d1 + + IL_05f3: ldloc.s V_50 + IL_05f5: brtrue.s IL_0602 + + IL_05f7: ldstr "source" + IL_05fc: newobj instance void [netstandard]System.InvalidOperationException::.ctor(string) + IL_0601: throw + + IL_0602: nop + IL_0603: ldloc.s V_49 + IL_0605: stloc.s V_51 + IL_0607: ldloc.s V_50 + IL_0609: stloc.s V_52 + IL_060b: ldloc.s V_51 + IL_060d: ldloc.s V_52 + IL_060f: conv.r8 + IL_0610: div + IL_0611: stloc.s V_48 + IL_0613: leave.s IL_062b + + } + finally + { + IL_0615: ldloc.s V_47 + IL_0617: isinst [runtime]System.IDisposable + IL_061c: stloc.s V_53 + IL_061e: ldloc.s V_53 + IL_0620: brfalse.s IL_062a + + IL_0622: ldloc.s V_53 + IL_0624: callvirt instance void [netstandard]System.IDisposable::Dispose() + IL_0629: endfinally + IL_062a: endfinally + } + IL_062b: ldloc.s V_48 + IL_062d: stsfld float64 assembly::averageLength@103 + IL_0632: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0637: stloc.s V_55 + IL_0639: ldloc.s V_55 + IL_063b: ldloc.s V_55 + IL_063d: ldloc.s V_55 + IL_063f: ldloc.s V_55 + IL_0641: ldloc.s V_55 + IL_0643: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0648: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_064d: ldloc.s V_55 + IL_064f: newobj instance void assembly/'Pipe #7 input at line 112@113'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0654: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0659: ldsfld class assembly/'Pipe #7 input at line 112@114-1' assembly/'Pipe #7 input at line 112@114-1'::@_instance + IL_065e: ldsfld class assembly/'Pipe #7 input at line 112@114-2' assembly/'Pipe #7 input at line 112@114-2'::@_instance + IL_0663: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0668: ldloc.s V_55 + IL_066a: newobj instance void assembly/'Pipe #7 input at line 112@114-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_066f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,valuetype [runtime]System.Decimal>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0674: ldsfld class assembly/'Pipe #7 input at line 112@116-4' assembly/'Pipe #7 input at line 112@116-4'::@_instance + IL_0679: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,valuetype [runtime]System.Decimal>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_067e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0683: stloc.s V_54 + IL_0685: ldloc.s V_54 + IL_0687: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_068c: stsfld class [runtime]System.Tuple`2[] assembly::categories6@111 + IL_0691: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property int32 uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 numSum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_numSum() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property int32 totalChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_totalChars() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories() + } + .property int32 minNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_minNum() + } + .property int32 shortestWord() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_shortestWord() + } + .property class [runtime]System.Tuple`2[] + categories2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories2() + } + .property class [runtime]System.Tuple`2>[] + categories3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories3() + } + .property int32 maxNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_maxNum() + } + .property int32 longestLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_longestLength() + } + .property class [runtime]System.Tuple`2[] + categories4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories4() + } + .property class [runtime]System.Tuple`2>[] + categories5() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_categories5() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property float64 averageNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageNum() + } + .property float64 averageLength() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get float64 assembly::get_averageLength() + } + .property class [runtime]System.Tuple`2[] + categories6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_categories6() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs new file mode 100644 index 00000000000..ba19e6c722f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs @@ -0,0 +1,55 @@ +// #Conformance #DataExpressions #Query +// GroupBy LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +// First - simple +let products = getProductList() + +let products12 = + query { + for p in products do + where (p.ProductID = 12) + head + } + +// First - Condition +let strings = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] + +let startsWithO = + query { + for s in strings do + where (s.[0] = 'o') + head + } + +// FirstOrDefault - Simple +let numbers : int list = [] +let firstNumOrDefault = + query { + for n in numbers do + headOrDefault + } + +// FirstOrDefault - Condition +// TODO: DevDiv: 184318 +//let products = getProductList() +// +//let product789 = +// query{ +// for p in products do +// where (p.ProductID = 789) +// headOrDefault +// } +//if product789 <> null then printfn "product789 failed"; exit 1 + +// ElementAt +let numbers2 = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] + +let fourthLowNum = + query { + for n in numbers2 do + where (n > 5) + nth 1 + } \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..daa482d8266 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.debug.bsl @@ -0,0 +1,1493 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname products12@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/products12@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/products12@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/products12@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/products12@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/products12@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/products12@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/products12@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/products12@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/products12@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'products12@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'products12@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_ProductID() + IL_0006: ldc.i4.s 12 + IL_0008: ceq + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'products12@13-1'::.ctor() + IL_0005: stsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname startsWithO@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/startsWithO@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/startsWithO@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/startsWithO@22::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/startsWithO@22::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/startsWithO@22::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/startsWithO@22::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/startsWithO@22::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/startsWithO@22::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/startsWithO@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/startsWithO@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/startsWithO@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/startsWithO@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/startsWithO@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'startsWithO@23-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'startsWithO@23-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ldc.i4.s 111 + IL_0009: ceq + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'startsWithO@23-1'::.ctor() + IL_0005: stsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname firstNumOrDefault@31 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/firstNumOrDefault@31::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/firstNumOrDefault@31::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/firstNumOrDefault@31::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/firstNumOrDefault@31::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/firstNumOrDefault@31::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/firstNumOrDefault@31::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/firstNumOrDefault@31::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/firstNumOrDefault@31::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname fourthLowNum@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/fourthLowNum@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/fourthLowNum@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/fourthLowNum@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/fourthLowNum@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/fourthLowNum@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/fourthLowNum@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/fourthLowNum@52::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/fourthLowNum@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/fourthLowNum@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/fourthLowNum@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/fourthLowNum@52::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/fourthLowNum@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'fourthLowNum@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'fourthLowNum@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: cgt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'fourthLowNum@53-1'::.ctor() + IL_0005: stsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product products12@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly string startsWithO@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 firstNumOrDefault@29 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 fourthLowNum@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product get_products12() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product assembly::products12@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_0005: ret + } + + .method public specialname static string get_startsWithO() cil managed + { + + .maxstack 8 + IL_0000: ldsfld string assembly::startsWithO@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0005: ret + } + + .method public specialname static int32 get_firstNumOrDefault() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::firstNumOrDefault@29 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_0005: ret + } + + .method public specialname static int32 get_fourthLowNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::fourthLowNum@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0005: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.0 + IL_0012: ldnull + IL_0013: ldc.i4.0 + IL_0014: ldnull + IL_0015: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_001a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001f: ldsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_0024: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0029: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_002e: stsfld class [Utils]Utils/Product assembly::products12@10 + IL_0033: ldstr "zero" + IL_0038: ldstr "one" + IL_003d: ldstr "two" + IL_0042: ldstr "three" + IL_0047: ldstr "four" + IL_004c: ldstr "five" + IL_0051: ldstr "six" + IL_0056: ldstr "seven" + IL_005b: ldstr "eight" + IL_0060: ldstr "nine" + IL_0065: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_006a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a6: stloc.1 + IL_00a7: ldloc.1 + IL_00a8: ldloc.1 + IL_00a9: ldnull + IL_00aa: ldc.i4.0 + IL_00ab: ldnull + IL_00ac: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00b1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b6: ldsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_00bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c0: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00c5: stsfld string assembly::startsWithO@20 + IL_00ca: nop + IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d0: ldnull + IL_00d1: ldc.i4.0 + IL_00d2: ldc.i4.0 + IL_00d3: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d8: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00dd: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::HeadOrDefault(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00e2: stsfld int32 assembly::firstNumOrDefault@29 + IL_00e7: ldc.i4.5 + IL_00e8: ldc.i4.4 + IL_00e9: ldc.i4.1 + IL_00ea: ldc.i4.3 + IL_00eb: ldc.i4.s 9 + IL_00ed: ldc.i4.8 + IL_00ee: ldc.i4.6 + IL_00ef: ldc.i4.7 + IL_00f0: ldc.i4.2 + IL_00f1: ldc.i4.0 + IL_00f2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00f7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00fc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0101: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0106: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_010b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0110: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0115: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0124: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0129: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_012e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0133: stloc.2 + IL_0134: ldloc.2 + IL_0135: ldloc.2 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldc.i4.0 + IL_0139: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_013e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0143: ldsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_0148: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_014d: ldc.i4.1 + IL_014e: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Nth(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0153: stsfld int32 assembly::fourthLowNum@50 + IL_0158: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product products12() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product assembly::get_products12() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property string startsWithO() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get string assembly::get_startsWithO() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 firstNumOrDefault() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_firstNumOrDefault() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property int32 fourthLowNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_fourthLowNum() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..daa482d8266 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.release.bsl @@ -0,0 +1,1493 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname products12@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/products12@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/products12@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/products12@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/products12@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/products12@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/products12@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/products12@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/products12@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/products12@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'products12@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'products12@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_ProductID() + IL_0006: ldc.i4.s 12 + IL_0008: ceq + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'products12@13-1'::.ctor() + IL_0005: stsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname startsWithO@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/startsWithO@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/startsWithO@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/startsWithO@22::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/startsWithO@22::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/startsWithO@22::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/startsWithO@22::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/startsWithO@22::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/startsWithO@22::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/startsWithO@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/startsWithO@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/startsWithO@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/startsWithO@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/startsWithO@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'startsWithO@23-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'startsWithO@23-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ldc.i4.s 111 + IL_0009: ceq + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'startsWithO@23-1'::.ctor() + IL_0005: stsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname firstNumOrDefault@31 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/firstNumOrDefault@31::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/firstNumOrDefault@31::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/firstNumOrDefault@31::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/firstNumOrDefault@31::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/firstNumOrDefault@31::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/firstNumOrDefault@31::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/firstNumOrDefault@31::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/firstNumOrDefault@31::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname fourthLowNum@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/fourthLowNum@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/fourthLowNum@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/fourthLowNum@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/fourthLowNum@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/fourthLowNum@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/fourthLowNum@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/fourthLowNum@52::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/fourthLowNum@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/fourthLowNum@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/fourthLowNum@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/fourthLowNum@52::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/fourthLowNum@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'fourthLowNum@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'fourthLowNum@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: cgt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'fourthLowNum@53-1'::.ctor() + IL_0005: stsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product products12@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly string startsWithO@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 firstNumOrDefault@29 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 fourthLowNum@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product get_products12() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product assembly::products12@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_0005: ret + } + + .method public specialname static string get_startsWithO() cil managed + { + + .maxstack 8 + IL_0000: ldsfld string assembly::startsWithO@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0005: ret + } + + .method public specialname static int32 get_firstNumOrDefault() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::firstNumOrDefault@29 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_0005: ret + } + + .method public specialname static int32 get_fourthLowNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::fourthLowNum@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0005: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.0 + IL_0012: ldnull + IL_0013: ldc.i4.0 + IL_0014: ldnull + IL_0015: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_001a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001f: ldsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_0024: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0029: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_002e: stsfld class [Utils]Utils/Product assembly::products12@10 + IL_0033: ldstr "zero" + IL_0038: ldstr "one" + IL_003d: ldstr "two" + IL_0042: ldstr "three" + IL_0047: ldstr "four" + IL_004c: ldstr "five" + IL_0051: ldstr "six" + IL_0056: ldstr "seven" + IL_005b: ldstr "eight" + IL_0060: ldstr "nine" + IL_0065: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_006a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a6: stloc.1 + IL_00a7: ldloc.1 + IL_00a8: ldloc.1 + IL_00a9: ldnull + IL_00aa: ldc.i4.0 + IL_00ab: ldnull + IL_00ac: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00b1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b6: ldsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_00bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c0: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00c5: stsfld string assembly::startsWithO@20 + IL_00ca: nop + IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d0: ldnull + IL_00d1: ldc.i4.0 + IL_00d2: ldc.i4.0 + IL_00d3: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d8: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00dd: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::HeadOrDefault(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00e2: stsfld int32 assembly::firstNumOrDefault@29 + IL_00e7: ldc.i4.5 + IL_00e8: ldc.i4.4 + IL_00e9: ldc.i4.1 + IL_00ea: ldc.i4.3 + IL_00eb: ldc.i4.s 9 + IL_00ed: ldc.i4.8 + IL_00ee: ldc.i4.6 + IL_00ef: ldc.i4.7 + IL_00f0: ldc.i4.2 + IL_00f1: ldc.i4.0 + IL_00f2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00f7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00fc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0101: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0106: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_010b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0110: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0115: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0124: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0129: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_012e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0133: stloc.2 + IL_0134: ldloc.2 + IL_0135: ldloc.2 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldc.i4.0 + IL_0139: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_013e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0143: ldsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_0148: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_014d: ldc.i4.1 + IL_014e: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Nth(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0153: stsfld int32 assembly::fourthLowNum@50 + IL_0158: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product products12() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product assembly::get_products12() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property string startsWithO() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get string assembly::get_startsWithO() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 firstNumOrDefault() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_firstNumOrDefault() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property int32 fourthLowNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_fourthLowNum() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..4f96c84ef93 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.debug.bsl @@ -0,0 +1,1493 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname products12@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/products12@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/products12@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/products12@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/products12@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/products12@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/products12@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/products12@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/products12@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/products12@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'products12@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'products12@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_ProductID() + IL_0006: ldc.i4.s 12 + IL_0008: ceq + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'products12@13-1'::.ctor() + IL_0005: stsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname startsWithO@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/startsWithO@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/startsWithO@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/startsWithO@22::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/startsWithO@22::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/startsWithO@22::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/startsWithO@22::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/startsWithO@22::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/startsWithO@22::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/startsWithO@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/startsWithO@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/startsWithO@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/startsWithO@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/startsWithO@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'startsWithO@23-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'startsWithO@23-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ldc.i4.s 111 + IL_0009: ceq + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'startsWithO@23-1'::.ctor() + IL_0005: stsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname firstNumOrDefault@31 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/firstNumOrDefault@31::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/firstNumOrDefault@31::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/firstNumOrDefault@31::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/firstNumOrDefault@31::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/firstNumOrDefault@31::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/firstNumOrDefault@31::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/firstNumOrDefault@31::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/firstNumOrDefault@31::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname fourthLowNum@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/fourthLowNum@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/fourthLowNum@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/fourthLowNum@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/fourthLowNum@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/fourthLowNum@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/fourthLowNum@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/fourthLowNum@52::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/fourthLowNum@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/fourthLowNum@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/fourthLowNum@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/fourthLowNum@52::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/fourthLowNum@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'fourthLowNum@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'fourthLowNum@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: cgt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'fourthLowNum@53-1'::.ctor() + IL_0005: stsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product products12@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly string startsWithO@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 firstNumOrDefault@29 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 fourthLowNum@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product get_products12() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product assembly::products12@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_0005: ret + } + + .method public specialname static string get_startsWithO() cil managed + { + + .maxstack 8 + IL_0000: ldsfld string assembly::startsWithO@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0005: ret + } + + .method public specialname static int32 get_firstNumOrDefault() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::firstNumOrDefault@29 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_0005: ret + } + + .method public specialname static int32 get_fourthLowNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::fourthLowNum@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0005: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.0 + IL_0012: ldnull + IL_0013: ldc.i4.0 + IL_0014: ldnull + IL_0015: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_001a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001f: ldsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_0024: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0029: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_002e: stsfld class [Utils]Utils/Product assembly::products12@10 + IL_0033: ldstr "zero" + IL_0038: ldstr "one" + IL_003d: ldstr "two" + IL_0042: ldstr "three" + IL_0047: ldstr "four" + IL_004c: ldstr "five" + IL_0051: ldstr "six" + IL_0056: ldstr "seven" + IL_005b: ldstr "eight" + IL_0060: ldstr "nine" + IL_0065: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_006a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a6: stloc.1 + IL_00a7: ldloc.1 + IL_00a8: ldloc.1 + IL_00a9: ldnull + IL_00aa: ldc.i4.0 + IL_00ab: ldnull + IL_00ac: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00b1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b6: ldsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_00bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c0: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00c5: stsfld string assembly::startsWithO@20 + IL_00ca: nop + IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d0: ldnull + IL_00d1: ldc.i4.0 + IL_00d2: ldc.i4.0 + IL_00d3: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d8: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00dd: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::HeadOrDefault(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00e2: stsfld int32 assembly::firstNumOrDefault@29 + IL_00e7: ldc.i4.5 + IL_00e8: ldc.i4.4 + IL_00e9: ldc.i4.1 + IL_00ea: ldc.i4.3 + IL_00eb: ldc.i4.s 9 + IL_00ed: ldc.i4.8 + IL_00ee: ldc.i4.6 + IL_00ef: ldc.i4.7 + IL_00f0: ldc.i4.2 + IL_00f1: ldc.i4.0 + IL_00f2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00f7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00fc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0101: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0106: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_010b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0110: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0115: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0124: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0129: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_012e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0133: stloc.2 + IL_0134: ldloc.2 + IL_0135: ldloc.2 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldc.i4.0 + IL_0139: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_013e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0143: ldsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_0148: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_014d: ldc.i4.1 + IL_014e: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Nth(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0153: stsfld int32 assembly::fourthLowNum@50 + IL_0158: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product products12() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product assembly::get_products12() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property string startsWithO() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get string assembly::get_startsWithO() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 firstNumOrDefault() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_firstNumOrDefault() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property int32 fourthLowNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_fourthLowNum() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..4f96c84ef93 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.release.bsl @@ -0,0 +1,1493 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname products12@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/products12@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/products12@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/products12@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/products12@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/products12@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/products12@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/products12@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/products12@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/products12@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/products12@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/products12@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/products12@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'products12@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'products12@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_ProductID() + IL_0006: ldc.i4.s 12 + IL_0008: ceq + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'products12@13-1'::.ctor() + IL_0005: stsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname startsWithO@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/startsWithO@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/startsWithO@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/startsWithO@22::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/startsWithO@22::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/startsWithO@22::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/startsWithO@22::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/startsWithO@22::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/startsWithO@22::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/startsWithO@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/startsWithO@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/startsWithO@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/startsWithO@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/startsWithO@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/startsWithO@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/startsWithO@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'startsWithO@23-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'startsWithO@23-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ldc.i4.s 111 + IL_0009: ceq + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'startsWithO@23-1'::.ctor() + IL_0005: stsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname firstNumOrDefault@31 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/firstNumOrDefault@31::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/firstNumOrDefault@31::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/firstNumOrDefault@31::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/firstNumOrDefault@31::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/firstNumOrDefault@31::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/firstNumOrDefault@31::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/firstNumOrDefault@31::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/firstNumOrDefault@31::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/firstNumOrDefault@31::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/firstNumOrDefault@31::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/firstNumOrDefault@31::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname fourthLowNum@52 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/fourthLowNum@52::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/fourthLowNum@52::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/fourthLowNum@52::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/fourthLowNum@52::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/fourthLowNum@52::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/fourthLowNum@52::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/fourthLowNum@52::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/fourthLowNum@52::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/fourthLowNum@52::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/fourthLowNum@52::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/fourthLowNum@52::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/fourthLowNum@52::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/fourthLowNum@52::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/fourthLowNum@52::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'fourthLowNum@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'fourthLowNum@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: cgt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'fourthLowNum@53-1'::.ctor() + IL_0005: stsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product products12@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly string startsWithO@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 firstNumOrDefault@29 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers2@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 fourthLowNum@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product get_products12() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product assembly::products12@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_0005: ret + } + + .method public specialname static string get_startsWithO() cil managed + { + + .maxstack 8 + IL_0000: ldsfld string assembly::startsWithO@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0005: ret + } + + .method public specialname static int32 get_firstNumOrDefault() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::firstNumOrDefault@29 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_0005: ret + } + + .method public specialname static int32 get_fourthLowNum() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly::fourthLowNum@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0005: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@8 + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_000f: stloc.0 + IL_0010: ldloc.0 + IL_0011: ldloc.0 + IL_0012: ldnull + IL_0013: ldc.i4.0 + IL_0014: ldnull + IL_0015: newobj instance void assembly/products12@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_001a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001f: ldsfld class assembly/'products12@13-1' assembly/'products12@13-1'::@_instance + IL_0024: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0029: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_002e: stsfld class [Utils]Utils/Product assembly::products12@10 + IL_0033: ldstr "zero" + IL_0038: ldstr "one" + IL_003d: ldstr "two" + IL_0042: ldstr "three" + IL_0047: ldstr "four" + IL_004c: ldstr "five" + IL_0051: ldstr "six" + IL_0056: ldstr "seven" + IL_005b: ldstr "eight" + IL_0060: ldstr "nine" + IL_0065: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_006a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0074: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@18 + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a6: stloc.1 + IL_00a7: ldloc.1 + IL_00a8: ldloc.1 + IL_00a9: ldnull + IL_00aa: ldc.i4.0 + IL_00ab: ldnull + IL_00ac: newobj instance void assembly/startsWithO@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00b1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b6: ldsfld class assembly/'startsWithO@23-1' assembly/'startsWithO@23-1'::@_instance + IL_00bb: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c0: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Head(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00c5: stsfld string assembly::startsWithO@20 + IL_00ca: nop + IL_00cb: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d0: ldnull + IL_00d1: ldc.i4.0 + IL_00d2: ldc.i4.0 + IL_00d3: newobj instance void assembly/firstNumOrDefault@31::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d8: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00dd: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::HeadOrDefault(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_00e2: stsfld int32 assembly::firstNumOrDefault@29 + IL_00e7: ldc.i4.5 + IL_00e8: ldc.i4.4 + IL_00e9: ldc.i4.1 + IL_00ea: ldc.i4.3 + IL_00eb: ldc.i4.s 9 + IL_00ed: ldc.i4.8 + IL_00ee: ldc.i4.6 + IL_00ef: ldc.i4.7 + IL_00f0: ldc.i4.2 + IL_00f1: ldc.i4.0 + IL_00f2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00f7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00fc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0101: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0106: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_010b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0110: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0115: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_011f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0124: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0129: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers2@48 + IL_012e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0133: stloc.2 + IL_0134: ldloc.2 + IL_0135: ldloc.2 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldc.i4.0 + IL_0139: newobj instance void assembly/fourthLowNum@52::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_013e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0143: ldsfld class assembly/'fourthLowNum@53-1' assembly/'fourthLowNum@53-1'::@_instance + IL_0148: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_014d: ldc.i4.1 + IL_014e: callvirt instance !!0 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Nth(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0153: stsfld int32 assembly::fourthLowNum@50 + IL_0158: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product products12() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product assembly::get_products12() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property string startsWithO() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get string assembly::get_startsWithO() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property int32 firstNumOrDefault() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_firstNumOrDefault() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers2() + } + .property int32 fourthLowNum() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly::get_fourthLowNum() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs new file mode 100644 index 00000000000..5391f1b5b1d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs @@ -0,0 +1,58 @@ +// #Conformance #DataExpressions #Query +// GroupBy LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +let digits = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] + +// GroupBy - Simple 1 +let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] + +let numberGroups = + query { + for n in numbers do + groupValBy n (n % 5) into g + select (g.Key, g.ToArray()) + } |> Seq.toArray + +// GroupBy - Simple 2 +let words = ["blueberry"; "chimpanzee"; "abacus"; "banana"; "apple"; "cheese" ] + +let wordGroups = + query { + for w in words do + groupValBy w (w.[0]) into g + select (g.Key, g.ToArray()) + } |> Seq.toArray + +// GroupBy - Simple 3 +let products = getProductList() + +let orderGroups = + query { + for p in products do + groupValBy p p.Category into g + select (g.Key, g.ToArray()) + } |> Seq.toArray + +// GroupBy - Nested +let customers = getCustomerList() + +let customerOrderGroups = + query { + for c in customers do + let yearGroups = + query { + for o in c.Orders do + groupValBy o (o.OrderDate.Year) into yg + let monthGroups = + query { + for o in yg do + groupValBy o (o.OrderDate.Month) into mg + select (mg.Key, mg.ToArray()) + } + select (yg.Key, monthGroups.ToArray()) + } + select (c.CompanyName, yearGroups.ToArray()) + } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..2f2c7dd3ec4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.debug.bsl @@ -0,0 +1,1540 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: rem + IL_0003: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@24' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(string _arg1) cil managed + { + + .maxstack 6 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@26-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@26-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@26-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@34' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@36-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@36-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@36-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit yearGroups@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-1'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Year() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-2'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit monthGroups@51 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg4) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-1'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Month() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-2'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg5) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@53-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'monthGroups@53-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 mg) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@53-4'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg3) cil managed + { + + .maxstack 10 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0013: ldloc.2 + IL_0014: newobj instance void assembly/monthGroups@51::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0019: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001e: ldsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_0023: ldsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_0028: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_002d: ldloc.2 + IL_002e: newobj instance void assembly/'monthGroups@52-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0033: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0038: ldsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_003d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0042: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0047: stloc.1 + IL_0048: ldarg.0 + IL_0049: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_004e: ldloc.0 + IL_004f: ldloc.1 + IL_0050: newobj instance void class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::.ctor(!0, + !1) + IL_0055: tail. + IL_0057: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(!!0) + IL_005c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@55-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>> + { + .field static assembly initonly class assembly/'yearGroups@55-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]> Invoke(class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Core]System.Linq.Enumerable::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@55-4'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>>>,object> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldloc.2 + IL_0019: newobj instance void assembly/yearGroups@47::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_001e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0023: ldsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_0028: ldsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_002d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0032: ldloc.2 + IL_0033: newobj instance void assembly/'yearGroups@48-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0038: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003d: ldsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_0042: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0047: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_0053: ldloc.0 + IL_0054: ldloc.1 + IL_0055: newobj instance void class [runtime]System.Tuple`2[]>>>::.ctor(!0, + !1) + IL_005a: tail. + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield[]>>>,object>(!!0) + IL_0061: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@57-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@57-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]>[]> Invoke(class [runtime]System.Tuple`2[]>>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2[]>>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2[]>>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Core]System.Linq.Enumerable::ToArray[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@57-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] numberGroups@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] wordGroups@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] orderGroups@32 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[]>[]>[] customerOrderGroups@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_numberGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_wordGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_orderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[]>[]>[] get_customerOrderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1[]>[]>> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "zero" + IL_0005: ldstr "one" + IL_000a: ldstr "two" + IL_000f: ldstr "three" + IL_0014: ldstr "four" + IL_0019: ldstr "five" + IL_001e: ldstr "six" + IL_0023: ldstr "seven" + IL_0028: ldstr "eight" + IL_002d: ldstr "nine" + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0037: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0041: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_004b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0055: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0064: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0069: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_006e: ldc.i4.5 + IL_006f: ldc.i4.4 + IL_0070: ldc.i4.1 + IL_0071: ldc.i4.3 + IL_0072: ldc.i4.s 9 + IL_0074: ldc.i4.8 + IL_0075: ldc.i4.6 + IL_0076: ldc.i4.7 + IL_0077: ldc.i4.2 + IL_0078: ldc.i4.0 + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b0: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00ba: stloc.1 + IL_00bb: ldloc.1 + IL_00bc: ldloc.1 + IL_00bd: ldloc.1 + IL_00be: ldloc.1 + IL_00bf: ldloc.1 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_00c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ca: ldloc.1 + IL_00cb: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00d5: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_00da: ldsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_00df: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e4: ldloc.1 + IL_00e5: newobj instance void assembly/'Pipe #1 input at line 13@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00ef: ldsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_00f4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00f9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00fe: stloc.0 + IL_00ff: ldloc.0 + IL_0100: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0105: stsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_010a: ldstr "blueberry" + IL_010f: ldstr "chimpanzee" + IL_0114: ldstr "abacus" + IL_0119: ldstr "banana" + IL_011e: ldstr "apple" + IL_0123: ldstr "cheese" + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_012d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0132: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0137: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_013c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0155: stloc.3 + IL_0156: ldloc.3 + IL_0157: ldloc.3 + IL_0158: ldloc.3 + IL_0159: ldloc.3 + IL_015a: ldloc.3 + IL_015b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0165: ldloc.3 + IL_0166: newobj instance void assembly/'Pipe #2 input at line 23@24'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_016b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0170: ldsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_0175: ldsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_017f: ldloc.3 + IL_0180: newobj instance void assembly/'Pipe #2 input at line 23@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0185: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_018a: ldsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_018f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0194: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0199: stloc.2 + IL_019a: ldloc.2 + IL_019b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a0: stsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_01a5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01aa: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_01af: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01b4: stloc.s V_5 + IL_01b6: ldloc.s V_5 + IL_01b8: ldloc.s V_5 + IL_01ba: ldloc.s V_5 + IL_01bc: ldloc.s V_5 + IL_01be: ldloc.s V_5 + IL_01c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01ca: ldloc.s V_5 + IL_01cc: newobj instance void assembly/'Pipe #3 input at line 33@34'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01d6: ldsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_01db: ldsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_01e0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01e5: ldloc.s V_5 + IL_01e7: newobj instance void assembly/'Pipe #3 input at line 33@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f1: ldsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_01f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01fb: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0200: stloc.s V_4 + IL_0202: ldloc.s V_4 + IL_0204: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0209: stsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_020e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0213: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0218: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021d: stloc.s V_7 + IL_021f: ldloc.s V_7 + IL_0221: ldloc.s V_7 + IL_0223: ldloc.s V_7 + IL_0225: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_022a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_022f: ldloc.s V_7 + IL_0231: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0236: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For[]>>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_023b: ldsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_0240: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select[]>>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0245: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_024a: stloc.s V_6 + IL_024c: ldloc.s V_6 + IL_024e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray[]>[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0253: stsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0258: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [runtime]System.Tuple`2[] + numberGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_numberGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + wordGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_wordGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + orderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_orderGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`2[]>[]>[] + customerOrderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[]>[]>[] assembly::get_customerOrderGroups() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..2f2c7dd3ec4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.release.bsl @@ -0,0 +1,1540 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: rem + IL_0003: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@24' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(string _arg1) cil managed + { + + .maxstack 6 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@26-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@26-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@26-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@34' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@36-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@36-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@36-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit yearGroups@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-1'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Year() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-2'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit monthGroups@51 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg4) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-1'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Month() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-2'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg5) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@53-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'monthGroups@53-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Core]System.Linq.IGrouping`2 mg) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Core]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@53-4'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg3) cil managed + { + + .maxstack 10 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0013: ldloc.2 + IL_0014: newobj instance void assembly/monthGroups@51::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0019: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001e: ldsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_0023: ldsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_0028: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_002d: ldloc.2 + IL_002e: newobj instance void assembly/'monthGroups@52-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0033: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0038: ldsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_003d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0042: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0047: stloc.1 + IL_0048: ldarg.0 + IL_0049: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_004e: ldloc.0 + IL_004f: ldloc.1 + IL_0050: newobj instance void class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::.ctor(!0, + !1) + IL_0055: tail. + IL_0057: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(!!0) + IL_005c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@55-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>> + { + .field static assembly initonly class assembly/'yearGroups@55-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]> Invoke(class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Core]System.Linq.Enumerable::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@55-4'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>>>,object> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldloc.2 + IL_0019: newobj instance void assembly/yearGroups@47::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_001e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0023: ldsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_0028: ldsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_002d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0032: ldloc.2 + IL_0033: newobj instance void assembly/'yearGroups@48-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0038: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003d: ldsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_0042: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0047: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_0053: ldloc.0 + IL_0054: ldloc.1 + IL_0055: newobj instance void class [runtime]System.Tuple`2[]>>>::.ctor(!0, + !1) + IL_005a: tail. + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield[]>>>,object>(!!0) + IL_0061: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@57-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@57-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]>[]> Invoke(class [runtime]System.Tuple`2[]>>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2[]>>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2[]>>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Core]System.Linq.Enumerable::ToArray[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@57-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] numberGroups@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] wordGroups@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] orderGroups@32 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[]>[]>[] customerOrderGroups@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_numberGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_wordGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_orderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[]>[]>[] get_customerOrderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1[]>[]>> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "zero" + IL_0005: ldstr "one" + IL_000a: ldstr "two" + IL_000f: ldstr "three" + IL_0014: ldstr "four" + IL_0019: ldstr "five" + IL_001e: ldstr "six" + IL_0023: ldstr "seven" + IL_0028: ldstr "eight" + IL_002d: ldstr "nine" + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0037: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0041: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_004b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0055: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0064: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0069: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_006e: ldc.i4.5 + IL_006f: ldc.i4.4 + IL_0070: ldc.i4.1 + IL_0071: ldc.i4.3 + IL_0072: ldc.i4.s 9 + IL_0074: ldc.i4.8 + IL_0075: ldc.i4.6 + IL_0076: ldc.i4.7 + IL_0077: ldc.i4.2 + IL_0078: ldc.i4.0 + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b0: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00ba: stloc.1 + IL_00bb: ldloc.1 + IL_00bc: ldloc.1 + IL_00bd: ldloc.1 + IL_00be: ldloc.1 + IL_00bf: ldloc.1 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_00c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ca: ldloc.1 + IL_00cb: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00d5: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_00da: ldsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_00df: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e4: ldloc.1 + IL_00e5: newobj instance void assembly/'Pipe #1 input at line 13@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00ef: ldsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_00f4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00f9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00fe: stloc.0 + IL_00ff: ldloc.0 + IL_0100: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0105: stsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_010a: ldstr "blueberry" + IL_010f: ldstr "chimpanzee" + IL_0114: ldstr "abacus" + IL_0119: ldstr "banana" + IL_011e: ldstr "apple" + IL_0123: ldstr "cheese" + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_012d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0132: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0137: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_013c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0155: stloc.3 + IL_0156: ldloc.3 + IL_0157: ldloc.3 + IL_0158: ldloc.3 + IL_0159: ldloc.3 + IL_015a: ldloc.3 + IL_015b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0165: ldloc.3 + IL_0166: newobj instance void assembly/'Pipe #2 input at line 23@24'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_016b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0170: ldsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_0175: ldsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_017f: ldloc.3 + IL_0180: newobj instance void assembly/'Pipe #2 input at line 23@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0185: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_018a: ldsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_018f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0194: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0199: stloc.2 + IL_019a: ldloc.2 + IL_019b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a0: stsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_01a5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01aa: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_01af: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01b4: stloc.s V_5 + IL_01b6: ldloc.s V_5 + IL_01b8: ldloc.s V_5 + IL_01ba: ldloc.s V_5 + IL_01bc: ldloc.s V_5 + IL_01be: ldloc.s V_5 + IL_01c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01ca: ldloc.s V_5 + IL_01cc: newobj instance void assembly/'Pipe #3 input at line 33@34'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01d6: ldsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_01db: ldsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_01e0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01e5: ldloc.s V_5 + IL_01e7: newobj instance void assembly/'Pipe #3 input at line 33@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f1: ldsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_01f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01fb: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0200: stloc.s V_4 + IL_0202: ldloc.s V_4 + IL_0204: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0209: stsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_020e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0213: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0218: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021d: stloc.s V_7 + IL_021f: ldloc.s V_7 + IL_0221: ldloc.s V_7 + IL_0223: ldloc.s V_7 + IL_0225: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_022a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_022f: ldloc.s V_7 + IL_0231: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0236: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For[]>>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_023b: ldsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_0240: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select[]>>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0245: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_024a: stloc.s V_6 + IL_024c: ldloc.s V_6 + IL_024e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray[]>[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0253: stsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0258: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [runtime]System.Tuple`2[] + numberGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_numberGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + wordGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_wordGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + orderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_orderGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`2[]>[]>[] + customerOrderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[]>[]>[] assembly::get_customerOrderGroups() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..e652ee27fb2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.debug.bsl @@ -0,0 +1,1540 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: rem + IL_0003: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@24' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(string _arg1) cil managed + { + + .maxstack 6 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@26-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@26-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@26-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@34' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@36-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@36-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@36-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit yearGroups@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-1'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Year() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-2'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit monthGroups@51 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg4) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-1'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Month() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-2'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg5) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@53-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'monthGroups@53-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 mg) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@53-4'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg3) cil managed + { + + .maxstack 10 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0013: ldloc.2 + IL_0014: newobj instance void assembly/monthGroups@51::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0019: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001e: ldsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_0023: ldsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_0028: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_002d: ldloc.2 + IL_002e: newobj instance void assembly/'monthGroups@52-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0033: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0038: ldsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_003d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0042: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0047: stloc.1 + IL_0048: ldarg.0 + IL_0049: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_004e: ldloc.0 + IL_004f: ldloc.1 + IL_0050: newobj instance void class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::.ctor(!0, + !1) + IL_0055: tail. + IL_0057: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(!!0) + IL_005c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@55-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>> + { + .field static assembly initonly class assembly/'yearGroups@55-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]> Invoke(class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@55-4'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>>>,object> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldloc.2 + IL_0019: newobj instance void assembly/yearGroups@47::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_001e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0023: ldsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_0028: ldsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_002d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0032: ldloc.2 + IL_0033: newobj instance void assembly/'yearGroups@48-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0038: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003d: ldsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_0042: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0047: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_0053: ldloc.0 + IL_0054: ldloc.1 + IL_0055: newobj instance void class [runtime]System.Tuple`2[]>>>::.ctor(!0, + !1) + IL_005a: tail. + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield[]>>>,object>(!!0) + IL_0061: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@57-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@57-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]>[]> Invoke(class [runtime]System.Tuple`2[]>>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2[]>>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2[]>>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@57-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] numberGroups@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] wordGroups@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] orderGroups@32 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[]>[]>[] customerOrderGroups@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_numberGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_wordGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_orderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[]>[]>[] get_customerOrderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1[]>[]>> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "zero" + IL_0005: ldstr "one" + IL_000a: ldstr "two" + IL_000f: ldstr "three" + IL_0014: ldstr "four" + IL_0019: ldstr "five" + IL_001e: ldstr "six" + IL_0023: ldstr "seven" + IL_0028: ldstr "eight" + IL_002d: ldstr "nine" + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0037: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0041: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_004b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0055: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0064: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0069: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_006e: ldc.i4.5 + IL_006f: ldc.i4.4 + IL_0070: ldc.i4.1 + IL_0071: ldc.i4.3 + IL_0072: ldc.i4.s 9 + IL_0074: ldc.i4.8 + IL_0075: ldc.i4.6 + IL_0076: ldc.i4.7 + IL_0077: ldc.i4.2 + IL_0078: ldc.i4.0 + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b0: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00ba: stloc.1 + IL_00bb: ldloc.1 + IL_00bc: ldloc.1 + IL_00bd: ldloc.1 + IL_00be: ldloc.1 + IL_00bf: ldloc.1 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_00c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ca: ldloc.1 + IL_00cb: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00d5: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_00da: ldsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_00df: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e4: ldloc.1 + IL_00e5: newobj instance void assembly/'Pipe #1 input at line 13@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00ef: ldsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_00f4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00f9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00fe: stloc.0 + IL_00ff: ldloc.0 + IL_0100: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0105: stsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_010a: ldstr "blueberry" + IL_010f: ldstr "chimpanzee" + IL_0114: ldstr "abacus" + IL_0119: ldstr "banana" + IL_011e: ldstr "apple" + IL_0123: ldstr "cheese" + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_012d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0132: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0137: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_013c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0155: stloc.3 + IL_0156: ldloc.3 + IL_0157: ldloc.3 + IL_0158: ldloc.3 + IL_0159: ldloc.3 + IL_015a: ldloc.3 + IL_015b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0165: ldloc.3 + IL_0166: newobj instance void assembly/'Pipe #2 input at line 23@24'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_016b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0170: ldsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_0175: ldsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_017f: ldloc.3 + IL_0180: newobj instance void assembly/'Pipe #2 input at line 23@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0185: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_018a: ldsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_018f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0194: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0199: stloc.2 + IL_019a: ldloc.2 + IL_019b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a0: stsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_01a5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01aa: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_01af: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01b4: stloc.s V_5 + IL_01b6: ldloc.s V_5 + IL_01b8: ldloc.s V_5 + IL_01ba: ldloc.s V_5 + IL_01bc: ldloc.s V_5 + IL_01be: ldloc.s V_5 + IL_01c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01ca: ldloc.s V_5 + IL_01cc: newobj instance void assembly/'Pipe #3 input at line 33@34'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01d6: ldsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_01db: ldsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_01e0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01e5: ldloc.s V_5 + IL_01e7: newobj instance void assembly/'Pipe #3 input at line 33@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f1: ldsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_01f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01fb: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0200: stloc.s V_4 + IL_0202: ldloc.s V_4 + IL_0204: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0209: stsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_020e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0213: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0218: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021d: stloc.s V_7 + IL_021f: ldloc.s V_7 + IL_0221: ldloc.s V_7 + IL_0223: ldloc.s V_7 + IL_0225: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_022a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_022f: ldloc.s V_7 + IL_0231: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0236: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For[]>>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_023b: ldsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_0240: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select[]>>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0245: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_024a: stloc.s V_6 + IL_024c: ldloc.s V_6 + IL_024e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray[]>[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0253: stsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0258: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [runtime]System.Tuple`2[] + numberGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_numberGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + wordGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_wordGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + orderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_orderGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`2[]>[]>[] + customerOrderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[]>[]>[] assembly::get_customerOrderGroups() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..e652ee27fb2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.release.bsl @@ -0,0 +1,1540 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: rem + IL_0003: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@15-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@24' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(string _arg1) cil managed + { + + .maxstack 6 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@24'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@25-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance char Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.0 + IL_0002: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@25-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@25-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 23@25-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 23@26-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 23@26-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 23@26-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@34' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@34'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@35-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@35-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@35-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 33@35-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 33@36-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 33@36-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 33@36-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit yearGroups@47 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/yearGroups@47::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-1'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'yearGroups@48-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Year() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@48-2'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit monthGroups@51 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Order _arg4) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/monthGroups@51::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Order Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-1'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'monthGroups@52-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Order o) cil managed + { + + .maxstack 5 + .locals init (valuetype [runtime]System.DateTime V_0) + IL_0000: ldarg.1 + IL_0001: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: call instance int32 [runtime]System.DateTime::get_Month() + IL_000e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@52-2'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@52-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg5) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'monthGroups@52-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'monthGroups@53-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'monthGroups@53-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [System.Linq]System.Linq.IGrouping`2 mg) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0011: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'monthGroups@53-4'::.ctor() + IL_0005: stsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@48-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg3) cil managed + { + + .maxstack 10 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0013: ldloc.2 + IL_0014: newobj instance void assembly/monthGroups@51::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0019: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001e: ldsfld class assembly/'monthGroups@52-1' assembly/'monthGroups@52-1'::@_instance + IL_0023: ldsfld class assembly/'monthGroups@52-2' assembly/'monthGroups@52-2'::@_instance + IL_0028: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_002d: ldloc.2 + IL_002e: newobj instance void assembly/'monthGroups@52-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0033: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0038: ldsfld class assembly/'monthGroups@53-4' assembly/'monthGroups@53-4'::@_instance + IL_003d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0042: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0047: stloc.1 + IL_0048: ldarg.0 + IL_0049: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'yearGroups@48-3'::builder@ + IL_004e: ldloc.0 + IL_004f: ldloc.1 + IL_0050: newobj instance void class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::.ctor(!0, + !1) + IL_0055: tail. + IL_0057: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(!!0) + IL_005c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'yearGroups@55-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>> + { + .field static assembly initonly class assembly/'yearGroups@55-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Tuple`2[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]> Invoke(class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0, + class [runtime]System.Collections.Generic.IEnumerable`1> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'yearGroups@55-4'::.ctor() + IL_0005: stsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>>>,object> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0007: stloc.2 + IL_0008: ldloc.2 + IL_0009: ldloc.2 + IL_000a: ldloc.2 + IL_000b: ldloc.2 + IL_000c: ldloc.2 + IL_000d: ldloc.0 + IL_000e: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldloc.2 + IL_0019: newobj instance void assembly/yearGroups@47::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_001e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0023: ldsfld class assembly/'yearGroups@48-1' assembly/'yearGroups@48-1'::@_instance + IL_0028: ldsfld class assembly/'yearGroups@48-2' assembly/'yearGroups@48-2'::@_instance + IL_002d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0032: ldloc.2 + IL_0033: newobj instance void assembly/'yearGroups@48-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0038: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,class [runtime]System.Collections.Generic.IEnumerable`1>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003d: ldsfld class assembly/'yearGroups@55-4' assembly/'yearGroups@55-4'::@_instance + IL_0042: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.Generic.IEnumerable`1>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0047: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 43@44'::builder@ + IL_0053: ldloc.0 + IL_0054: ldloc.1 + IL_0055: newobj instance void class [runtime]System.Tuple`2[]>>>::.ctor(!0, + !1) + IL_005a: tail. + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield[]>>>,object>(!!0) + IL_0061: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@57-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@57-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2[]>>>,class [runtime]System.Tuple`2[]>[]>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2[]>[]> Invoke(class [runtime]System.Tuple`2[]>>> tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [runtime]System.Collections.Generic.IEnumerable`1[]>> V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2[]>>>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2[]>>>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0014: ldloc.1 + IL_0015: call !!0[] [System.Linq]System.Linq.Enumerable::ToArray[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_001a: newobj instance void class [runtime]System.Tuple`2[]>[]>::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@57-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] numberGroups@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] wordGroups@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] orderGroups@32 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[]>[]>[] customerOrderGroups@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_numberGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_wordGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_orderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[]>[]>[] get_customerOrderGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1[]>[]>> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "zero" + IL_0005: ldstr "one" + IL_000a: ldstr "two" + IL_000f: ldstr "three" + IL_0014: ldstr "four" + IL_0019: ldstr "five" + IL_001e: ldstr "six" + IL_0023: ldstr "seven" + IL_0028: ldstr "eight" + IL_002d: ldstr "nine" + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0037: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0041: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_004b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0055: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0064: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0069: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@7 + IL_006e: ldc.i4.5 + IL_006f: ldc.i4.4 + IL_0070: ldc.i4.1 + IL_0071: ldc.i4.3 + IL_0072: ldc.i4.s 9 + IL_0074: ldc.i4.8 + IL_0075: ldc.i4.6 + IL_0076: ldc.i4.7 + IL_0077: ldc.i4.2 + IL_0078: ldc.i4.0 + IL_0079: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_007e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0083: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0088: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_008d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0092: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0097: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_009c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00b0: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@10 + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00ba: stloc.1 + IL_00bb: ldloc.1 + IL_00bc: ldloc.1 + IL_00bd: ldloc.1 + IL_00be: ldloc.1 + IL_00bf: ldloc.1 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_00c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ca: ldloc.1 + IL_00cb: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00d5: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_00da: ldsfld class assembly/'Pipe #1 input at line 13@15-2' assembly/'Pipe #1 input at line 13@15-2'::@_instance + IL_00df: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e4: ldloc.1 + IL_00e5: newobj instance void assembly/'Pipe #1 input at line 13@15-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ea: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00ef: ldsfld class assembly/'Pipe #1 input at line 13@16-4' assembly/'Pipe #1 input at line 13@16-4'::@_instance + IL_00f4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00f9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00fe: stloc.0 + IL_00ff: ldloc.0 + IL_0100: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0105: stsfld class [runtime]System.Tuple`2[] assembly::numberGroups@12 + IL_010a: ldstr "blueberry" + IL_010f: ldstr "chimpanzee" + IL_0114: ldstr "abacus" + IL_0119: ldstr "banana" + IL_011e: ldstr "apple" + IL_0123: ldstr "cheese" + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_012d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0132: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0137: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_013c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@20 + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0155: stloc.3 + IL_0156: ldloc.3 + IL_0157: ldloc.3 + IL_0158: ldloc.3 + IL_0159: ldloc.3 + IL_015a: ldloc.3 + IL_015b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0165: ldloc.3 + IL_0166: newobj instance void assembly/'Pipe #2 input at line 23@24'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_016b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0170: ldsfld class assembly/'Pipe #2 input at line 23@25-1' assembly/'Pipe #2 input at line 23@25-1'::@_instance + IL_0175: ldsfld class assembly/'Pipe #2 input at line 23@25-2' assembly/'Pipe #2 input at line 23@25-2'::@_instance + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_017f: ldloc.3 + IL_0180: newobj instance void assembly/'Pipe #2 input at line 23@25-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0185: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_018a: ldsfld class assembly/'Pipe #2 input at line 23@26-4' assembly/'Pipe #2 input at line 23@26-4'::@_instance + IL_018f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0194: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0199: stloc.2 + IL_019a: ldloc.2 + IL_019b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a0: stsfld class [runtime]System.Tuple`2[] assembly::wordGroups@22 + IL_01a5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_01aa: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@30 + IL_01af: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01b4: stloc.s V_5 + IL_01b6: ldloc.s V_5 + IL_01b8: ldloc.s V_5 + IL_01ba: ldloc.s V_5 + IL_01bc: ldloc.s V_5 + IL_01be: ldloc.s V_5 + IL_01c0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01c5: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01ca: ldloc.s V_5 + IL_01cc: newobj instance void assembly/'Pipe #3 input at line 33@34'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01d1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01d6: ldsfld class assembly/'Pipe #3 input at line 33@35-1' assembly/'Pipe #3 input at line 33@35-1'::@_instance + IL_01db: ldsfld class assembly/'Pipe #3 input at line 33@35-2' assembly/'Pipe #3 input at line 33@35-2'::@_instance + IL_01e0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01e5: ldloc.s V_5 + IL_01e7: newobj instance void assembly/'Pipe #3 input at line 33@35-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01f1: ldsfld class assembly/'Pipe #3 input at line 33@36-4' assembly/'Pipe #3 input at line 33@36-4'::@_instance + IL_01f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01fb: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0200: stloc.s V_4 + IL_0202: ldloc.s V_4 + IL_0204: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0209: stsfld class [runtime]System.Tuple`2[] assembly::orderGroups@32 + IL_020e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0213: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@40 + IL_0218: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_021d: stloc.s V_7 + IL_021f: ldloc.s V_7 + IL_0221: ldloc.s V_7 + IL_0223: ldloc.s V_7 + IL_0225: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_022a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_022f: ldloc.s V_7 + IL_0231: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0236: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For[]>>>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_023b: ldsfld class assembly/'Pipe #4 input at line 43@57-1' assembly/'Pipe #4 input at line 43@57-1'::@_instance + IL_0240: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select[]>>>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2[]>[]>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0245: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2[]>[]>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_024a: stloc.s V_6 + IL_024c: ldloc.s V_6 + IL_024e: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray[]>[]>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0253: stsfld class [runtime]System.Tuple`2[]>[]>[] assembly::customerOrderGroups@42 + IL_0258: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [runtime]System.Tuple`2[] + numberGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_numberGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + wordGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_wordGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + orderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_orderGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`2[]>[]>[] + customerOrderGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[]>[]>[] assembly::get_customerOrderGroups() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs new file mode 100644 index 00000000000..697f1ca7ad1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs @@ -0,0 +1,43 @@ +// #Conformance #DataExpressions #Query +// Join LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +// Cross Join +let categories = ["Beverages"; "Condiments"; "Vegetables"; "Dairy Products"; "Seafood"] +let products = getProductList() + +let q = + query { + for c in categories do + join p in products on (c = p.Category) + select (c, p.ProductName) + } |> Seq.toArray + +// Group Join +let q2 = + query { + for c in categories do + groupJoin p in products on (c = p.Category) into ps + select (c, ps) + } |> Seq.toArray + +// Cross Join with Group Join +let q3 = + query { + for c in categories do + groupJoin p in products on (c = p.Category) into ps + for p in ps do + select (c, p.ProductName) + } |> Seq.toArray + +// Left Outer Join +let q4 = + query { + for c in categories do + groupJoin p in products on (c = p.Category) into ps + for p in ps.DefaultIfEmpty() do + let t = if (box p = null) then "(No products)" else p.ProductName + select (c, t) + } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..5f34461ea49 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.debug.bsl @@ -0,0 +1,1318 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 + Invoke(string c, + class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [runtime]System.Tuple`2 _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2 V_0, + class [Utils]Utils/Product V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@15-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@15-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@15-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield>,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`2> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@31-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_000e: ldarg.0 + IL_000f: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldloc.0 + IL_0015: newobj instance void class [runtime]System.Tuple`3,class [Utils]Utils/Product>::.ctor(!0, + !1, + !2) + IL_001a: tail. + IL_001c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product>,object>(!!0) + IL_0021: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_001c: ldloc.1 + IL_001d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0028: ldloc.1 + IL_0029: ldloc.2 + IL_002a: newobj instance void assembly/'Pipe #3 input at line 28@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_002f: tail. + IL_0031: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0036: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@32-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@32-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`3,class [Utils]Utils/Product> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: ldloc.2 + IL_0017: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@32-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@40-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 9 + .locals init (class [Utils]Utils/Product V_0, + string V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldloc.0 + IL_0004: box [Utils]Utils/Product + IL_0009: ldnull + IL_000a: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityIntrinsic(!!0, + !!0) + IL_000f: brfalse.s IL_0019 + + IL_0011: ldstr "(No products)" + IL_0016: nop + IL_0017: br.s IL_0020 + + IL_0019: ldloc.0 + IL_001a: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001f: nop + IL_0020: stloc.1 + IL_0021: ldarg.0 + IL_0022: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_0027: ldarg.0 + IL_0028: ldfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_002d: ldarg.0 + IL_002e: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0033: ldloc.0 + IL_0034: ldloc.1 + IL_0035: newobj instance void class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, + !1, + !2, + !3) + IL_003a: tail. + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product,string>,object>(!!0) + IL_0041: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_001c: ldloc.1 + IL_001d: call class [runtime]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::DefaultIfEmpty(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0027: ldarg.0 + IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_002d: ldloc.1 + IL_002e: ldloc.2 + IL_002f: newobj instance void assembly/'Pipe #4 input at line 37@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_0034: tail. + IL_0036: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product,string>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@42-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@42-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`4,class [Utils]Utils/Product,string> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2, + string V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldarg.1 + IL_0016: call instance !3 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item4() + IL_001b: stloc.3 + IL_001c: ldloc.0 + IL_001d: ldloc.3 + IL_001e: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0023: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@42-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categories@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] q2@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q3@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q4@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_q2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "Beverages" + IL_0005: ldstr "Condiments" + IL_000a: ldstr "Vegetables" + IL_000f: ldstr "Dairy Products" + IL_0014: ldstr "Seafood" + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0037: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0041: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004b: stloc.1 + IL_004c: ldloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_0055: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005a: ldloc.1 + IL_005b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0060: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0065: ldsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_006a: ldsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_006f: ldsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_0074: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Join>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0079: ldloc.1 + IL_007a: newobj instance void assembly/'Pipe #1 input at line 12@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_007f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0084: ldsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_0089: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0093: stloc.0 + IL_0094: ldloc.0 + IL_0095: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_009a: stsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a4: stloc.3 + IL_00a5: ldloc.3 + IL_00a6: ldloc.3 + IL_00a7: ldloc.3 + IL_00a8: ldloc.3 + IL_00a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_00ae: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b3: ldloc.3 + IL_00b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00be: ldsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_00c3: ldsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_00c8: ldsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_00cd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_00d2: ldloc.3 + IL_00d3: newobj instance void assembly/'Pipe #2 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00dd: ldsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_00e2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e7: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00ec: stloc.2 + IL_00ed: ldloc.2 + IL_00ee: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f3: stsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_00f8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fd: stloc.s V_5 + IL_00ff: ldloc.s V_5 + IL_0101: ldloc.s V_5 + IL_0103: ldloc.s V_5 + IL_0105: ldloc.s V_5 + IL_0107: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_010c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0111: ldloc.s V_5 + IL_0113: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0118: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_011d: ldsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_0122: ldsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_0127: ldsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_012c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0131: ldloc.s V_5 + IL_0133: newobj instance void assembly/'Pipe #3 input at line 28@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0138: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013d: ldsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_014c: stloc.s V_4 + IL_014e: ldloc.s V_4 + IL_0150: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0155: stsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_015f: stloc.s V_7 + IL_0161: ldloc.s V_7 + IL_0163: ldloc.s V_7 + IL_0165: ldloc.s V_7 + IL_0167: ldloc.s V_7 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_016e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: ldloc.s V_7 + IL_0175: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_017f: ldsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_0184: ldsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_0189: ldsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_018e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0193: ldloc.s V_7 + IL_0195: newobj instance void assembly/'Pipe #4 input at line 37@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_019f: ldsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_01ae: stloc.s V_6 + IL_01b0: ldloc.s V_6 + IL_01b2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_01bc: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + q() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q() + } + .property class [runtime]System.Tuple`2>[] + q2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_q2() + } + .property class [runtime]System.Tuple`2[] + q3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q3() + } + .property class [runtime]System.Tuple`2[] + q4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..5f34461ea49 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.release.bsl @@ -0,0 +1,1318 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 + Invoke(string c, + class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [runtime]System.Tuple`2 _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2 V_0, + class [Utils]Utils/Product V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@15-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@15-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@15-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield>,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`2> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@31-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_000e: ldarg.0 + IL_000f: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldloc.0 + IL_0015: newobj instance void class [runtime]System.Tuple`3,class [Utils]Utils/Product>::.ctor(!0, + !1, + !2) + IL_001a: tail. + IL_001c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product>,object>(!!0) + IL_0021: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_001c: ldloc.1 + IL_001d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0028: ldloc.1 + IL_0029: ldloc.2 + IL_002a: newobj instance void assembly/'Pipe #3 input at line 28@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_002f: tail. + IL_0031: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0036: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@32-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@32-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`3,class [Utils]Utils/Product> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: ldloc.2 + IL_0017: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@32-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@40-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 9 + .locals init (class [Utils]Utils/Product V_0, + string V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldloc.0 + IL_0004: box [Utils]Utils/Product + IL_0009: ldnull + IL_000a: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityIntrinsic(!!0, + !!0) + IL_000f: brfalse.s IL_0019 + + IL_0011: ldstr "(No products)" + IL_0016: nop + IL_0017: br.s IL_0020 + + IL_0019: ldloc.0 + IL_001a: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001f: nop + IL_0020: stloc.1 + IL_0021: ldarg.0 + IL_0022: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_0027: ldarg.0 + IL_0028: ldfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_002d: ldarg.0 + IL_002e: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0033: ldloc.0 + IL_0034: ldloc.1 + IL_0035: newobj instance void class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, + !1, + !2, + !3) + IL_003a: tail. + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product,string>,object>(!!0) + IL_0041: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_001c: ldloc.1 + IL_001d: call class [runtime]System.Collections.Generic.IEnumerable`1 [System.Core]System.Linq.Enumerable::DefaultIfEmpty(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0027: ldarg.0 + IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_002d: ldloc.1 + IL_002e: ldloc.2 + IL_002f: newobj instance void assembly/'Pipe #4 input at line 37@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_0034: tail. + IL_0036: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product,string>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@42-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@42-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`4,class [Utils]Utils/Product,string> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2, + string V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldarg.1 + IL_0016: call instance !3 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item4() + IL_001b: stloc.3 + IL_001c: ldloc.0 + IL_001d: ldloc.3 + IL_001e: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0023: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@42-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categories@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] q2@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q3@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q4@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_q2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "Beverages" + IL_0005: ldstr "Condiments" + IL_000a: ldstr "Vegetables" + IL_000f: ldstr "Dairy Products" + IL_0014: ldstr "Seafood" + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0037: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0041: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004b: stloc.1 + IL_004c: ldloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_0055: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005a: ldloc.1 + IL_005b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0060: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0065: ldsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_006a: ldsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_006f: ldsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_0074: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Join>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0079: ldloc.1 + IL_007a: newobj instance void assembly/'Pipe #1 input at line 12@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_007f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0084: ldsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_0089: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0093: stloc.0 + IL_0094: ldloc.0 + IL_0095: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_009a: stsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a4: stloc.3 + IL_00a5: ldloc.3 + IL_00a6: ldloc.3 + IL_00a7: ldloc.3 + IL_00a8: ldloc.3 + IL_00a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_00ae: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b3: ldloc.3 + IL_00b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00be: ldsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_00c3: ldsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_00c8: ldsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_00cd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_00d2: ldloc.3 + IL_00d3: newobj instance void assembly/'Pipe #2 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00dd: ldsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_00e2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e7: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00ec: stloc.2 + IL_00ed: ldloc.2 + IL_00ee: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f3: stsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_00f8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fd: stloc.s V_5 + IL_00ff: ldloc.s V_5 + IL_0101: ldloc.s V_5 + IL_0103: ldloc.s V_5 + IL_0105: ldloc.s V_5 + IL_0107: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_010c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0111: ldloc.s V_5 + IL_0113: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0118: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_011d: ldsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_0122: ldsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_0127: ldsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_012c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0131: ldloc.s V_5 + IL_0133: newobj instance void assembly/'Pipe #3 input at line 28@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0138: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013d: ldsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_014c: stloc.s V_4 + IL_014e: ldloc.s V_4 + IL_0150: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0155: stsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_015f: stloc.s V_7 + IL_0161: ldloc.s V_7 + IL_0163: ldloc.s V_7 + IL_0165: ldloc.s V_7 + IL_0167: ldloc.s V_7 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_016e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: ldloc.s V_7 + IL_0175: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_017f: ldsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_0184: ldsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_0189: ldsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_018e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0193: ldloc.s V_7 + IL_0195: newobj instance void assembly/'Pipe #4 input at line 37@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_019f: ldsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_01ae: stloc.s V_6 + IL_01b0: ldloc.s V_6 + IL_01b2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_01bc: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + q() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q() + } + .property class [runtime]System.Tuple`2>[] + q2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_q2() + } + .property class [runtime]System.Tuple`2[] + q3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q3() + } + .property class [runtime]System.Tuple`2[] + q4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..c39cd03c3fa --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.debug.bsl @@ -0,0 +1,1318 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 + Invoke(string c, + class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [runtime]System.Tuple`2 _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2 V_0, + class [Utils]Utils/Product V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@15-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@15-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@15-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield>,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`2> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@31-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_000e: ldarg.0 + IL_000f: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldloc.0 + IL_0015: newobj instance void class [runtime]System.Tuple`3,class [Utils]Utils/Product>::.ctor(!0, + !1, + !2) + IL_001a: tail. + IL_001c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product>,object>(!!0) + IL_0021: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_001c: ldloc.1 + IL_001d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0028: ldloc.1 + IL_0029: ldloc.2 + IL_002a: newobj instance void assembly/'Pipe #3 input at line 28@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_002f: tail. + IL_0031: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0036: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@32-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@32-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`3,class [Utils]Utils/Product> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: ldloc.2 + IL_0017: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@32-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@40-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 9 + .locals init (class [Utils]Utils/Product V_0, + string V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldloc.0 + IL_0004: box [Utils]Utils/Product + IL_0009: ldnull + IL_000a: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityIntrinsic(!!0, + !!0) + IL_000f: brfalse.s IL_0019 + + IL_0011: ldstr "(No products)" + IL_0016: nop + IL_0017: br.s IL_0020 + + IL_0019: ldloc.0 + IL_001a: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001f: nop + IL_0020: stloc.1 + IL_0021: ldarg.0 + IL_0022: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_0027: ldarg.0 + IL_0028: ldfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_002d: ldarg.0 + IL_002e: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0033: ldloc.0 + IL_0034: ldloc.1 + IL_0035: newobj instance void class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, + !1, + !2, + !3) + IL_003a: tail. + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product,string>,object>(!!0) + IL_0041: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_001c: ldloc.1 + IL_001d: call class [runtime]System.Collections.Generic.IEnumerable`1 [System.Linq]System.Linq.Enumerable::DefaultIfEmpty(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0027: ldarg.0 + IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_002d: ldloc.1 + IL_002e: ldloc.2 + IL_002f: newobj instance void assembly/'Pipe #4 input at line 37@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_0034: tail. + IL_0036: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product,string>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@42-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@42-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`4,class [Utils]Utils/Product,string> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2, + string V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldarg.1 + IL_0016: call instance !3 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item4() + IL_001b: stloc.3 + IL_001c: ldloc.0 + IL_001d: ldloc.3 + IL_001e: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0023: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@42-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categories@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] q2@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q3@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q4@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_q2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "Beverages" + IL_0005: ldstr "Condiments" + IL_000a: ldstr "Vegetables" + IL_000f: ldstr "Dairy Products" + IL_0014: ldstr "Seafood" + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0037: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0041: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004b: stloc.1 + IL_004c: ldloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_0055: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005a: ldloc.1 + IL_005b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0060: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0065: ldsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_006a: ldsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_006f: ldsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_0074: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Join>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0079: ldloc.1 + IL_007a: newobj instance void assembly/'Pipe #1 input at line 12@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_007f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0084: ldsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_0089: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0093: stloc.0 + IL_0094: ldloc.0 + IL_0095: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_009a: stsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a4: stloc.3 + IL_00a5: ldloc.3 + IL_00a6: ldloc.3 + IL_00a7: ldloc.3 + IL_00a8: ldloc.3 + IL_00a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_00ae: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b3: ldloc.3 + IL_00b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00be: ldsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_00c3: ldsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_00c8: ldsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_00cd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_00d2: ldloc.3 + IL_00d3: newobj instance void assembly/'Pipe #2 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00dd: ldsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_00e2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e7: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00ec: stloc.2 + IL_00ed: ldloc.2 + IL_00ee: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f3: stsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_00f8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fd: stloc.s V_5 + IL_00ff: ldloc.s V_5 + IL_0101: ldloc.s V_5 + IL_0103: ldloc.s V_5 + IL_0105: ldloc.s V_5 + IL_0107: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_010c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0111: ldloc.s V_5 + IL_0113: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0118: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_011d: ldsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_0122: ldsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_0127: ldsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_012c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0131: ldloc.s V_5 + IL_0133: newobj instance void assembly/'Pipe #3 input at line 28@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0138: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013d: ldsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_014c: stloc.s V_4 + IL_014e: ldloc.s V_4 + IL_0150: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0155: stsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_015f: stloc.s V_7 + IL_0161: ldloc.s V_7 + IL_0163: ldloc.s V_7 + IL_0165: ldloc.s V_7 + IL_0167: ldloc.s V_7 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_016e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: ldloc.s V_7 + IL_0175: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_017f: ldsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_0184: ldsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_0189: ldsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_018e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0193: ldloc.s V_7 + IL_0195: newobj instance void assembly/'Pipe #4 input at line 37@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_019f: ldsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_01ae: stloc.s V_6 + IL_01b0: ldloc.s V_6 + IL_01b2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_01bc: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + q() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q() + } + .property class [runtime]System.Tuple`2>[] + q2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_q2() + } + .property class [runtime]System.Tuple`2[] + q3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q3() + } + .property class [runtime]System.Tuple`2[] + q4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..c39cd03c3fa --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.release.bsl @@ -0,0 +1,1318 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@14-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 + Invoke(string c, + class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@14-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@14-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [runtime]System.Tuple`2 _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2 V_0, + class [Utils]Utils/Product V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 12@14-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 12@15-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 12@15-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0015: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 12@15-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,object> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 20@22-3'::builder@ + IL_0016: ldloc.2 + IL_0017: ldloc.1 + IL_0018: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_001d: tail. + IL_001f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield>,object>(!!0) + IL_0024: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [runtime]System.Tuple`2> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@30-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@30-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@31-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@31-4'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld string assembly/'Pipe #3 input at line 28@31-4'::c + IL_000e: ldarg.0 + IL_000f: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #3 input at line 28@31-4'::ps + IL_0014: ldloc.0 + IL_0015: newobj instance void class [runtime]System.Tuple`3,class [Utils]Utils/Product>::.ctor(!0, + !1, + !2) + IL_001a: tail. + IL_001c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product>,object>(!!0) + IL_0021: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@30-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_001c: ldloc.1 + IL_001d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: ldarg.0 + IL_0023: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 28@30-3'::builder@ + IL_0028: ldloc.1 + IL_0029: ldloc.2 + IL_002a: newobj instance void assembly/'Pipe #3 input at line 28@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_002f: tail. + IL_0031: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0036: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 28@32-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 28@32-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`3,class [Utils]Utils/Product> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`3,class [Utils]Utils/Product>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldloc.0 + IL_0016: ldloc.2 + IL_0017: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001c: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0021: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 28@32-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@39-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> + Invoke(string c, + class [runtime]System.Collections.Generic.IEnumerable`1 ps) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@39-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@40-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerable`1 ps + .field public string c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [runtime]System.Collections.Generic.IEnumerable`1 ps, + string c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0014: ldarg.0 + IL_0015: ldarg.3 + IL_0016: stfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_001b: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,object> Invoke(class [Utils]Utils/Product _arg2) cil managed + { + + .maxstack 9 + .locals init (class [Utils]Utils/Product V_0, + string V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldloc.0 + IL_0004: box [Utils]Utils/Product + IL_0009: ldnull + IL_000a: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericEqualityIntrinsic(!!0, + !!0) + IL_000f: brfalse.s IL_0019 + + IL_0011: ldstr "(No products)" + IL_0016: nop + IL_0017: br.s IL_0020 + + IL_0019: ldloc.0 + IL_001a: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_001f: nop + IL_0020: stloc.1 + IL_0021: ldarg.0 + IL_0022: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@40-4'::builder@ + IL_0027: ldarg.0 + IL_0028: ldfld string assembly/'Pipe #4 input at line 37@40-4'::c + IL_002d: ldarg.0 + IL_002e: ldfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly/'Pipe #4 input at line 37@40-4'::ps + IL_0033: ldloc.0 + IL_0034: ldloc.1 + IL_0035: newobj instance void class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::.ctor(!0, + !1, + !2, + !3) + IL_003a: tail. + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,class [Utils]Utils/Product,string>,object>(!!0) + IL_0041: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable> Invoke(class [runtime]System.Tuple`2> _arg1) cil managed + { + + .maxstack 9 + .locals init (class [runtime]System.Tuple`2> V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + string V_2) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance !1 class [runtime]System.Tuple`2>::get_Item2() + IL_0008: stloc.1 + IL_0009: ldloc.0 + IL_000a: call instance !0 class [runtime]System.Tuple`2>::get_Item1() + IL_000f: stloc.2 + IL_0010: ldarg.0 + IL_0011: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_0016: ldarg.0 + IL_0017: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_001c: ldloc.1 + IL_001d: call class [runtime]System.Collections.Generic.IEnumerable`1 [System.Linq]System.Linq.Enumerable::DefaultIfEmpty(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0022: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0027: ldarg.0 + IL_0028: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 37@39-3'::builder@ + IL_002d: ldloc.1 + IL_002e: ldloc.2 + IL_002f: newobj instance void assembly/'Pipe #4 input at line 37@40-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [runtime]System.Collections.Generic.IEnumerable`1, + string) + IL_0034: tail. + IL_0036: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [Utils]Utils/Product,string>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 37@42-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 37@42-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [Utils]Utils/Product,string>,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`4,class [Utils]Utils/Product,string> tupledArg) cil managed + { + + .maxstack 6 + .locals init (string V_0, + class [runtime]System.Collections.Generic.IEnumerable`1 V_1, + class [Utils]Utils/Product V_2, + string V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item2() + IL_000d: stloc.1 + IL_000e: ldarg.1 + IL_000f: call instance !2 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item3() + IL_0014: stloc.2 + IL_0015: ldarg.1 + IL_0016: call instance !3 class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>::get_Item4() + IL_001b: stloc.3 + IL_001c: ldloc.0 + IL_001d: ldloc.3 + IL_001e: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0023: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 37@42-5'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categories@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] q2@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q3@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] q4@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categories() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_q2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_q4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1> V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7) + IL_0000: ldstr "Beverages" + IL_0005: ldstr "Condiments" + IL_000a: ldstr "Vegetables" + IL_000f: ldstr "Dairy Products" + IL_0014: ldstr "Seafood" + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0037: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categories@8 + IL_003c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0041: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@9 + IL_0046: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004b: stloc.1 + IL_004c: ldloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_0055: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005a: ldloc.1 + IL_005b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0060: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0065: ldsfld class assembly/'Pipe #1 input at line 12@14' assembly/'Pipe #1 input at line 12@14'::@_instance + IL_006a: ldsfld class assembly/'Pipe #1 input at line 12@14-1' assembly/'Pipe #1 input at line 12@14-1'::@_instance + IL_006f: ldsfld class assembly/'Pipe #1 input at line 12@14-2' assembly/'Pipe #1 input at line 12@14-2'::@_instance + IL_0074: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Join>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0079: ldloc.1 + IL_007a: newobj instance void assembly/'Pipe #1 input at line 12@14-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_007f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0084: ldsfld class assembly/'Pipe #1 input at line 12@15-4' assembly/'Pipe #1 input at line 12@15-4'::@_instance + IL_0089: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008e: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0093: stloc.0 + IL_0094: ldloc.0 + IL_0095: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_009a: stsfld class [runtime]System.Tuple`2[] assembly::q@11 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a4: stloc.3 + IL_00a5: ldloc.3 + IL_00a6: ldloc.3 + IL_00a7: ldloc.3 + IL_00a8: ldloc.3 + IL_00a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_00ae: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b3: ldloc.3 + IL_00b4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00be: ldsfld class assembly/'Pipe #2 input at line 20@22' assembly/'Pipe #2 input at line 20@22'::@_instance + IL_00c3: ldsfld class assembly/'Pipe #2 input at line 20@22-1' assembly/'Pipe #2 input at line 20@22-1'::@_instance + IL_00c8: ldsfld class assembly/'Pipe #2 input at line 20@22-2' assembly/'Pipe #2 input at line 20@22-2'::@_instance + IL_00cd: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_00d2: ldloc.3 + IL_00d3: newobj instance void assembly/'Pipe #2 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00dd: ldsfld class assembly/'Pipe #2 input at line 20@23-4' assembly/'Pipe #2 input at line 20@23-4'::@_instance + IL_00e2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00e7: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00ec: stloc.2 + IL_00ed: ldloc.2 + IL_00ee: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f3: stsfld class [runtime]System.Tuple`2>[] assembly::q2@19 + IL_00f8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fd: stloc.s V_5 + IL_00ff: ldloc.s V_5 + IL_0101: ldloc.s V_5 + IL_0103: ldloc.s V_5 + IL_0105: ldloc.s V_5 + IL_0107: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_010c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0111: ldloc.s V_5 + IL_0113: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0118: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_011d: ldsfld class assembly/'Pipe #3 input at line 28@30' assembly/'Pipe #3 input at line 28@30'::@_instance + IL_0122: ldsfld class assembly/'Pipe #3 input at line 28@30-1' assembly/'Pipe #3 input at line 28@30-1'::@_instance + IL_0127: ldsfld class assembly/'Pipe #3 input at line 28@30-2' assembly/'Pipe #3 input at line 28@30-2'::@_instance + IL_012c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0131: ldloc.s V_5 + IL_0133: newobj instance void assembly/'Pipe #3 input at line 28@30-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0138: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013d: ldsfld class assembly/'Pipe #3 input at line 28@32-5' assembly/'Pipe #3 input at line 28@32-5'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_014c: stloc.s V_4 + IL_014e: ldloc.s V_4 + IL_0150: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0155: stsfld class [runtime]System.Tuple`2[] assembly::q3@27 + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_015f: stloc.s V_7 + IL_0161: ldloc.s V_7 + IL_0163: ldloc.s V_7 + IL_0165: ldloc.s V_7 + IL_0167: ldloc.s V_7 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + IL_016e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: ldloc.s V_7 + IL_0175: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_017a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_017f: ldsfld class assembly/'Pipe #4 input at line 37@39' assembly/'Pipe #4 input at line 37@39'::@_instance + IL_0184: ldsfld class assembly/'Pipe #4 input at line 37@39-1' assembly/'Pipe #4 input at line 37@39-1'::@_instance + IL_0189: ldsfld class assembly/'Pipe #4 input at line 37@39-2' assembly/'Pipe #4 input at line 37@39-2'::@_instance + IL_018e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupJoin>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,!!4>>) + IL_0193: ldloc.s V_7 + IL_0195: newobj instance void assembly/'Pipe #4 input at line 37@39-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`4,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_019f: ldsfld class assembly/'Pipe #4 input at line 37@42-5' assembly/'Pipe #4 input at line 37@42-5'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [Utils]Utils/Product,string>,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_01ae: stloc.s V_6 + IL_01b0: ldloc.s V_6 + IL_01b2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [runtime]System.Tuple`2[] assembly::q4@36 + IL_01bc: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categories() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categories() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2[] + q() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q() + } + .property class [runtime]System.Tuple`2>[] + q2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_q2() + } + .property class [runtime]System.Tuple`2[] + q3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q3() + } + .property class [runtime]System.Tuple`2[] + q4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_q4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs new file mode 100644 index 00000000000..f8e78ed5080 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs @@ -0,0 +1,64 @@ +// #Conformance #DataExpressions #Query +// Ordering LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +// OrderBy - Simple 1 +let words = ["cherry"; "apple"; "blueberry"] +let sortedWords = + query { + for w in words do + sortBy w + } |> Seq.toList + +// OrderBy - Simple 2 +let sortedWords2 = + query { + for w in words do + sortBy (w.Length) + } |> Seq.toList + +// OrderBy - Simple 3 +let products = getProductList() +let sortedProducts = + query { + for p in products do + sortBy p.ProductName + select p + } |> Seq.toArray + +// OrderByDescending - Simple 1 +// Dev11:179653 +//let doubles = [1.7M, 2.3M, 1.9M, 4.1M, 2.9M] +//let sortedDoubles = +// query { +// for d in doubles do +// sortByDescending d +// } |> Seq.toArray +//if sortedDoubles <> + +// OrderByDescending - Simple 2 +let sortedProducts2 = + query { + for p in products do + sortByDescending p.UnitsInStock + } |> Seq.toArray + +// ThenBy - Simple +let digits = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] +let sortedDigits = + query { + for d in digits do + sortBy d.Length + thenBy d + } |> Seq.toList + +// ThenByDescending - Simple +let sortedProducts3 = + query { + for p in products do + sortBy p.Category + thenByDescending p.UnitPrice + select p + } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..222178b86c3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.debug.bsl @@ -0,0 +1,1874 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 10@11' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 10@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 10@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 10@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 17@18' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 17@19-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 17@19-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 17@19-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@26' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@27-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@27-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@27-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@28-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@28-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@28-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@54-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@54-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@54-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@63-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@63-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@63-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords2@16 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@23 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts@24 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts2@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedDigits@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts3@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1 V_8, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + class [runtime]System.Collections.Generic.IEnumerable`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11) + IL_0000: ldstr "cherry" + IL_0005: ldstr "apple" + IL_000a: ldstr "blueberry" + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: ldsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_0041: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0046: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0052: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_005c: stloc.3 + IL_005d: ldloc.3 + IL_005e: ldnull + IL_005f: ldc.i4.0 + IL_0060: ldnull + IL_0061: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0066: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006b: ldsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_5 + IL_0097: ldloc.s V_5 + IL_0099: ldloc.s V_5 + IL_009b: ldloc.s V_5 + IL_009d: ldloc.s V_5 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.s V_5 + IL_00ab: newobj instance void assembly/'Pipe #3 input at line 25@26'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b5: ldsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_00ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00bf: ldsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_00c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00ce: stloc.s V_4 + IL_00d0: ldloc.s V_4 + IL_00d2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d7: stsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00e1: stloc.s V_7 + IL_00e3: ldloc.s V_7 + IL_00e5: ldnull + IL_00e6: ldc.i4.0 + IL_00e7: ldnull + IL_00e8: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_00ed: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f2: ldsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_00f7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0101: stloc.s V_6 + IL_0103: ldloc.s V_6 + IL_0105: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_010a: stsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_010f: ldstr "zero" + IL_0114: ldstr "one" + IL_0119: ldstr "two" + IL_011e: ldstr "three" + IL_0123: ldstr "four" + IL_0128: ldstr "five" + IL_012d: ldstr "six" + IL_0132: ldstr "seven" + IL_0137: ldstr "eight" + IL_013c: ldstr "nine" + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0155: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0164: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0173: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0178: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_017d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0182: stloc.s V_9 + IL_0184: ldloc.s V_9 + IL_0186: ldloc.s V_9 + IL_0188: ldnull + IL_0189: ldc.i4.0 + IL_018a: ldnull + IL_018b: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0190: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0195: ldsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_019f: ldsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ae: stloc.s V_8 + IL_01b0: ldloc.s V_8 + IL_01b2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_01bc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01c1: stloc.s V_11 + IL_01c3: ldloc.s V_11 + IL_01c5: ldloc.s V_11 + IL_01c7: ldloc.s V_11 + IL_01c9: ldloc.s V_11 + IL_01cb: ldloc.s V_11 + IL_01cd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: ldloc.s V_11 + IL_01d9: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01de: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01e3: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01e8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ed: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01f2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01f7: ldsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_01fc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0201: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0206: stloc.s V_10 + IL_0208: ldloc.s V_10 + IL_020a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_020f: stsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0214: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product[] sortedProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts() + } + .property class [Utils]Utils/Product[] sortedProducts2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedDigits() + } + .property class [Utils]Utils/Product[] sortedProducts3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts3() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..222178b86c3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.release.bsl @@ -0,0 +1,1874 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 10@11' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 10@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 10@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 10@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 17@18' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 17@19-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 17@19-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 17@19-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@26' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@27-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@27-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@27-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@28-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@28-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@28-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@54-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@54-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@54-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@63-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@63-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@63-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords2@16 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@23 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts@24 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts2@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedDigits@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts3@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1 V_8, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + class [runtime]System.Collections.Generic.IEnumerable`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11) + IL_0000: ldstr "cherry" + IL_0005: ldstr "apple" + IL_000a: ldstr "blueberry" + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: ldsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_0041: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0046: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0052: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_005c: stloc.3 + IL_005d: ldloc.3 + IL_005e: ldnull + IL_005f: ldc.i4.0 + IL_0060: ldnull + IL_0061: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0066: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006b: ldsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_5 + IL_0097: ldloc.s V_5 + IL_0099: ldloc.s V_5 + IL_009b: ldloc.s V_5 + IL_009d: ldloc.s V_5 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.s V_5 + IL_00ab: newobj instance void assembly/'Pipe #3 input at line 25@26'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b5: ldsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_00ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00bf: ldsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_00c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00ce: stloc.s V_4 + IL_00d0: ldloc.s V_4 + IL_00d2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d7: stsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00e1: stloc.s V_7 + IL_00e3: ldloc.s V_7 + IL_00e5: ldnull + IL_00e6: ldc.i4.0 + IL_00e7: ldnull + IL_00e8: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_00ed: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f2: ldsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_00f7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0101: stloc.s V_6 + IL_0103: ldloc.s V_6 + IL_0105: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_010a: stsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_010f: ldstr "zero" + IL_0114: ldstr "one" + IL_0119: ldstr "two" + IL_011e: ldstr "three" + IL_0123: ldstr "four" + IL_0128: ldstr "five" + IL_012d: ldstr "six" + IL_0132: ldstr "seven" + IL_0137: ldstr "eight" + IL_013c: ldstr "nine" + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0155: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0164: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0173: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0178: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_017d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0182: stloc.s V_9 + IL_0184: ldloc.s V_9 + IL_0186: ldloc.s V_9 + IL_0188: ldnull + IL_0189: ldc.i4.0 + IL_018a: ldnull + IL_018b: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0190: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0195: ldsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_019f: ldsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ae: stloc.s V_8 + IL_01b0: ldloc.s V_8 + IL_01b2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_01bc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01c1: stloc.s V_11 + IL_01c3: ldloc.s V_11 + IL_01c5: ldloc.s V_11 + IL_01c7: ldloc.s V_11 + IL_01c9: ldloc.s V_11 + IL_01cb: ldloc.s V_11 + IL_01cd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: ldloc.s V_11 + IL_01d9: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01de: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01e3: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01e8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ed: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01f2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01f7: ldsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_01fc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0201: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0206: stloc.s V_10 + IL_0208: ldloc.s V_10 + IL_020a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_020f: stsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0214: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product[] sortedProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts() + } + .property class [Utils]Utils/Product[] sortedProducts2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedDigits() + } + .property class [Utils]Utils/Product[] sortedProducts3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts3() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..6361468d351 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.debug.bsl @@ -0,0 +1,1874 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 10@11' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 10@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 10@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 10@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 17@18' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 17@19-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 17@19-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 17@19-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@26' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@27-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@27-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@27-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@28-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@28-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@28-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@54-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@54-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@54-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@63-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@63-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@63-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords2@16 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@23 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts@24 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts2@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedDigits@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts3@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1 V_8, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + class [runtime]System.Collections.Generic.IEnumerable`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11) + IL_0000: ldstr "cherry" + IL_0005: ldstr "apple" + IL_000a: ldstr "blueberry" + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: ldsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_0041: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0046: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0052: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_005c: stloc.3 + IL_005d: ldloc.3 + IL_005e: ldnull + IL_005f: ldc.i4.0 + IL_0060: ldnull + IL_0061: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0066: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006b: ldsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_5 + IL_0097: ldloc.s V_5 + IL_0099: ldloc.s V_5 + IL_009b: ldloc.s V_5 + IL_009d: ldloc.s V_5 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.s V_5 + IL_00ab: newobj instance void assembly/'Pipe #3 input at line 25@26'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b5: ldsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_00ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00bf: ldsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_00c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00ce: stloc.s V_4 + IL_00d0: ldloc.s V_4 + IL_00d2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d7: stsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00e1: stloc.s V_7 + IL_00e3: ldloc.s V_7 + IL_00e5: ldnull + IL_00e6: ldc.i4.0 + IL_00e7: ldnull + IL_00e8: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_00ed: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f2: ldsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_00f7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0101: stloc.s V_6 + IL_0103: ldloc.s V_6 + IL_0105: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_010a: stsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_010f: ldstr "zero" + IL_0114: ldstr "one" + IL_0119: ldstr "two" + IL_011e: ldstr "three" + IL_0123: ldstr "four" + IL_0128: ldstr "five" + IL_012d: ldstr "six" + IL_0132: ldstr "seven" + IL_0137: ldstr "eight" + IL_013c: ldstr "nine" + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0155: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0164: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0173: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0178: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_017d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0182: stloc.s V_9 + IL_0184: ldloc.s V_9 + IL_0186: ldloc.s V_9 + IL_0188: ldnull + IL_0189: ldc.i4.0 + IL_018a: ldnull + IL_018b: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0190: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0195: ldsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_019f: ldsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ae: stloc.s V_8 + IL_01b0: ldloc.s V_8 + IL_01b2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_01bc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01c1: stloc.s V_11 + IL_01c3: ldloc.s V_11 + IL_01c5: ldloc.s V_11 + IL_01c7: ldloc.s V_11 + IL_01c9: ldloc.s V_11 + IL_01cb: ldloc.s V_11 + IL_01cd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: ldloc.s V_11 + IL_01d9: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01de: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01e3: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01e8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ed: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01f2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01f7: ldsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_01fc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0201: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0206: stloc.s V_10 + IL_0208: ldloc.s V_10 + IL_020a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_020f: stsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0214: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product[] sortedProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts() + } + .property class [Utils]Utils/Product[] sortedProducts2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedDigits() + } + .property class [Utils]Utils/Product[] sortedProducts3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts3() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..6361468d351 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.release.bsl @@ -0,0 +1,1874 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 10@11' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 10@11'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 10@11'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #1 input at line 10@11'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 10@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 10@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 10@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 17@18' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 17@18'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 17@18'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 17@18'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 17@19-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 17@19-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 17@19-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@26' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #3 input at line 25@26'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@27-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@27-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@27-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 25@28-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #3 input at line 25@28-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 25@28-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 43@44' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Product current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [Utils]Utils/Product current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0, + class [Utils]Utils/Product V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 43@44'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 43@44'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [Utils]Utils/Product get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [Utils]Utils/Product assembly/'Pipe #4 input at line 43@44'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 43@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #4 input at line 43@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 43@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #5 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [runtime]System.String::get_Length() + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@54-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@54-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(string d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@54-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance valuetype [runtime]System.Decimal Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@63-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@63-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@63-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedWords2@16 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@23 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts@24 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts2@42 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 sortedDigits@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Product[] sortedProducts3@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedWords2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_sortedDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Product[] get_sortedProducts3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1 V_8, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_9, + class [runtime]System.Collections.Generic.IEnumerable`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_11) + IL_0000: ldstr "cherry" + IL_0005: ldstr "apple" + IL_000a: ldstr "blueberry" + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldnull + IL_0032: newobj instance void assembly/'Pipe #1 input at line 10@11'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: ldsfld class assembly/'Pipe #1 input at line 10@12-1' assembly/'Pipe #1 input at line 10@12-1'::@_instance + IL_0041: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0046: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_004b: stloc.0 + IL_004c: ldloc.0 + IL_004d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0052: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords@9 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_005c: stloc.3 + IL_005d: ldloc.3 + IL_005e: ldnull + IL_005f: ldc.i4.0 + IL_0060: ldnull + IL_0061: newobj instance void assembly/'Pipe #2 input at line 17@18'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0066: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006b: ldsfld class assembly/'Pipe #2 input at line 17@19-1' assembly/'Pipe #2 input at line 17@19-1'::@_instance + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedWords2@16 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@23 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_5 + IL_0097: ldloc.s V_5 + IL_0099: ldloc.s V_5 + IL_009b: ldloc.s V_5 + IL_009d: ldloc.s V_5 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.s V_5 + IL_00ab: newobj instance void assembly/'Pipe #3 input at line 25@26'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b5: ldsfld class assembly/'Pipe #3 input at line 25@27-1' assembly/'Pipe #3 input at line 25@27-1'::@_instance + IL_00ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00bf: ldsfld class assembly/'Pipe #3 input at line 25@28-2' assembly/'Pipe #3 input at line 25@28-2'::@_instance + IL_00c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00ce: stloc.s V_4 + IL_00d0: ldloc.s V_4 + IL_00d2: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d7: stsfld class [Utils]Utils/Product[] assembly::sortedProducts@24 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00e1: stloc.s V_7 + IL_00e3: ldloc.s V_7 + IL_00e5: ldnull + IL_00e6: ldc.i4.0 + IL_00e7: ldnull + IL_00e8: newobj instance void assembly/'Pipe #4 input at line 43@44'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [Utils]Utils/Product) + IL_00ed: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00f2: ldsfld class assembly/'Pipe #4 input at line 43@45-1' assembly/'Pipe #4 input at line 43@45-1'::@_instance + IL_00f7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0101: stloc.s V_6 + IL_0103: ldloc.s V_6 + IL_0105: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_010a: stsfld class [Utils]Utils/Product[] assembly::sortedProducts2@42 + IL_010f: ldstr "zero" + IL_0114: ldstr "one" + IL_0119: ldstr "two" + IL_011e: ldstr "three" + IL_0123: ldstr "four" + IL_0128: ldstr "five" + IL_012d: ldstr "six" + IL_0132: ldstr "seven" + IL_0137: ldstr "eight" + IL_013c: ldstr "nine" + IL_0141: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0146: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_014b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0150: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0155: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0164: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0173: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0178: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@49 + IL_017d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0182: stloc.s V_9 + IL_0184: ldloc.s V_9 + IL_0186: ldloc.s V_9 + IL_0188: ldnull + IL_0189: ldc.i4.0 + IL_018a: ldnull + IL_018b: newobj instance void assembly/'Pipe #5 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0190: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0195: ldsfld class assembly/'Pipe #5 input at line 51@53-1' assembly/'Pipe #5 input at line 51@53-1'::@_instance + IL_019a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_019f: ldsfld class assembly/'Pipe #5 input at line 51@54-2' assembly/'Pipe #5 input at line 51@54-2'::@_instance + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01a9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ae: stloc.s V_8 + IL_01b0: ldloc.s V_8 + IL_01b2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01b7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::sortedDigits@50 + IL_01bc: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01c1: stloc.s V_11 + IL_01c3: ldloc.s V_11 + IL_01c5: ldloc.s V_11 + IL_01c7: ldloc.s V_11 + IL_01c9: ldloc.s V_11 + IL_01cb: ldloc.s V_11 + IL_01cd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_01d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: ldloc.s V_11 + IL_01d9: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01de: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01e3: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01e8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SortBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01ed: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01f2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::ThenByDescending(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01f7: ldsfld class assembly/'Pipe #6 input at line 59@63-3' assembly/'Pipe #6 input at line 59@63-3'::@_instance + IL_01fc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0201: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0206: stloc.s V_10 + IL_0208: ldloc.s V_10 + IL_020a: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_020f: stsfld class [Utils]Utils/Product[] assembly::sortedProducts3@58 + IL_0214: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedWords2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedWords2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [Utils]Utils/Product[] sortedProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts() + } + .property class [Utils]Utils/Product[] sortedProducts2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + sortedDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_sortedDigits() + } + .property class [Utils]Utils/Product[] sortedProducts3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Product[] assembly::get_sortedProducts3() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs new file mode 100644 index 00000000000..2c7185c5a74 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs @@ -0,0 +1,54 @@ +// #Conformance #DataExpressions #Query +// Partitioning LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] + +// Take - simple +let first3Numbers = + query { + for n in numbers do + take 3 + } |> Seq.toList + +// Take - nested +let customers = getCustomerList() +let WAOrders = + query { + for c in customers do + for o in c.Orders do + where (c.Region = "WA") + select (c.CustomerID, o.OrderID, o.OrderDate) + } |> Seq.toArray + +// Skip - simple +let allButFirst4Numbers = + query { + for n in numbers do + skip 4 + } |> Seq.toList + +// Skip - Nested +let WAOrders2 = + query { + for c in customers do + for o in c.Orders do + where (c.Region = "WA") + select (c.CustomerID, o.OrderID, o.OrderDate) + } |> Seq.skip 2 |> Seq.toList + +// TakeWhile - simple +let firstNumbersLessThan6 = + query { + for n in numbers do + takeWhile (n < 6) + } |> Seq.toList + +// SkipWhile - simple +let allButFirst3Numbers = + query { + for n in numbers do + skipWhile (n % 3 <> 0) + } |> Seq.toList \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..664a79bacda --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.debug.bsl @@ -0,0 +1,1887 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@20' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #2 input at line 19@21-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@23-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@23-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@23-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 28@29' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@37-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@36' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #4 input at line 35@37-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@38-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@38-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@38-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@39-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@39-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 44@45' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 44@46-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 44@46-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.6 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 44@46-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #6 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.3 + IL_0002: rem + IL_0003: ldc.i4.0 + IL_0004: ceq + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 first3Numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] WAOrders@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst4Numbers@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> WAOrders2@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 firstNumbersLessThan6@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst3Numbers@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_first3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_WAOrders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst4Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_WAOrders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_firstNumbersLessThan6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8, + class [runtime]System.Collections.Generic.IEnumerable`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldnull + IL_004f: ldc.i4.0 + IL_0050: ldc.i4.0 + IL_0051: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0056: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldc.i4.3 + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Take(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0061: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0066: stloc.0 + IL_0067: ldloc.0 + IL_0068: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0072: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0077: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0081: stloc.3 + IL_0082: ldloc.3 + IL_0083: ldloc.3 + IL_0084: ldloc.3 + IL_0085: ldloc.3 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_008b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0090: ldloc.3 + IL_0091: newobj instance void assembly/'Pipe #2 input at line 19@20'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0096: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_009b: ldsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_00a0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a5: ldsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_00aa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00af: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b4: stloc.2 + IL_00b5: ldloc.2 + IL_00b6: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00bb: stsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00c5: stloc.s V_5 + IL_00c7: ldloc.s V_5 + IL_00c9: ldnull + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d6: ldc.i4.4 + IL_00d7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Skip(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_00dc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00e1: stloc.s V_4 + IL_00e3: ldloc.s V_4 + IL_00e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ea: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_00ef: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f4: stloc.s V_7 + IL_00f6: ldloc.s V_7 + IL_00f8: ldloc.s V_7 + IL_00fa: ldloc.s V_7 + IL_00fc: ldloc.s V_7 + IL_00fe: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0103: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldloc.s V_7 + IL_010a: newobj instance void assembly/'Pipe #4 input at line 35@36'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_010f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0114: ldsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_0119: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_011e: ldsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_0123: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0128: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_012d: stloc.s V_6 + IL_012f: ldc.i4.2 + IL_0130: ldloc.s V_6 + IL_0132: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Skip>(int32, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0137: stloc.s V_8 + IL_0139: ldloc.s V_8 + IL_013b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0140: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0145: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_014a: stloc.s V_10 + IL_014c: ldloc.s V_10 + IL_014e: ldnull + IL_014f: ldc.i4.0 + IL_0150: ldc.i4.0 + IL_0151: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0156: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_015b: ldsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::TakeWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0165: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_016a: stloc.s V_9 + IL_016c: ldloc.s V_9 + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0178: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_017d: stloc.s V_12 + IL_017f: ldloc.s V_12 + IL_0181: ldnull + IL_0182: ldc.i4.0 + IL_0183: ldc.i4.0 + IL_0184: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0189: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_018e: ldsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_0193: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SkipWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0198: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_019d: stloc.s V_11 + IL_019f: ldloc.s V_11 + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_01ab: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + first3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_first3Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + WAOrders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_WAOrders() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst4Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst4Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + WAOrders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_WAOrders2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + firstNumbersLessThan6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_firstNumbersLessThan6() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst3Numbers() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..664a79bacda --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.release.bsl @@ -0,0 +1,1887 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@20' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #2 input at line 19@21-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@23-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@23-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@23-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 28@29' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@37-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@36' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #4 input at line 35@37-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@38-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@38-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@38-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@39-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@39-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 44@45' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 44@46-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 44@46-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.6 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 44@46-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #6 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.3 + IL_0002: rem + IL_0003: ldc.i4.0 + IL_0004: ceq + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 first3Numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] WAOrders@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst4Numbers@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> WAOrders2@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 firstNumbersLessThan6@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst3Numbers@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_first3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_WAOrders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst4Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_WAOrders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_firstNumbersLessThan6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8, + class [runtime]System.Collections.Generic.IEnumerable`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldnull + IL_004f: ldc.i4.0 + IL_0050: ldc.i4.0 + IL_0051: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0056: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldc.i4.3 + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Take(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0061: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0066: stloc.0 + IL_0067: ldloc.0 + IL_0068: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0072: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0077: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0081: stloc.3 + IL_0082: ldloc.3 + IL_0083: ldloc.3 + IL_0084: ldloc.3 + IL_0085: ldloc.3 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_008b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0090: ldloc.3 + IL_0091: newobj instance void assembly/'Pipe #2 input at line 19@20'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0096: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_009b: ldsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_00a0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a5: ldsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_00aa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00af: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b4: stloc.2 + IL_00b5: ldloc.2 + IL_00b6: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00bb: stsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00c5: stloc.s V_5 + IL_00c7: ldloc.s V_5 + IL_00c9: ldnull + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d6: ldc.i4.4 + IL_00d7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Skip(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_00dc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00e1: stloc.s V_4 + IL_00e3: ldloc.s V_4 + IL_00e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ea: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_00ef: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f4: stloc.s V_7 + IL_00f6: ldloc.s V_7 + IL_00f8: ldloc.s V_7 + IL_00fa: ldloc.s V_7 + IL_00fc: ldloc.s V_7 + IL_00fe: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0103: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldloc.s V_7 + IL_010a: newobj instance void assembly/'Pipe #4 input at line 35@36'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_010f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0114: ldsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_0119: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_011e: ldsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_0123: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0128: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_012d: stloc.s V_6 + IL_012f: ldc.i4.2 + IL_0130: ldloc.s V_6 + IL_0132: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Skip>(int32, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0137: stloc.s V_8 + IL_0139: ldloc.s V_8 + IL_013b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0140: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0145: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_014a: stloc.s V_10 + IL_014c: ldloc.s V_10 + IL_014e: ldnull + IL_014f: ldc.i4.0 + IL_0150: ldc.i4.0 + IL_0151: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0156: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_015b: ldsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::TakeWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0165: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_016a: stloc.s V_9 + IL_016c: ldloc.s V_9 + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0178: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_017d: stloc.s V_12 + IL_017f: ldloc.s V_12 + IL_0181: ldnull + IL_0182: ldc.i4.0 + IL_0183: ldc.i4.0 + IL_0184: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0189: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_018e: ldsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_0193: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SkipWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0198: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_019d: stloc.s V_11 + IL_019f: ldloc.s V_11 + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_01ab: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + first3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_first3Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + WAOrders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_WAOrders() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst4Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst4Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + WAOrders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_WAOrders2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + firstNumbersLessThan6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_firstNumbersLessThan6() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst3Numbers() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..0640187da90 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.debug.bsl @@ -0,0 +1,1887 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@20' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #2 input at line 19@21-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@23-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@23-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@23-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 28@29' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@37-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@36' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #4 input at line 35@37-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@38-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@38-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@38-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@39-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@39-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 44@45' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 44@46-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 44@46-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.6 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 44@46-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #6 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.3 + IL_0002: rem + IL_0003: ldc.i4.0 + IL_0004: ceq + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 first3Numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] WAOrders@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst4Numbers@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> WAOrders2@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 firstNumbersLessThan6@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst3Numbers@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_first3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_WAOrders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst4Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_WAOrders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_firstNumbersLessThan6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8, + class [runtime]System.Collections.Generic.IEnumerable`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldnull + IL_004f: ldc.i4.0 + IL_0050: ldc.i4.0 + IL_0051: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0056: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldc.i4.3 + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Take(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0061: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0066: stloc.0 + IL_0067: ldloc.0 + IL_0068: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0072: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0077: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0081: stloc.3 + IL_0082: ldloc.3 + IL_0083: ldloc.3 + IL_0084: ldloc.3 + IL_0085: ldloc.3 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_008b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0090: ldloc.3 + IL_0091: newobj instance void assembly/'Pipe #2 input at line 19@20'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0096: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_009b: ldsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_00a0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a5: ldsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_00aa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00af: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b4: stloc.2 + IL_00b5: ldloc.2 + IL_00b6: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00bb: stsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00c5: stloc.s V_5 + IL_00c7: ldloc.s V_5 + IL_00c9: ldnull + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d6: ldc.i4.4 + IL_00d7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Skip(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_00dc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00e1: stloc.s V_4 + IL_00e3: ldloc.s V_4 + IL_00e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ea: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_00ef: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f4: stloc.s V_7 + IL_00f6: ldloc.s V_7 + IL_00f8: ldloc.s V_7 + IL_00fa: ldloc.s V_7 + IL_00fc: ldloc.s V_7 + IL_00fe: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0103: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldloc.s V_7 + IL_010a: newobj instance void assembly/'Pipe #4 input at line 35@36'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_010f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0114: ldsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_0119: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_011e: ldsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_0123: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0128: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_012d: stloc.s V_6 + IL_012f: ldc.i4.2 + IL_0130: ldloc.s V_6 + IL_0132: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Skip>(int32, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0137: stloc.s V_8 + IL_0139: ldloc.s V_8 + IL_013b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0140: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0145: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_014a: stloc.s V_10 + IL_014c: ldloc.s V_10 + IL_014e: ldnull + IL_014f: ldc.i4.0 + IL_0150: ldc.i4.0 + IL_0151: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0156: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_015b: ldsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::TakeWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0165: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_016a: stloc.s V_9 + IL_016c: ldloc.s V_9 + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0178: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_017d: stloc.s V_12 + IL_017f: ldloc.s V_12 + IL_0181: ldnull + IL_0182: ldc.i4.0 + IL_0183: ldc.i4.0 + IL_0184: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0189: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_018e: ldsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_0193: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SkipWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0198: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_019d: stloc.s V_11 + IL_019f: ldloc.s V_11 + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_01ab: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + first3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_first3Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + WAOrders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_WAOrders() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst4Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst4Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + WAOrders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_WAOrders2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + firstNumbersLessThan6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_firstNumbersLessThan6() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst3Numbers() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..0640187da90 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.release.bsl @@ -0,0 +1,1887 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@12' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@12'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@12'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@21-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #2 input at line 19@21-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@20' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 19@20'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #2 input at line 19@21-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 19@23-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 19@23-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 19@23-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 28@29' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 28@29'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 28@29'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@37-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@37-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #4 input at line 35@37-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@36' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #4 input at line 35@36'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #4 input at line 35@37-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@38-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@38-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0014: ldstr "WA" + IL_0019: call bool [netstandard]System.String::Equals(string, + string) + IL_001e: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@38-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 35@39-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 35@39-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 35@39-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 44@45' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 44@45'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 44@45'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 44@46-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #5 input at line 44@46-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.6 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 44@46-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #6 input at line 51@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #6 input at line 51@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #6 input at line 51@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 51@53-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 51@53-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.3 + IL_0002: rem + IL_0003: ldc.i4.0 + IL_0004: ceq + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 51@53-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 first3Numbers@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] WAOrders@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst4Numbers@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> WAOrders2@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 firstNumbersLessThan6@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 allButFirst3Numbers@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_first3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_WAOrders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst4Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_WAOrders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_firstNumbersLessThan6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_allButFirst3Numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1> V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8, + class [runtime]System.Collections.Generic.IEnumerable`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldnull + IL_004f: ldc.i4.0 + IL_0050: ldc.i4.0 + IL_0051: newobj instance void assembly/'Pipe #1 input at line 11@12'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0056: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldc.i4.3 + IL_005c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Take(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_0061: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0066: stloc.0 + IL_0067: ldloc.0 + IL_0068: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_006d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::first3Numbers@10 + IL_0072: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0077: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@17 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0081: stloc.3 + IL_0082: ldloc.3 + IL_0083: ldloc.3 + IL_0084: ldloc.3 + IL_0085: ldloc.3 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_008b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0090: ldloc.3 + IL_0091: newobj instance void assembly/'Pipe #2 input at line 19@20'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0096: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_009b: ldsfld class assembly/'Pipe #2 input at line 19@22-2' assembly/'Pipe #2 input at line 19@22-2'::@_instance + IL_00a0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a5: ldsfld class assembly/'Pipe #2 input at line 19@23-3' assembly/'Pipe #2 input at line 19@23-3'::@_instance + IL_00aa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00af: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b4: stloc.2 + IL_00b5: ldloc.2 + IL_00b6: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00bb: stsfld class [runtime]System.Tuple`3[] assembly::WAOrders@18 + IL_00c0: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00c5: stloc.s V_5 + IL_00c7: ldloc.s V_5 + IL_00c9: ldnull + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: newobj instance void assembly/'Pipe #3 input at line 28@29'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_00d1: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00d6: ldc.i4.4 + IL_00d7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Skip(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + int32) + IL_00dc: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00e1: stloc.s V_4 + IL_00e3: ldloc.s V_4 + IL_00e5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00ea: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst4Numbers@27 + IL_00ef: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f4: stloc.s V_7 + IL_00f6: ldloc.s V_7 + IL_00f8: ldloc.s V_7 + IL_00fa: ldloc.s V_7 + IL_00fc: ldloc.s V_7 + IL_00fe: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0103: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldloc.s V_7 + IL_010a: newobj instance void assembly/'Pipe #4 input at line 35@36'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_010f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0114: ldsfld class assembly/'Pipe #4 input at line 35@38-2' assembly/'Pipe #4 input at line 35@38-2'::@_instance + IL_0119: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_011e: ldsfld class assembly/'Pipe #4 input at line 35@39-3' assembly/'Pipe #4 input at line 35@39-3'::@_instance + IL_0123: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0128: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_012d: stloc.s V_6 + IL_012f: ldc.i4.2 + IL_0130: ldloc.s V_6 + IL_0132: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Skip>(int32, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0137: stloc.s V_8 + IL_0139: ldloc.s V_8 + IL_013b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0140: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::WAOrders2@34 + IL_0145: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_014a: stloc.s V_10 + IL_014c: ldloc.s V_10 + IL_014e: ldnull + IL_014f: ldc.i4.0 + IL_0150: ldc.i4.0 + IL_0151: newobj instance void assembly/'Pipe #5 input at line 44@45'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0156: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_015b: ldsfld class assembly/'Pipe #5 input at line 44@46-1' assembly/'Pipe #5 input at line 44@46-1'::@_instance + IL_0160: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::TakeWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0165: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_016a: stloc.s V_9 + IL_016c: ldloc.s V_9 + IL_016e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0173: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::firstNumbersLessThan6@43 + IL_0178: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_017d: stloc.s V_12 + IL_017f: ldloc.s V_12 + IL_0181: ldnull + IL_0182: ldc.i4.0 + IL_0183: ldc.i4.0 + IL_0184: newobj instance void assembly/'Pipe #6 input at line 51@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0189: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_018e: ldsfld class assembly/'Pipe #6 input at line 51@53-1' assembly/'Pipe #6 input at line 51@53-1'::@_instance + IL_0193: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::SkipWhile(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0198: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_019d: stloc.s V_11 + IL_019f: ldloc.s V_11 + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a6: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::allButFirst3Numbers@50 + IL_01ab: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + first3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_first3Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + WAOrders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_WAOrders() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst4Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst4Numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + WAOrders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_WAOrders2() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + firstNumbersLessThan6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_firstNumbersLessThan6() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + allButFirst3Numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_allButFirst3Numbers() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs new file mode 100644 index 00000000000..0c71cf21059 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs @@ -0,0 +1,43 @@ +// #Conformance #DataExpressions #Query +// Quantifier LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +// Any - Simple +let words = ["believe"; "relief"; "receipt"; "field"] + +let iAfterE = + query { + for w in words do + exists (w.Contains("ei")) + } + +// Any - Grouped +let products = getProductList() + +let productGroups = + query { + for p in products do + groupValBy p p.Category into g + where (g.Any(fun x -> x.UnitsInStock = 0)) + select (g.Key, g) + } |> Seq.toArray + +// All - simple +let numbers = [1;11;3;19;41;65;19] + +let onlyOdd = + query { + for n in numbers do + all (n % 2 = 1) + } + +// All - Grouped +let productGroups2 = + query { + for p in products do + groupValBy p p.Category into g + where (g.All(fun x -> x.UnitsInStock > 0)) + select (g.Key, g) + } |> Seq.toArray diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..681890e5921 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.debug.bsl @@ -0,0 +1,1414 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname iAfterE@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/iAfterE@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/iAfterE@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/iAfterE@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/iAfterE@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/iAfterE@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/iAfterE@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/iAfterE@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/iAfterE@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/iAfterE@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/iAfterE@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/iAfterE@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/iAfterE@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/iAfterE@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'iAfterE@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'iAfterE@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldstr "ei" + IL_0006: callvirt instance bool [runtime]System.String::Contains(string) + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'iAfterE@13-1'::.ctor() + IL_0005: stsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@21' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 20@23-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #1 input at line 20@23-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Core]System.Linq.Enumerable::Any(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@24-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@24-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@24-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname onlyOdd@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/onlyOdd@32::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/onlyOdd@32::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/onlyOdd@32::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/onlyOdd@32::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/onlyOdd@32::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/onlyOdd@32::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/onlyOdd@32::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/onlyOdd@32::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/onlyOdd@32::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/onlyOdd@32::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/onlyOdd@32::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/onlyOdd@32::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'onlyOdd@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'onlyOdd@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: rem + IL_0003: ldc.i4.1 + IL_0004: ceq + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'onlyOdd@33-1'::.ctor() + IL_0005: stsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 38@41-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: cgt + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@41-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@41-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #2 input at line 38@41-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Core]System.Linq.Enumerable::All(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@41-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@42-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@42-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@42-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool iAfterE@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool onlyOdd@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups2@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static bool get_iAfterE() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::iAfterE@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_0005: ret + } + + .method public specialname static bool get_onlyOdd() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::onlyOdd@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1>> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldstr "believe" + IL_0005: ldstr "relief" + IL_000a: ldstr "receipt" + IL_000f: ldstr "field" + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0037: ldnull + IL_0038: ldc.i4.0 + IL_0039: ldnull + IL_003a: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_003f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0044: ldsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_0049: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Exists(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_004e: stsfld bool assembly::iAfterE@10 + IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0058: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0062: stloc.1 + IL_0063: ldloc.1 + IL_0064: ldloc.1 + IL_0065: ldloc.1 + IL_0066: ldloc.1 + IL_0067: ldloc.1 + IL_0068: ldloc.1 + IL_0069: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_006e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0073: ldloc.1 + IL_0074: newobj instance void assembly/'Pipe #1 input at line 20@21'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0079: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_007e: ldsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_0083: ldsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_0088: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008d: ldloc.1 + IL_008e: newobj instance void assembly/'Pipe #1 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0093: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0098: ldsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_009d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a2: ldsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_00a7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00ac: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b1: stloc.0 + IL_00b2: ldloc.0 + IL_00b3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b8: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_00bd: ldc.i4.1 + IL_00be: ldc.i4.s 11 + IL_00c0: ldc.i4.3 + IL_00c1: ldc.i4.s 19 + IL_00c3: ldc.i4.s 41 + IL_00c5: ldc.i4.s 65 + IL_00c7: ldc.i4.s 19 + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00f1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_00f6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fb: ldnull + IL_00fc: ldc.i4.0 + IL_00fd: ldc.i4.0 + IL_00fe: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0103: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_010d: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::All(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0112: stsfld bool assembly::onlyOdd@30 + IL_0117: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011c: stloc.3 + IL_011d: ldloc.3 + IL_011e: ldloc.3 + IL_011f: ldloc.3 + IL_0120: ldloc.3 + IL_0121: ldloc.3 + IL_0122: ldloc.3 + IL_0123: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0128: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_012d: ldloc.3 + IL_012e: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0133: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0138: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_013d: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: ldloc.3 + IL_0148: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0152: ldsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_0157: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_015c: ldsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_0161: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0166: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_016b: stloc.2 + IL_016c: ldloc.2 + IL_016d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0172: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0177: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property bool iAfterE() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_iAfterE() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2>[] + productGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property bool onlyOdd() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_onlyOdd() + } + .property class [runtime]System.Tuple`2>[] + productGroups2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups2() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..681890e5921 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.release.bsl @@ -0,0 +1,1414 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname iAfterE@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/iAfterE@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/iAfterE@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/iAfterE@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/iAfterE@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/iAfterE@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/iAfterE@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/iAfterE@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/iAfterE@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/iAfterE@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/iAfterE@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/iAfterE@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/iAfterE@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/iAfterE@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'iAfterE@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'iAfterE@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldstr "ei" + IL_0006: callvirt instance bool [runtime]System.String::Contains(string) + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'iAfterE@13-1'::.ctor() + IL_0005: stsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@21' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 20@23-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #1 input at line 20@23-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Core]System.Linq.Enumerable::Any(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@24-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@24-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@24-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname onlyOdd@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/onlyOdd@32::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/onlyOdd@32::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/onlyOdd@32::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/onlyOdd@32::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/onlyOdd@32::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/onlyOdd@32::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/onlyOdd@32::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/onlyOdd@32::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/onlyOdd@32::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/onlyOdd@32::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/onlyOdd@32::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/onlyOdd@32::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'onlyOdd@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'onlyOdd@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: rem + IL_0003: ldc.i4.1 + IL_0004: ceq + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'onlyOdd@33-1'::.ctor() + IL_0005: stsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Core]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Core]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 38@41-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: cgt + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@41-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@41-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #2 input at line 38@41-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Core]System.Linq.Enumerable::All(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@41-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@42-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@42-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Core]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Core]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@42-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool iAfterE@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool onlyOdd@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups2@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static bool get_iAfterE() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::iAfterE@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_0005: ret + } + + .method public specialname static bool get_onlyOdd() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::onlyOdd@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1>> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldstr "believe" + IL_0005: ldstr "relief" + IL_000a: ldstr "receipt" + IL_000f: ldstr "field" + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0037: ldnull + IL_0038: ldc.i4.0 + IL_0039: ldnull + IL_003a: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_003f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0044: ldsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_0049: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Exists(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_004e: stsfld bool assembly::iAfterE@10 + IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0058: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0062: stloc.1 + IL_0063: ldloc.1 + IL_0064: ldloc.1 + IL_0065: ldloc.1 + IL_0066: ldloc.1 + IL_0067: ldloc.1 + IL_0068: ldloc.1 + IL_0069: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_006e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0073: ldloc.1 + IL_0074: newobj instance void assembly/'Pipe #1 input at line 20@21'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0079: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_007e: ldsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_0083: ldsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_0088: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008d: ldloc.1 + IL_008e: newobj instance void assembly/'Pipe #1 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0093: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0098: ldsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_009d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a2: ldsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_00a7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00ac: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b1: stloc.0 + IL_00b2: ldloc.0 + IL_00b3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b8: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_00bd: ldc.i4.1 + IL_00be: ldc.i4.s 11 + IL_00c0: ldc.i4.3 + IL_00c1: ldc.i4.s 19 + IL_00c3: ldc.i4.s 41 + IL_00c5: ldc.i4.s 65 + IL_00c7: ldc.i4.s 19 + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00f1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_00f6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fb: ldnull + IL_00fc: ldc.i4.0 + IL_00fd: ldc.i4.0 + IL_00fe: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0103: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_010d: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::All(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0112: stsfld bool assembly::onlyOdd@30 + IL_0117: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011c: stloc.3 + IL_011d: ldloc.3 + IL_011e: ldloc.3 + IL_011f: ldloc.3 + IL_0120: ldloc.3 + IL_0121: ldloc.3 + IL_0122: ldloc.3 + IL_0123: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0128: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_012d: ldloc.3 + IL_012e: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0133: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0138: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_013d: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: ldloc.3 + IL_0148: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Core]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0152: ldsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_0157: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_015c: ldsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_0161: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0166: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_016b: stloc.2 + IL_016c: ldloc.2 + IL_016d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0172: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0177: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property bool iAfterE() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_iAfterE() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2>[] + productGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property bool onlyOdd() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_onlyOdd() + } + .property class [runtime]System.Tuple`2>[] + productGroups2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups2() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..456ef335b0e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.debug.bsl @@ -0,0 +1,1414 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname iAfterE@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/iAfterE@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/iAfterE@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/iAfterE@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/iAfterE@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/iAfterE@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/iAfterE@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/iAfterE@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/iAfterE@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/iAfterE@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/iAfterE@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/iAfterE@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/iAfterE@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/iAfterE@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'iAfterE@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'iAfterE@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldstr "ei" + IL_0006: callvirt instance bool [runtime]System.String::Contains(string) + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'iAfterE@13-1'::.ctor() + IL_0005: stsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@21' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 20@23-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #1 input at line 20@23-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Linq]System.Linq.Enumerable::Any(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@24-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@24-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@24-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname onlyOdd@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/onlyOdd@32::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/onlyOdd@32::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/onlyOdd@32::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/onlyOdd@32::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/onlyOdd@32::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/onlyOdd@32::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/onlyOdd@32::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/onlyOdd@32::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/onlyOdd@32::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/onlyOdd@32::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/onlyOdd@32::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/onlyOdd@32::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'onlyOdd@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'onlyOdd@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: rem + IL_0003: ldc.i4.1 + IL_0004: ceq + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'onlyOdd@33-1'::.ctor() + IL_0005: stsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 38@41-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: cgt + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@41-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@41-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #2 input at line 38@41-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Linq]System.Linq.Enumerable::All(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@41-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@42-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@42-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@42-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool iAfterE@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool onlyOdd@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups2@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static bool get_iAfterE() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::iAfterE@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_0005: ret + } + + .method public specialname static bool get_onlyOdd() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::onlyOdd@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1>> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldstr "believe" + IL_0005: ldstr "relief" + IL_000a: ldstr "receipt" + IL_000f: ldstr "field" + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0037: ldnull + IL_0038: ldc.i4.0 + IL_0039: ldnull + IL_003a: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_003f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0044: ldsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_0049: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Exists(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_004e: stsfld bool assembly::iAfterE@10 + IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0058: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0062: stloc.1 + IL_0063: ldloc.1 + IL_0064: ldloc.1 + IL_0065: ldloc.1 + IL_0066: ldloc.1 + IL_0067: ldloc.1 + IL_0068: ldloc.1 + IL_0069: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_006e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0073: ldloc.1 + IL_0074: newobj instance void assembly/'Pipe #1 input at line 20@21'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0079: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_007e: ldsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_0083: ldsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_0088: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008d: ldloc.1 + IL_008e: newobj instance void assembly/'Pipe #1 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0093: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0098: ldsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_009d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a2: ldsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_00a7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00ac: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b1: stloc.0 + IL_00b2: ldloc.0 + IL_00b3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b8: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_00bd: ldc.i4.1 + IL_00be: ldc.i4.s 11 + IL_00c0: ldc.i4.3 + IL_00c1: ldc.i4.s 19 + IL_00c3: ldc.i4.s 41 + IL_00c5: ldc.i4.s 65 + IL_00c7: ldc.i4.s 19 + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00f1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_00f6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fb: ldnull + IL_00fc: ldc.i4.0 + IL_00fd: ldc.i4.0 + IL_00fe: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0103: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_010d: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::All(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0112: stsfld bool assembly::onlyOdd@30 + IL_0117: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011c: stloc.3 + IL_011d: ldloc.3 + IL_011e: ldloc.3 + IL_011f: ldloc.3 + IL_0120: ldloc.3 + IL_0121: ldloc.3 + IL_0122: ldloc.3 + IL_0123: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0128: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_012d: ldloc.3 + IL_012e: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0133: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0138: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_013d: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: ldloc.3 + IL_0148: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0152: ldsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_0157: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_015c: ldsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_0161: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0166: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_016b: stloc.2 + IL_016c: ldloc.2 + IL_016d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0172: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0177: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property bool iAfterE() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_iAfterE() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2>[] + productGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property bool onlyOdd() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_onlyOdd() + } + .property class [runtime]System.Tuple`2>[] + productGroups2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups2() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..456ef335b0e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.release.bsl @@ -0,0 +1,1414 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname iAfterE@12 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/iAfterE@12::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/iAfterE@12::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (string V_0, + string V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/iAfterE@12::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/iAfterE@12::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld string assembly/iAfterE@12::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/iAfterE@12::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/iAfterE@12::pc + IL_008b: ldarg.0 + IL_008c: ldnull + IL_008d: stfld string assembly/iAfterE@12::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/iAfterE@12::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/iAfterE@12::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/iAfterE@12::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/iAfterE@12::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/iAfterE@12::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/iAfterE@12::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/iAfterE@12::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'iAfterE@13-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'iAfterE@13-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(string w) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldstr "ei" + IL_0006: callvirt instance bool [runtime]System.String::Contains(string) + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'iAfterE@13-1'::.ctor() + IL_0005: stsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@21' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@21'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@22-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@22-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@22-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 20@22-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 20@23-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@23-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@23-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #1 input at line 20@23-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Linq]System.Linq.Enumerable::Any(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@23-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 20@24-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 20@24-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 20@24-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname onlyOdd@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/onlyOdd@32::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/onlyOdd@32::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/onlyOdd@32::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/onlyOdd@32::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/onlyOdd@32::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/onlyOdd@32::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/onlyOdd@32::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/onlyOdd@32::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/onlyOdd@32::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/onlyOdd@32::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/onlyOdd@32::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/onlyOdd@32::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/onlyOdd@32::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/onlyOdd@32::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'onlyOdd@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'onlyOdd@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.2 + IL_0002: rem + IL_0003: ldc.i4.1 + IL_0004: ceq + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'onlyOdd@33-1'::.ctor() + IL_0005: stsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@39'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@40-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@40-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@40-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [System.Linq]System.Linq.IGrouping`2 _arg2) cil managed + { + + .maxstack 6 + .locals init (class [System.Linq]System.Linq.IGrouping`2 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 38@40-3'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_0010: ret + } + + } + + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 38@41-5' + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(class [Utils]Utils/Product x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: cgt + IL_0009: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@41-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@41-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldnull + IL_0002: ldftn bool assembly/'Pipe #2 input at line 38@41-5'::Invoke(class [Utils]Utils/Product) + IL_0008: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_000d: call bool [System.Linq]System.Linq.Enumerable::All(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@41-4'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 38@42-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 38@42-6' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2> Invoke(class [System.Linq]System.Linq.IGrouping`2 g) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance !0 class [System.Linq]System.Linq.IGrouping`2::get_Key() + IL_0006: ldarg.1 + IL_0007: newobj instance void class [runtime]System.Tuple`2>::.ctor(!0, + !1) + IL_000c: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 38@42-6'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool iAfterE@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly bool onlyOdd@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2>[] productGroups2@37 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0005: ret + } + + .method public specialname static bool get_iAfterE() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::iAfterE@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_0005: ret + } + + .method public specialname static bool get_onlyOdd() cil managed + { + + .maxstack 8 + IL_0000: ldsfld bool assembly::onlyOdd@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2>[] get_productGroups2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1>> V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1>> V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3) + IL_0000: ldstr "believe" + IL_0005: ldstr "relief" + IL_000a: ldstr "receipt" + IL_000f: ldstr "field" + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@8 + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0037: ldnull + IL_0038: ldc.i4.0 + IL_0039: ldnull + IL_003a: newobj instance void assembly/iAfterE@12::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_003f: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0044: ldsfld class assembly/'iAfterE@13-1' assembly/'iAfterE@13-1'::@_instance + IL_0049: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Exists(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_004e: stsfld bool assembly::iAfterE@10 + IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0058: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0062: stloc.1 + IL_0063: ldloc.1 + IL_0064: ldloc.1 + IL_0065: ldloc.1 + IL_0066: ldloc.1 + IL_0067: ldloc.1 + IL_0068: ldloc.1 + IL_0069: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_006e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0073: ldloc.1 + IL_0074: newobj instance void assembly/'Pipe #1 input at line 20@21'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0079: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_007e: ldsfld class assembly/'Pipe #1 input at line 20@22-1' assembly/'Pipe #1 input at line 20@22-1'::@_instance + IL_0083: ldsfld class assembly/'Pipe #1 input at line 20@22-2' assembly/'Pipe #1 input at line 20@22-2'::@_instance + IL_0088: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_008d: ldloc.1 + IL_008e: newobj instance void assembly/'Pipe #1 input at line 20@22-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0093: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0098: ldsfld class assembly/'Pipe #1 input at line 20@23-4' assembly/'Pipe #1 input at line 20@23-4'::@_instance + IL_009d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00a2: ldsfld class assembly/'Pipe #1 input at line 20@24-6' assembly/'Pipe #1 input at line 20@24-6'::@_instance + IL_00a7: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00ac: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_00b1: stloc.0 + IL_00b2: ldloc.0 + IL_00b3: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00b8: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups@19 + IL_00bd: ldc.i4.1 + IL_00be: ldc.i4.s 11 + IL_00c0: ldc.i4.3 + IL_00c1: ldc.i4.s 19 + IL_00c3: ldc.i4.s 41 + IL_00c5: ldc.i4.s 65 + IL_00c7: ldc.i4.s 19 + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00f1: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@28 + IL_00f6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00fb: ldnull + IL_00fc: ldc.i4.0 + IL_00fd: ldc.i4.0 + IL_00fe: newobj instance void assembly/onlyOdd@32::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0103: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0108: ldsfld class assembly/'onlyOdd@33-1' assembly/'onlyOdd@33-1'::@_instance + IL_010d: callvirt instance bool [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::All(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0112: stsfld bool assembly::onlyOdd@30 + IL_0117: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011c: stloc.3 + IL_011d: ldloc.3 + IL_011e: ldloc.3 + IL_011f: ldloc.3 + IL_0120: ldloc.3 + IL_0121: ldloc.3 + IL_0122: ldloc.3 + IL_0123: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0128: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_012d: ldloc.3 + IL_012e: newobj instance void assembly/'Pipe #2 input at line 38@39'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0133: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0138: ldsfld class assembly/'Pipe #2 input at line 38@40-1' assembly/'Pipe #2 input at line 38@40-1'::@_instance + IL_013d: ldsfld class assembly/'Pipe #2 input at line 38@40-2' assembly/'Pipe #2 input at line 38@40-2'::@_instance + IL_0142: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,!!3> [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::GroupValBy(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0147: ldloc.3 + IL_0148: newobj instance void assembly/'Pipe #2 input at line 38@40-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable,class [System.Linq]System.Linq.IGrouping`2,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0152: ldsfld class assembly/'Pipe #2 input at line 38@41-4' assembly/'Pipe #2 input at line 38@41-4'::@_instance + IL_0157: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_015c: ldsfld class assembly/'Pipe #2 input at line 38@42-6' assembly/'Pipe #2 input at line 38@42-6'::@_instance + IL_0161: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0166: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2>,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_016b: stloc.2 + IL_016c: ldloc.2 + IL_016d: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0172: stsfld class [runtime]System.Tuple`2>[] assembly::productGroups2@37 + IL_0177: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property bool iAfterE() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_iAfterE() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Tuple`2>[] + productGroups() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property bool onlyOdd() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get bool assembly::get_onlyOdd() + } + .property class [runtime]System.Tuple`2>[] + productGroups2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2>[] assembly::get_productGroups2() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs new file mode 100644 index 00000000000..7222df2fb3a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs @@ -0,0 +1,116 @@ +// #Conformance #DataExpressions #Query +// Select LINQ101 samples converted to query +open System +open System.Collections.Generic +open System.Linq + +let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] + +// Select - Simple 1 +let numsPlusOne = + query { + for n in numbers do + select (n + 1) + } |> Seq.toList + +// Select - Simple 2 +let products = getProductList() + +let productNames = + query { + for p in products do + select (p.ProductName) + } + +// Select - Transformation +let strings = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] +let textNums = + query { + for n in numbers do + select (strings.[n]) + } |> Seq.toList + +// Select - Anonymous Types 1 +let words = ["aPPLE"; "BlUeBeRrY"; "cHeRry" ] + +let upperLowerWords = + query { + for w in words do + select (w.ToUpper(), w.ToLower()) + } |> Seq.toArray + +// Select - Anonymous Types 2 +let digitOddEvens = + query { + for n in numbers do + select (strings.[n], (n % 2) = 0) + } |> Seq.toList + +// Select - Anonymous Types 3 +let productInfos = + query { + for p in products do + select (p.ProductName, p.Category, p.UnitPrice) + } |> Seq.toArray + +// Select - Filtered +let digits = strings +let lowNums = + query { + for n in numbers do + where (n < 5) + select digits.[n] + } |> Seq.toList +if lowNums <> ["four"; "one"; "three"; "two"; "zero"] then printfn "lowNums failed"; exit 1 + +// SelectMany - Compound from 1 +let numbersA = [0; 2; 4; 5; 6; 8; 9] +let numbersB = [1; 3; 5; 7; 8] + +let pairs = + query { + for a in numbersA do + for b in numbersB do + where (a < b) + select (a,b) + } |> Seq.toArray + +// SelectMany - Compound from 2 +let customers = getCustomerList() +let orders = + query { + for c in customers do + for o in c.Orders do + where (o.Total < 500.00M) + select (c.CustomerID, o.OrderID, o.Total) + } |> Seq.toArray + +// SelectMany - compound from 3 +let orders2 = + query { + for c in customers do + for o in c.Orders do + where (o.OrderDate >= DateTime(1998, 1,1)) + select (c.CustomerID, o.OrderID, o.OrderDate) + } |> Seq.toArray + +// SelectMany - from Assignment +let orders3 = + query { + for c in customers do + for o in c.Orders do + where (o.Total >= 2000.0M) + select (c.CustomerID, o.OrderID, o.Total) + } + +// SelectMany - Multiple from +let cutOffDate = DateTime(1997, 1, 1) + +let orders4 = + query { + for c in customers do + where (c.Region = "WA") + for o in c.Orders do + where (o.OrderDate >= cutOffDate) + select (c.CustomerID, o.OrderID) + } \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..2ece91ba7af --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.debug.bsl @@ -0,0 +1,3852 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 11@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 11@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 11@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0073 + + IL_001e: nop + IL_001f: br.s IL_0066 + + IL_0021: nop + IL_0022: br.s IL_0094 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0046: br.s IL_0066 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: ldc.i4.1 + IL_005e: add + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: ldc.i4.1 + IL_0065: ret + + IL_0066: ldarg.0 + IL_0067: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_006c: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0071: brtrue.s IL_0048 + + IL_0073: ldarg.0 + IL_0074: ldc.i4.3 + IL_0075: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_007a: ldarg.0 + IL_007b: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0080: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0085: nop + IL_0086: ldarg.0 + IL_0087: ldnull + IL_0088: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_008d: ldarg.0 + IL_008e: ldc.i4.3 + IL_008f: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0094: ldarg.0 + IL_0095: ldc.i4.0 + IL_0096: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_009b: ldc.i4.0 + IL_009c: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productNames@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productNames@21-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productNames@21-1'::.ctor() + IL_0005: stsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productNames@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productNames@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/productNames@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productNames@22::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productNames@22::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: stfld string assembly/productNames@22::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/productNames@22::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/productNames@22::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/productNames@22::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productNames@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productNames@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productNames@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/productNames@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/productNames@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 28@29-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 28@29-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 28@29-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007b + + IL_001e: nop + IL_001f: br.s IL_006e + + IL_0021: nop + IL_0022: br.s IL_009c + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0046: br.s IL_006e + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005b: ldarg.0 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0061: ldloc.0 + IL_0062: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_0067: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_006c: ldc.i4.1 + IL_006d: ret + + IL_006e: ldarg.0 + IL_006f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0074: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0079: brtrue.s IL_0048 + + IL_007b: ldarg.0 + IL_007c: ldc.i4.3 + IL_007d: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0082: ldarg.0 + IL_0083: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0088: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008d: nop + IL_008e: ldarg.0 + IL_008f: ldnull + IL_0090: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0095: ldarg.0 + IL_0096: ldc.i4.3 + IL_0097: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_00a3: ldc.i4.0 + IL_00a4: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 37@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 37@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 37@38-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0084 + + IL_001e: nop + IL_001f: br.s IL_0077 + + IL_0021: nop + IL_0022: br IL_00a5 + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: br.s IL_0077 + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [runtime]System.String::ToUpper() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [runtime]System.String::ToLower() + IL_006b: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0070: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0075: ldc.i4.1 + IL_0076: ret + + IL_0077: ldarg.0 + IL_0078: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_007d: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0082: brtrue.s IL_004b + + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_008b: ldarg.0 + IL_008c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0091: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0096: nop + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_009e: ldarg.0 + IL_009f: ldc.i4.3 + IL_00a0: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_00a5: ldarg.0 + IL_00a6: ldnull + IL_00a7: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_00ac: ldc.i4.0 + IL_00ad: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 44@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 44@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 44@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 44@46' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0089 + + IL_001e: nop + IL_001f: br.s IL_007c + + IL_0021: nop + IL_0022: br IL_00aa + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: br.s IL_007c + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005e: ldarg.0 + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0064: ldloc.0 + IL_0065: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_006a: ldloc.0 + IL_006b: ldc.i4.2 + IL_006c: rem + IL_006d: ldc.i4.0 + IL_006e: ceq + IL_0070: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0075: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_007a: ldc.i4.1 + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0082: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0087: brtrue.s IL_004b + + IL_0089: ldarg.0 + IL_008a: ldc.i4.3 + IL_008b: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0090: ldarg.0 + IL_0091: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0096: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009b: nop + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_00a3: ldarg.0 + IL_00a4: ldc.i4.3 + IL_00a5: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_00aa: ldarg.0 + IL_00ab: ldnull + IL_00ac: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_00b1: ldc.i4.0 + IL_00b2: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@52-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@53' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`3 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`3 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_008a + + IL_001e: nop + IL_001f: br.s IL_007d + + IL_0021: nop + IL_0022: br IL_00ab + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: br.s IL_007d + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [Utils]Utils/Product::get_Category() + IL_006b: ldloc.0 + IL_006c: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0071: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0076: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_007b: ldc.i4.1 + IL_007c: ret + + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0083: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0088: brtrue.s IL_004b + + IL_008a: ldarg.0 + IL_008b: ldc.i4.3 + IL_008c: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0091: ldarg.0 + IL_0092: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0097: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009c: nop + IL_009d: ldarg.0 + IL_009e: ldnull + IL_009f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_00a4: ldarg.0 + IL_00a5: ldc.i4.3 + IL_00a6: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_00ab: ldarg.0 + IL_00ac: ldnull + IL_00ad: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_00b2: ldc.i4.0 + IL_00b3: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0005: ldarg.1 + IL_0006: tail. + IL_0008: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_000d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@73-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 a + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + int32 a) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(int32 _arg2) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@72' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldarg.0 + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_001e: ldloc.0 + IL_001f: newobj instance void assembly/'Pipe #7 input at line 71@73-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + int32) + IL_0024: tail. + IL_0026: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@74-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@74-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: clt + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@74-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@75-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@75-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@75-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #8 input at line 81@83-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@84-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@84-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0xc350 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.2 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@84-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@85-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@85-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@85-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #9 input at line 90@92-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@93-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@93-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3, + valuetype [runtime]System.DateTime V_4, + valuetype [runtime]System.DateTime V_5, + valuetype [runtime]System.DateTime V_6, + valuetype [runtime]System.DateTime V_7) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: ldc.i4 0x7ce + IL_001a: ldc.i4.1 + IL_001b: ldc.i4.1 + IL_001c: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_0021: stloc.3 + IL_0022: ldloc.2 + IL_0023: stloc.s V_4 + IL_0025: ldloc.3 + IL_0026: stloc.s V_5 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_5 + IL_002e: stloc.s V_7 + IL_0030: ldloc.s V_6 + IL_0032: ldloc.s V_7 + IL_0034: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0039: ldc.i4.0 + IL_003a: clt + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@93-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@94-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@94-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@94-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@101-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders3@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders3@101-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@102-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders3@102-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0x4e20 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.1 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@102-2'::.ctor() + IL_0005: stsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@103-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'orders3@103-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@103-3'::.ctor() + IL_0005: stsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders4@111 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@112-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'orders4@112-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@112-1'::.ctor() + IL_0005: stsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@113-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg3) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@111-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders4@113-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@114-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders4@114-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3, + valuetype [runtime]System.DateTime V_4, + valuetype [runtime]System.DateTime V_5, + valuetype [runtime]System.DateTime V_6, + valuetype [runtime]System.DateTime V_7) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: call valuetype [runtime]System.DateTime assembly::get_cutOffDate() + IL_001a: stloc.3 + IL_001b: ldloc.2 + IL_001c: stloc.s V_4 + IL_001e: ldloc.3 + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_6 + IL_0025: ldloc.s V_5 + IL_0027: stloc.s V_7 + IL_0029: ldloc.s V_6 + IL_002b: ldloc.s V_7 + IL_002d: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0032: ldc.i4.0 + IL_0033: clt + IL_0035: ldc.i4.0 + IL_0036: ceq + IL_0038: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@114-4'::.ctor() + IL_0005: stsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@115-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'orders4@115-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@115-5'::.ctor() + IL_0005: stsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numsPlusOne@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productNames@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 textNums@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] upperLowerWords@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> digitOddEvens@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] productInfos@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@57 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersA@67 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersB@68 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] pairs@70 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@79 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders2@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders3@98 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [runtime]System.DateTime cutOffDate@107 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders4@109 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numsPlusOne() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_textNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_upperLowerWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_digitOddEvens() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_productInfos() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersA() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersB() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_pairs() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_0005: ret + } + + .method public specialname static valuetype [runtime]System.DateTime get_cutOffDate() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [runtime]System.Collections.Generic.IEnumerable`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [runtime]System.Collections.Generic.IEnumerable`1> V_5, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_6, + class [runtime]System.Collections.Generic.IEnumerable`1> V_7, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, + class [runtime]System.Collections.Generic.IEnumerable`1> V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_13, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_14, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_15, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_16, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_17, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_18, + class [runtime]System.Collections.Generic.IEnumerable`1> V_19, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20, + class [runtime]System.Collections.Generic.IEnumerable`1> V_21, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22, + class [runtime]System.Collections.Generic.IEnumerable`1> V_23, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_24, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_26) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldnull + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.0 + IL_0050: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0055: stloc.0 + IL_0056: ldloc.0 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0061: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0066: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_006b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0070: stloc.2 + IL_0071: ldnull + IL_0072: ldc.i4.0 + IL_0073: ldnull + IL_0074: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0079: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_007e: ldstr "zero" + IL_0083: ldstr "one" + IL_0088: ldstr "two" + IL_008d: ldstr "three" + IL_0092: ldstr "four" + IL_0097: ldstr "five" + IL_009c: ldstr "six" + IL_00a1: ldstr "seven" + IL_00a6: ldstr "eight" + IL_00ab: ldstr "nine" + IL_00b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f1: stloc.s V_4 + IL_00f3: ldnull + IL_00f4: ldc.i4.0 + IL_00f5: ldnull + IL_00f6: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00fb: stloc.3 + IL_00fc: ldloc.3 + IL_00fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0102: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0107: ldstr "aPPLE" + IL_010c: ldstr "BlUeBeRrY" + IL_0111: ldstr "cHeRry" + IL_0116: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_011b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0120: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0125: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012a: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_012f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0134: stloc.s V_6 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldnull + IL_0139: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_013e: stloc.s V_5 + IL_0140: ldloc.s V_5 + IL_0142: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0147: stsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_014c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0151: stloc.s V_8 + IL_0153: ldnull + IL_0154: ldc.i4.0 + IL_0155: ldnull + IL_0156: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_015b: stloc.s V_7 + IL_015d: ldloc.s V_7 + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0164: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_016e: stloc.s V_10 + IL_0170: ldnull + IL_0171: ldc.i4.0 + IL_0172: ldnull + IL_0173: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0178: stloc.s V_9 + IL_017a: ldloc.s V_9 + IL_017c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0181: stsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0186: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_018b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0190: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0195: stloc.s V_12 + IL_0197: ldloc.s V_12 + IL_0199: ldloc.s V_12 + IL_019b: ldloc.s V_12 + IL_019d: ldloc.s V_12 + IL_019f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a9: ldloc.s V_12 + IL_01ab: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01b5: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01bf: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ce: stloc.s V_11 + IL_01d0: ldloc.s V_11 + IL_01d2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_01dc: nop + IL_01dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + IL_01e2: stloc.s V_13 + IL_01e4: ldstr "four" + IL_01e9: ldstr "one" + IL_01ee: ldstr "three" + IL_01f3: ldstr "two" + IL_01f8: ldstr "zero" + IL_01fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0202: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0207: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_020c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0211: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0216: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_021b: stloc.s V_14 + IL_021d: ldloc.s V_13 + IL_021f: stloc.s V_15 + IL_0221: ldloc.s V_14 + IL_0223: stloc.s V_16 + IL_0225: ldloc.s V_15 + IL_0227: stloc.s V_17 + IL_0229: ldloc.s V_16 + IL_022b: stloc.s V_18 + IL_022d: ldloc.s V_17 + IL_022f: ldloc.s V_18 + IL_0231: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0236: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, + class [runtime]System.Collections.IEqualityComparer) + IL_023b: ldc.i4.0 + IL_023c: ceq + IL_023e: brfalse.s IL_025a + + IL_0240: ldstr "lowNums failed" + IL_0245: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_024a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_024f: pop + IL_0250: ldc.i4.1 + IL_0251: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0256: pop + IL_0257: nop + IL_0258: br.s IL_025b + + IL_025a: nop + IL_025b: ldc.i4.0 + IL_025c: ldc.i4.2 + IL_025d: ldc.i4.4 + IL_025e: ldc.i4.5 + IL_025f: ldc.i4.6 + IL_0260: ldc.i4.8 + IL_0261: ldc.i4.s 9 + IL_0263: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0268: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_026d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0272: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0277: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_027c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0281: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0286: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_028b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0290: ldc.i4.1 + IL_0291: ldc.i4.3 + IL_0292: ldc.i4.5 + IL_0293: ldc.i4.7 + IL_0294: ldc.i4.8 + IL_0295: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_029a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_029f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02a4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02ae: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02b3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_02b8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02bd: stloc.s V_20 + IL_02bf: ldloc.s V_20 + IL_02c1: ldloc.s V_20 + IL_02c3: ldloc.s V_20 + IL_02c5: ldloc.s V_20 + IL_02c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + IL_02cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02d1: ldloc.s V_20 + IL_02d3: newobj instance void assembly/'Pipe #7 input at line 71@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02dd: ldsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_02e2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02e7: ldsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_02ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02f1: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02f6: stloc.s V_19 + IL_02f8: ldloc.s V_19 + IL_02fa: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02ff: stsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_0304: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0309: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_030e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0313: stloc.s V_22 + IL_0315: ldloc.s V_22 + IL_0317: ldloc.s V_22 + IL_0319: ldloc.s V_22 + IL_031b: ldloc.s V_22 + IL_031d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0322: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0327: ldloc.s V_22 + IL_0329: newobj instance void assembly/'Pipe #8 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_032e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0333: ldsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_0338: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_033d: ldsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_0342: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0347: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_034c: stloc.s V_21 + IL_034e: ldloc.s V_21 + IL_0350: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0355: stsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_035a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_035f: stloc.s V_24 + IL_0361: ldloc.s V_24 + IL_0363: ldloc.s V_24 + IL_0365: ldloc.s V_24 + IL_0367: ldloc.s V_24 + IL_0369: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_036e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0373: ldloc.s V_24 + IL_0375: newobj instance void assembly/'Pipe #9 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_037a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_037f: ldsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_0384: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0389: ldsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_038e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0393: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0398: stloc.s V_23 + IL_039a: ldloc.s V_23 + IL_039c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03a1: stsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_03a6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03ab: stloc.s V_25 + IL_03ad: ldloc.s V_25 + IL_03af: ldloc.s V_25 + IL_03b1: ldloc.s V_25 + IL_03b3: ldloc.s V_25 + IL_03b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_03ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03bf: ldloc.s V_25 + IL_03c1: newobj instance void assembly/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03c6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03cb: ldsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_03d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03d5: ldsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_03da: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03df: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03e4: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_03e9: ldc.i4 0x7cd + IL_03ee: ldc.i4.1 + IL_03ef: ldc.i4.1 + IL_03f0: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_03f5: stsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_03fa: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03ff: stloc.s V_26 + IL_0401: ldloc.s V_26 + IL_0403: ldloc.s V_26 + IL_0405: ldloc.s V_26 + IL_0407: ldloc.s V_26 + IL_0409: ldloc.s V_26 + IL_040b: ldloc.s V_26 + IL_040d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0412: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0417: ldloc.s V_26 + IL_0419: newobj instance void assembly/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_041e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0423: ldsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_0428: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_042d: ldloc.s V_26 + IL_042f: newobj instance void assembly/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0434: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0439: ldsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_043e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0443: ldsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_0448: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_044d: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0452: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0457: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numsPlusOne() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numsPlusOne() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + textNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_textNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + upperLowerWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_upperLowerWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + digitOddEvens() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_digitOddEvens() + } + .property class [runtime]System.Tuple`3[] + productInfos() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_productInfos() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersA() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersB() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + } + .property class [runtime]System.Tuple`2[] + pairs() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_pairs() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + orders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders() + } + .property class [runtime]System.Tuple`3[] + orders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders2() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders3() + } + .property valuetype [runtime]System.DateTime + cutOffDate() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [runtime]System.DateTime assembly::get_cutOffDate() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..f0ef7c5f747 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.release.bsl @@ -0,0 +1,3816 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 11@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 11@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 11@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0073 + + IL_001e: nop + IL_001f: br.s IL_0066 + + IL_0021: nop + IL_0022: br.s IL_0094 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0046: br.s IL_0066 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: ldc.i4.1 + IL_005e: add + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: ldc.i4.1 + IL_0065: ret + + IL_0066: ldarg.0 + IL_0067: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_006c: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0071: brtrue.s IL_0048 + + IL_0073: ldarg.0 + IL_0074: ldc.i4.3 + IL_0075: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_007a: ldarg.0 + IL_007b: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0080: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0085: nop + IL_0086: ldarg.0 + IL_0087: ldnull + IL_0088: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_008d: ldarg.0 + IL_008e: ldc.i4.3 + IL_008f: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0094: ldarg.0 + IL_0095: ldc.i4.0 + IL_0096: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_009b: ldc.i4.0 + IL_009c: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productNames@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productNames@21-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productNames@21-1'::.ctor() + IL_0005: stsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productNames@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productNames@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/productNames@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productNames@22::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productNames@22::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: stfld string assembly/productNames@22::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/productNames@22::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/productNames@22::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/productNames@22::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productNames@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productNames@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productNames@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/productNames@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/productNames@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 28@29-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 28@29-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 28@29-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007b + + IL_001e: nop + IL_001f: br.s IL_006e + + IL_0021: nop + IL_0022: br.s IL_009c + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0046: br.s IL_006e + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005b: ldarg.0 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0061: ldloc.0 + IL_0062: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_0067: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_006c: ldc.i4.1 + IL_006d: ret + + IL_006e: ldarg.0 + IL_006f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0074: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0079: brtrue.s IL_0048 + + IL_007b: ldarg.0 + IL_007c: ldc.i4.3 + IL_007d: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0082: ldarg.0 + IL_0083: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0088: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008d: nop + IL_008e: ldarg.0 + IL_008f: ldnull + IL_0090: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0095: ldarg.0 + IL_0096: ldc.i4.3 + IL_0097: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_00a3: ldc.i4.0 + IL_00a4: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 37@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 37@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 37@38-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0084 + + IL_001e: nop + IL_001f: br.s IL_0077 + + IL_0021: nop + IL_0022: br IL_00a5 + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: br.s IL_0077 + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [runtime]System.String::ToUpper() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [runtime]System.String::ToLower() + IL_006b: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0070: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0075: ldc.i4.1 + IL_0076: ret + + IL_0077: ldarg.0 + IL_0078: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_007d: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0082: brtrue.s IL_004b + + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_008b: ldarg.0 + IL_008c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0091: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0096: nop + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_009e: ldarg.0 + IL_009f: ldc.i4.3 + IL_00a0: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_00a5: ldarg.0 + IL_00a6: ldnull + IL_00a7: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_00ac: ldc.i4.0 + IL_00ad: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 44@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 44@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 44@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 44@46' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0089 + + IL_001e: nop + IL_001f: br.s IL_007c + + IL_0021: nop + IL_0022: br IL_00aa + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: br.s IL_007c + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005e: ldarg.0 + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0064: ldloc.0 + IL_0065: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_006a: ldloc.0 + IL_006b: ldc.i4.2 + IL_006c: rem + IL_006d: ldc.i4.0 + IL_006e: ceq + IL_0070: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0075: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_007a: ldc.i4.1 + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0082: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0087: brtrue.s IL_004b + + IL_0089: ldarg.0 + IL_008a: ldc.i4.3 + IL_008b: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0090: ldarg.0 + IL_0091: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0096: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009b: nop + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_00a3: ldarg.0 + IL_00a4: ldc.i4.3 + IL_00a5: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_00aa: ldarg.0 + IL_00ab: ldnull + IL_00ac: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_00b1: ldc.i4.0 + IL_00b2: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@52-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@53' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`3 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`3 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_008a + + IL_001e: nop + IL_001f: br.s IL_007d + + IL_0021: nop + IL_0022: br IL_00ab + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: br.s IL_007d + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [Utils]Utils/Product::get_Category() + IL_006b: ldloc.0 + IL_006c: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0071: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0076: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_007b: ldc.i4.1 + IL_007c: ret + + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0083: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0088: brtrue.s IL_004b + + IL_008a: ldarg.0 + IL_008b: ldc.i4.3 + IL_008c: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0091: ldarg.0 + IL_0092: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0097: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009c: nop + IL_009d: ldarg.0 + IL_009e: ldnull + IL_009f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_00a4: ldarg.0 + IL_00a5: ldc.i4.3 + IL_00a6: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_00ab: ldarg.0 + IL_00ac: ldnull + IL_00ad: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_00b2: ldc.i4.0 + IL_00b3: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0005: ldarg.1 + IL_0006: tail. + IL_0008: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_000d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@73-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 a + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + int32 a) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(int32 _arg2) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@72' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldarg.0 + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_001e: ldloc.0 + IL_001f: newobj instance void assembly/'Pipe #7 input at line 71@73-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + int32) + IL_0024: tail. + IL_0026: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@74-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@74-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: clt + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@74-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@75-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@75-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@75-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #8 input at line 81@83-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@84-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@84-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0xc350 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.2 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@84-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@85-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@85-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@85-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #9 input at line 90@92-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@93-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@93-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: ldc.i4 0x7ce + IL_001a: ldc.i4.1 + IL_001b: ldc.i4.1 + IL_001c: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_0021: stloc.3 + IL_0022: ldloc.2 + IL_0023: ldloc.3 + IL_0024: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0029: ldc.i4.0 + IL_002a: clt + IL_002c: ldc.i4.0 + IL_002d: ceq + IL_002f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@93-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@94-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@94-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@94-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@101-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders3@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders3@101-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@102-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders3@102-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0x4e20 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.1 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@102-2'::.ctor() + IL_0005: stsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@103-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'orders3@103-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@103-3'::.ctor() + IL_0005: stsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders4@111 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@112-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'orders4@112-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@112-1'::.ctor() + IL_0005: stsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@113-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg3) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@111-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders4@113-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@114-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders4@114-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: call valuetype [runtime]System.DateTime assembly::get_cutOffDate() + IL_001a: stloc.3 + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0022: ldc.i4.0 + IL_0023: clt + IL_0025: ldc.i4.0 + IL_0026: ceq + IL_0028: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@114-4'::.ctor() + IL_0005: stsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@115-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'orders4@115-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@115-5'::.ctor() + IL_0005: stsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numsPlusOne@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productNames@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 textNums@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] upperLowerWords@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> digitOddEvens@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] productInfos@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@57 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersA@67 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersB@68 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] pairs@70 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@79 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders2@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders3@98 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [runtime]System.DateTime cutOffDate@107 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders4@109 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numsPlusOne() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_textNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_upperLowerWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_digitOddEvens() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_productInfos() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersA() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersB() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_pairs() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_0005: ret + } + + .method public specialname static valuetype [runtime]System.DateTime get_cutOffDate() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [runtime]System.Collections.Generic.IEnumerable`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [runtime]System.Collections.Generic.IEnumerable`1> V_5, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_6, + class [runtime]System.Collections.Generic.IEnumerable`1> V_7, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, + class [runtime]System.Collections.Generic.IEnumerable`1> V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_13, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_14, + class [runtime]System.Collections.Generic.IEnumerable`1> V_15, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16, + class [runtime]System.Collections.Generic.IEnumerable`1> V_17, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_18, + class [runtime]System.Collections.Generic.IEnumerable`1> V_19, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldnull + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.0 + IL_0050: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0055: stloc.0 + IL_0056: ldloc.0 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0061: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0066: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_006b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0070: stloc.2 + IL_0071: ldnull + IL_0072: ldc.i4.0 + IL_0073: ldnull + IL_0074: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0079: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_007e: ldstr "zero" + IL_0083: ldstr "one" + IL_0088: ldstr "two" + IL_008d: ldstr "three" + IL_0092: ldstr "four" + IL_0097: ldstr "five" + IL_009c: ldstr "six" + IL_00a1: ldstr "seven" + IL_00a6: ldstr "eight" + IL_00ab: ldstr "nine" + IL_00b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f1: stloc.s V_4 + IL_00f3: ldnull + IL_00f4: ldc.i4.0 + IL_00f5: ldnull + IL_00f6: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00fb: stloc.3 + IL_00fc: ldloc.3 + IL_00fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0102: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0107: ldstr "aPPLE" + IL_010c: ldstr "BlUeBeRrY" + IL_0111: ldstr "cHeRry" + IL_0116: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_011b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0120: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0125: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012a: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_012f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0134: stloc.s V_6 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldnull + IL_0139: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_013e: stloc.s V_5 + IL_0140: ldloc.s V_5 + IL_0142: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0147: stsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_014c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0151: stloc.s V_8 + IL_0153: ldnull + IL_0154: ldc.i4.0 + IL_0155: ldnull + IL_0156: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_015b: stloc.s V_7 + IL_015d: ldloc.s V_7 + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0164: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_016e: stloc.s V_10 + IL_0170: ldnull + IL_0171: ldc.i4.0 + IL_0172: ldnull + IL_0173: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0178: stloc.s V_9 + IL_017a: ldloc.s V_9 + IL_017c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0181: stsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0186: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_018b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0190: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0195: stloc.s V_12 + IL_0197: ldloc.s V_12 + IL_0199: ldloc.s V_12 + IL_019b: ldloc.s V_12 + IL_019d: ldloc.s V_12 + IL_019f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a9: ldloc.s V_12 + IL_01ab: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01b5: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01bf: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ce: stloc.s V_11 + IL_01d0: ldloc.s V_11 + IL_01d2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_01dc: nop + IL_01dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + IL_01e2: stloc.s V_13 + IL_01e4: ldstr "four" + IL_01e9: ldstr "one" + IL_01ee: ldstr "three" + IL_01f3: ldstr "two" + IL_01f8: ldstr "zero" + IL_01fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0202: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0207: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_020c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0211: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0216: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_021b: stloc.s V_14 + IL_021d: ldloc.s V_13 + IL_021f: ldloc.s V_14 + IL_0221: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0226: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, + class [runtime]System.Collections.IEqualityComparer) + IL_022b: ldc.i4.0 + IL_022c: ceq + IL_022e: brfalse.s IL_024a + + IL_0230: ldstr "lowNums failed" + IL_0235: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_023a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_023f: pop + IL_0240: ldc.i4.1 + IL_0241: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0246: pop + IL_0247: nop + IL_0248: br.s IL_024b + + IL_024a: nop + IL_024b: ldc.i4.0 + IL_024c: ldc.i4.2 + IL_024d: ldc.i4.4 + IL_024e: ldc.i4.5 + IL_024f: ldc.i4.6 + IL_0250: ldc.i4.8 + IL_0251: ldc.i4.s 9 + IL_0253: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0258: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_025d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0262: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0267: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_026c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0271: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0276: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_027b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0280: ldc.i4.1 + IL_0281: ldc.i4.3 + IL_0282: ldc.i4.5 + IL_0283: ldc.i4.7 + IL_0284: ldc.i4.8 + IL_0285: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_028a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_028f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0294: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0299: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_029e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02a3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_02a8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02ad: stloc.s V_16 + IL_02af: ldloc.s V_16 + IL_02b1: ldloc.s V_16 + IL_02b3: ldloc.s V_16 + IL_02b5: ldloc.s V_16 + IL_02b7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + IL_02bc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02c1: ldloc.s V_16 + IL_02c3: newobj instance void assembly/'Pipe #7 input at line 71@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02c8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02cd: ldsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_02d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02d7: ldsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_02dc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02e1: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02e6: stloc.s V_15 + IL_02e8: ldloc.s V_15 + IL_02ea: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02ef: stsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_02f4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_02f9: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_02fe: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0303: stloc.s V_18 + IL_0305: ldloc.s V_18 + IL_0307: ldloc.s V_18 + IL_0309: ldloc.s V_18 + IL_030b: ldloc.s V_18 + IL_030d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0312: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0317: ldloc.s V_18 + IL_0319: newobj instance void assembly/'Pipe #8 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_031e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0323: ldsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_0328: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_032d: ldsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_0332: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0337: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_033c: stloc.s V_17 + IL_033e: ldloc.s V_17 + IL_0340: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0345: stsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_034a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_034f: stloc.s V_20 + IL_0351: ldloc.s V_20 + IL_0353: ldloc.s V_20 + IL_0355: ldloc.s V_20 + IL_0357: ldloc.s V_20 + IL_0359: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_035e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0363: ldloc.s V_20 + IL_0365: newobj instance void assembly/'Pipe #9 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_036a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_036f: ldsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_0374: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0379: ldsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_037e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0383: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0388: stloc.s V_19 + IL_038a: ldloc.s V_19 + IL_038c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0391: stsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_0396: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_039b: stloc.s V_21 + IL_039d: ldloc.s V_21 + IL_039f: ldloc.s V_21 + IL_03a1: ldloc.s V_21 + IL_03a3: ldloc.s V_21 + IL_03a5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_03aa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03af: ldloc.s V_21 + IL_03b1: newobj instance void assembly/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03b6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03bb: ldsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_03c0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03c5: ldsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_03ca: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03cf: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03d4: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_03d9: ldc.i4 0x7cd + IL_03de: ldc.i4.1 + IL_03df: ldc.i4.1 + IL_03e0: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_03e5: stsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_03ea: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03ef: stloc.s V_22 + IL_03f1: ldloc.s V_22 + IL_03f3: ldloc.s V_22 + IL_03f5: ldloc.s V_22 + IL_03f7: ldloc.s V_22 + IL_03f9: ldloc.s V_22 + IL_03fb: ldloc.s V_22 + IL_03fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0402: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0407: ldloc.s V_22 + IL_0409: newobj instance void assembly/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_040e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0413: ldsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_0418: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_041d: ldloc.s V_22 + IL_041f: newobj instance void assembly/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0424: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0429: ldsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_042e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0433: ldsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_0438: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_043d: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0442: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0447: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numsPlusOne() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numsPlusOne() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + textNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_textNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + upperLowerWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_upperLowerWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + digitOddEvens() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_digitOddEvens() + } + .property class [runtime]System.Tuple`3[] + productInfos() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_productInfos() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersA() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersB() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + } + .property class [runtime]System.Tuple`2[] + pairs() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_pairs() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + orders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders() + } + .property class [runtime]System.Tuple`3[] + orders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders2() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders3() + } + .property valuetype [runtime]System.DateTime + cutOffDate() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [runtime]System.DateTime assembly::get_cutOffDate() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..e597228efef --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.debug.bsl @@ -0,0 +1,3852 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 11@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 11@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 11@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0073 + + IL_001e: nop + IL_001f: br.s IL_0066 + + IL_0021: nop + IL_0022: br.s IL_0094 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0046: br.s IL_0066 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: ldc.i4.1 + IL_005e: add + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: ldc.i4.1 + IL_0065: ret + + IL_0066: ldarg.0 + IL_0067: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_006c: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0071: brtrue.s IL_0048 + + IL_0073: ldarg.0 + IL_0074: ldc.i4.3 + IL_0075: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_007a: ldarg.0 + IL_007b: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0080: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0085: nop + IL_0086: ldarg.0 + IL_0087: ldnull + IL_0088: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_008d: ldarg.0 + IL_008e: ldc.i4.3 + IL_008f: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0094: ldarg.0 + IL_0095: ldc.i4.0 + IL_0096: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_009b: ldc.i4.0 + IL_009c: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productNames@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productNames@21-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productNames@21-1'::.ctor() + IL_0005: stsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productNames@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productNames@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/productNames@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productNames@22::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productNames@22::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: stfld string assembly/productNames@22::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/productNames@22::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/productNames@22::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/productNames@22::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productNames@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productNames@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productNames@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/productNames@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/productNames@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 28@29-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 28@29-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 28@29-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007b + + IL_001e: nop + IL_001f: br.s IL_006e + + IL_0021: nop + IL_0022: br.s IL_009c + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0046: br.s IL_006e + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005b: ldarg.0 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0061: ldloc.0 + IL_0062: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_0067: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_006c: ldc.i4.1 + IL_006d: ret + + IL_006e: ldarg.0 + IL_006f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0074: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0079: brtrue.s IL_0048 + + IL_007b: ldarg.0 + IL_007c: ldc.i4.3 + IL_007d: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0082: ldarg.0 + IL_0083: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0088: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008d: nop + IL_008e: ldarg.0 + IL_008f: ldnull + IL_0090: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0095: ldarg.0 + IL_0096: ldc.i4.3 + IL_0097: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_00a3: ldc.i4.0 + IL_00a4: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 37@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 37@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 37@38-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0084 + + IL_001e: nop + IL_001f: br.s IL_0077 + + IL_0021: nop + IL_0022: br IL_00a5 + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: br.s IL_0077 + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [runtime]System.String::ToUpper() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [runtime]System.String::ToLower() + IL_006b: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0070: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0075: ldc.i4.1 + IL_0076: ret + + IL_0077: ldarg.0 + IL_0078: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_007d: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0082: brtrue.s IL_004b + + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_008b: ldarg.0 + IL_008c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0091: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0096: nop + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_009e: ldarg.0 + IL_009f: ldc.i4.3 + IL_00a0: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_00a5: ldarg.0 + IL_00a6: ldnull + IL_00a7: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_00ac: ldc.i4.0 + IL_00ad: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 44@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 44@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 44@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 44@46' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0089 + + IL_001e: nop + IL_001f: br.s IL_007c + + IL_0021: nop + IL_0022: br IL_00aa + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: br.s IL_007c + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005e: ldarg.0 + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0064: ldloc.0 + IL_0065: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_006a: ldloc.0 + IL_006b: ldc.i4.2 + IL_006c: rem + IL_006d: ldc.i4.0 + IL_006e: ceq + IL_0070: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0075: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_007a: ldc.i4.1 + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0082: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0087: brtrue.s IL_004b + + IL_0089: ldarg.0 + IL_008a: ldc.i4.3 + IL_008b: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0090: ldarg.0 + IL_0091: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0096: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009b: nop + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_00a3: ldarg.0 + IL_00a4: ldc.i4.3 + IL_00a5: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_00aa: ldarg.0 + IL_00ab: ldnull + IL_00ac: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_00b1: ldc.i4.0 + IL_00b2: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@52-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@53' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`3 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`3 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_008a + + IL_001e: nop + IL_001f: br.s IL_007d + + IL_0021: nop + IL_0022: br IL_00ab + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: br.s IL_007d + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [Utils]Utils/Product::get_Category() + IL_006b: ldloc.0 + IL_006c: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0071: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0076: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_007b: ldc.i4.1 + IL_007c: ret + + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0083: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0088: brtrue.s IL_004b + + IL_008a: ldarg.0 + IL_008b: ldc.i4.3 + IL_008c: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0091: ldarg.0 + IL_0092: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0097: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009c: nop + IL_009d: ldarg.0 + IL_009e: ldnull + IL_009f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_00a4: ldarg.0 + IL_00a5: ldc.i4.3 + IL_00a6: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_00ab: ldarg.0 + IL_00ac: ldnull + IL_00ad: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_00b2: ldc.i4.0 + IL_00b3: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0005: ldarg.1 + IL_0006: tail. + IL_0008: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_000d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@73-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 a + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + int32 a) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(int32 _arg2) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@72' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldarg.0 + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_001e: ldloc.0 + IL_001f: newobj instance void assembly/'Pipe #7 input at line 71@73-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + int32) + IL_0024: tail. + IL_0026: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@74-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@74-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: clt + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@74-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@75-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@75-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@75-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #8 input at line 81@83-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@84-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@84-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0xc350 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.2 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@84-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@85-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@85-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@85-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #9 input at line 90@92-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@93-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@93-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3, + valuetype [runtime]System.DateTime V_4, + valuetype [runtime]System.DateTime V_5, + valuetype [runtime]System.DateTime V_6, + valuetype [runtime]System.DateTime V_7) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: ldc.i4 0x7ce + IL_001a: ldc.i4.1 + IL_001b: ldc.i4.1 + IL_001c: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_0021: stloc.3 + IL_0022: ldloc.2 + IL_0023: stloc.s V_4 + IL_0025: ldloc.3 + IL_0026: stloc.s V_5 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_5 + IL_002e: stloc.s V_7 + IL_0030: ldloc.s V_6 + IL_0032: ldloc.s V_7 + IL_0034: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0039: ldc.i4.0 + IL_003a: clt + IL_003c: ldc.i4.0 + IL_003d: ceq + IL_003f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@93-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@94-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@94-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@94-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@101-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders3@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders3@101-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@102-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders3@102-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0x4e20 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.1 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@102-2'::.ctor() + IL_0005: stsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@103-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'orders3@103-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@103-3'::.ctor() + IL_0005: stsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders4@111 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@112-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'orders4@112-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@112-1'::.ctor() + IL_0005: stsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@113-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg3) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@111-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders4@113-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@114-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders4@114-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3, + valuetype [runtime]System.DateTime V_4, + valuetype [runtime]System.DateTime V_5, + valuetype [runtime]System.DateTime V_6, + valuetype [runtime]System.DateTime V_7) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: call valuetype [runtime]System.DateTime assembly::get_cutOffDate() + IL_001a: stloc.3 + IL_001b: ldloc.2 + IL_001c: stloc.s V_4 + IL_001e: ldloc.3 + IL_001f: stloc.s V_5 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_6 + IL_0025: ldloc.s V_5 + IL_0027: stloc.s V_7 + IL_0029: ldloc.s V_6 + IL_002b: ldloc.s V_7 + IL_002d: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0032: ldc.i4.0 + IL_0033: clt + IL_0035: ldc.i4.0 + IL_0036: ceq + IL_0038: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@114-4'::.ctor() + IL_0005: stsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@115-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'orders4@115-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@115-5'::.ctor() + IL_0005: stsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numsPlusOne@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productNames@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 textNums@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] upperLowerWords@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> digitOddEvens@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] productInfos@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@57 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersA@67 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersB@68 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] pairs@70 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@79 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders2@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders3@98 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [runtime]System.DateTime cutOffDate@107 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders4@109 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numsPlusOne() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_textNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_upperLowerWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_digitOddEvens() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_productInfos() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersA() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersB() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_pairs() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_0005: ret + } + + .method public specialname static valuetype [runtime]System.DateTime get_cutOffDate() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [runtime]System.Collections.Generic.IEnumerable`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [runtime]System.Collections.Generic.IEnumerable`1> V_5, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_6, + class [runtime]System.Collections.Generic.IEnumerable`1> V_7, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, + class [runtime]System.Collections.Generic.IEnumerable`1> V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_13, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_14, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_15, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_16, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_17, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_18, + class [runtime]System.Collections.Generic.IEnumerable`1> V_19, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20, + class [runtime]System.Collections.Generic.IEnumerable`1> V_21, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22, + class [runtime]System.Collections.Generic.IEnumerable`1> V_23, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_24, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_25, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_26) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldnull + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.0 + IL_0050: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0055: stloc.0 + IL_0056: ldloc.0 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0061: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0066: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_006b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0070: stloc.2 + IL_0071: ldnull + IL_0072: ldc.i4.0 + IL_0073: ldnull + IL_0074: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0079: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_007e: ldstr "zero" + IL_0083: ldstr "one" + IL_0088: ldstr "two" + IL_008d: ldstr "three" + IL_0092: ldstr "four" + IL_0097: ldstr "five" + IL_009c: ldstr "six" + IL_00a1: ldstr "seven" + IL_00a6: ldstr "eight" + IL_00ab: ldstr "nine" + IL_00b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f1: stloc.s V_4 + IL_00f3: ldnull + IL_00f4: ldc.i4.0 + IL_00f5: ldnull + IL_00f6: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00fb: stloc.3 + IL_00fc: ldloc.3 + IL_00fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0102: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0107: ldstr "aPPLE" + IL_010c: ldstr "BlUeBeRrY" + IL_0111: ldstr "cHeRry" + IL_0116: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_011b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0120: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0125: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012a: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_012f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0134: stloc.s V_6 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldnull + IL_0139: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_013e: stloc.s V_5 + IL_0140: ldloc.s V_5 + IL_0142: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0147: stsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_014c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0151: stloc.s V_8 + IL_0153: ldnull + IL_0154: ldc.i4.0 + IL_0155: ldnull + IL_0156: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_015b: stloc.s V_7 + IL_015d: ldloc.s V_7 + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0164: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_016e: stloc.s V_10 + IL_0170: ldnull + IL_0171: ldc.i4.0 + IL_0172: ldnull + IL_0173: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0178: stloc.s V_9 + IL_017a: ldloc.s V_9 + IL_017c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0181: stsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0186: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_018b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0190: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0195: stloc.s V_12 + IL_0197: ldloc.s V_12 + IL_0199: ldloc.s V_12 + IL_019b: ldloc.s V_12 + IL_019d: ldloc.s V_12 + IL_019f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a9: ldloc.s V_12 + IL_01ab: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01b5: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01bf: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ce: stloc.s V_11 + IL_01d0: ldloc.s V_11 + IL_01d2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_01dc: nop + IL_01dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + IL_01e2: stloc.s V_13 + IL_01e4: ldstr "four" + IL_01e9: ldstr "one" + IL_01ee: ldstr "three" + IL_01f3: ldstr "two" + IL_01f8: ldstr "zero" + IL_01fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0202: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0207: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_020c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0211: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0216: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_021b: stloc.s V_14 + IL_021d: ldloc.s V_13 + IL_021f: stloc.s V_15 + IL_0221: ldloc.s V_14 + IL_0223: stloc.s V_16 + IL_0225: ldloc.s V_15 + IL_0227: stloc.s V_17 + IL_0229: ldloc.s V_16 + IL_022b: stloc.s V_18 + IL_022d: ldloc.s V_17 + IL_022f: ldloc.s V_18 + IL_0231: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0236: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, + class [runtime]System.Collections.IEqualityComparer) + IL_023b: ldc.i4.0 + IL_023c: ceq + IL_023e: brfalse.s IL_025a + + IL_0240: ldstr "lowNums failed" + IL_0245: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_024a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_024f: pop + IL_0250: ldc.i4.1 + IL_0251: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0256: pop + IL_0257: nop + IL_0258: br.s IL_025b + + IL_025a: nop + IL_025b: ldc.i4.0 + IL_025c: ldc.i4.2 + IL_025d: ldc.i4.4 + IL_025e: ldc.i4.5 + IL_025f: ldc.i4.6 + IL_0260: ldc.i4.8 + IL_0261: ldc.i4.s 9 + IL_0263: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0268: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_026d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0272: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0277: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_027c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0281: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0286: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_028b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0290: ldc.i4.1 + IL_0291: ldc.i4.3 + IL_0292: ldc.i4.5 + IL_0293: ldc.i4.7 + IL_0294: ldc.i4.8 + IL_0295: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_029a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_029f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02a4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02ae: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02b3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_02b8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02bd: stloc.s V_20 + IL_02bf: ldloc.s V_20 + IL_02c1: ldloc.s V_20 + IL_02c3: ldloc.s V_20 + IL_02c5: ldloc.s V_20 + IL_02c7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + IL_02cc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02d1: ldloc.s V_20 + IL_02d3: newobj instance void assembly/'Pipe #7 input at line 71@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02d8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02dd: ldsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_02e2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02e7: ldsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_02ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02f1: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02f6: stloc.s V_19 + IL_02f8: ldloc.s V_19 + IL_02fa: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02ff: stsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_0304: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0309: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_030e: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0313: stloc.s V_22 + IL_0315: ldloc.s V_22 + IL_0317: ldloc.s V_22 + IL_0319: ldloc.s V_22 + IL_031b: ldloc.s V_22 + IL_031d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0322: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0327: ldloc.s V_22 + IL_0329: newobj instance void assembly/'Pipe #8 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_032e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0333: ldsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_0338: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_033d: ldsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_0342: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0347: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_034c: stloc.s V_21 + IL_034e: ldloc.s V_21 + IL_0350: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0355: stsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_035a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_035f: stloc.s V_24 + IL_0361: ldloc.s V_24 + IL_0363: ldloc.s V_24 + IL_0365: ldloc.s V_24 + IL_0367: ldloc.s V_24 + IL_0369: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_036e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0373: ldloc.s V_24 + IL_0375: newobj instance void assembly/'Pipe #9 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_037a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_037f: ldsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_0384: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0389: ldsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_038e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0393: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0398: stloc.s V_23 + IL_039a: ldloc.s V_23 + IL_039c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03a1: stsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_03a6: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03ab: stloc.s V_25 + IL_03ad: ldloc.s V_25 + IL_03af: ldloc.s V_25 + IL_03b1: ldloc.s V_25 + IL_03b3: ldloc.s V_25 + IL_03b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_03ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03bf: ldloc.s V_25 + IL_03c1: newobj instance void assembly/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03c6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03cb: ldsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_03d0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03d5: ldsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_03da: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03df: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03e4: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_03e9: ldc.i4 0x7cd + IL_03ee: ldc.i4.1 + IL_03ef: ldc.i4.1 + IL_03f0: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_03f5: stsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_03fa: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03ff: stloc.s V_26 + IL_0401: ldloc.s V_26 + IL_0403: ldloc.s V_26 + IL_0405: ldloc.s V_26 + IL_0407: ldloc.s V_26 + IL_0409: ldloc.s V_26 + IL_040b: ldloc.s V_26 + IL_040d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0412: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0417: ldloc.s V_26 + IL_0419: newobj instance void assembly/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_041e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0423: ldsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_0428: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_042d: ldloc.s V_26 + IL_042f: newobj instance void assembly/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0434: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0439: ldsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_043e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0443: ldsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_0448: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_044d: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0452: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0457: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numsPlusOne() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numsPlusOne() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + textNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_textNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + upperLowerWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_upperLowerWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + digitOddEvens() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_digitOddEvens() + } + .property class [runtime]System.Tuple`3[] + productInfos() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_productInfos() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersA() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersB() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + } + .property class [runtime]System.Tuple`2[] + pairs() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_pairs() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + orders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders() + } + .property class [runtime]System.Tuple`3[] + orders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders2() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders3() + } + .property valuetype [runtime]System.DateTime + cutOffDate() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [runtime]System.DateTime assembly::get_cutOffDate() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..8fb9ad32dad --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.release.bsl @@ -0,0 +1,3816 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 11@12-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #1 input at line 11@12-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 11@12-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 11@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0073 + + IL_001e: nop + IL_001f: br.s IL_0066 + + IL_0021: nop + IL_0022: br.s IL_0094 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #1 input at line 11@12-1' assembly/'Pipe #1 input at line 11@12-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0046: br.s IL_0066 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: ldc.i4.1 + IL_005e: add + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: ldc.i4.1 + IL_0065: ret + + IL_0066: ldarg.0 + IL_0067: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_006c: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0071: brtrue.s IL_0048 + + IL_0073: ldarg.0 + IL_0074: ldc.i4.3 + IL_0075: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_007a: ldarg.0 + IL_007b: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_0080: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0085: nop + IL_0086: ldarg.0 + IL_0087: ldnull + IL_0088: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_008d: ldarg.0 + IL_008e: ldc.i4.3 + IL_008f: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0094: ldarg.0 + IL_0095: ldc.i4.0 + IL_0096: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_009b: ldc.i4.0 + IL_009c: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 11@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 11@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productNames@21-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productNames@21-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productNames@21-1'::.ctor() + IL_0005: stsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productNames@22 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productNames@22::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/productNames@22::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productNames@21-1' assembly/'productNames@21-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productNames@22::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productNames@22::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: stfld string assembly/productNames@22::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/productNames@22::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/productNames@22::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/productNames@22::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productNames@22::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productNames@22::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productNames@22::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productNames@22::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/productNames@22::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productNames@22::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/productNames@22::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 28@29-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 28@29-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 28@29-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 28@30' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007b + + IL_001e: nop + IL_001f: br.s IL_006e + + IL_0021: nop + IL_0022: br.s IL_009c + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 28@29-1' assembly/'Pipe #2 input at line 28@29-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0046: br.s IL_006e + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005b: ldarg.0 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0061: ldloc.0 + IL_0062: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_0067: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_006c: ldc.i4.1 + IL_006d: ret + + IL_006e: ldarg.0 + IL_006f: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0074: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0079: brtrue.s IL_0048 + + IL_007b: ldarg.0 + IL_007c: ldc.i4.3 + IL_007d: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0082: ldarg.0 + IL_0083: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0088: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008d: nop + IL_008e: ldarg.0 + IL_008f: ldnull + IL_0090: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_0095: ldarg.0 + IL_0096: ldc.i4.3 + IL_0097: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_00a3: ldc.i4.0 + IL_00a4: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 28@30'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 28@30'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 28@30'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 37@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 37@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 37@38-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 37@39' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0084 + + IL_001e: nop + IL_001f: br.s IL_0077 + + IL_0021: nop + IL_0022: br IL_00a5 + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #3 input at line 37@38-1' assembly/'Pipe #3 input at line 37@38-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: br.s IL_0077 + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [runtime]System.String::ToUpper() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [runtime]System.String::ToLower() + IL_006b: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0070: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0075: ldc.i4.1 + IL_0076: ret + + IL_0077: ldarg.0 + IL_0078: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_007d: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0082: brtrue.s IL_004b + + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_008b: ldarg.0 + IL_008c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_0091: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0096: nop + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_009e: ldarg.0 + IL_009f: ldc.i4.3 + IL_00a0: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_00a5: ldarg.0 + IL_00a6: ldnull + IL_00a7: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_00ac: ldc.i4.0 + IL_00ad: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 37@39'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 37@39'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #3 input at line 37@39'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #4 input at line 44@45-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #4 input at line 44@45-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #4 input at line 44@45-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #4 input at line 44@46' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`2 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`2 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_0089 + + IL_001e: nop + IL_001f: br.s IL_007c + + IL_0021: nop + IL_0022: br IL_00aa + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #4 input at line 44@45-1' assembly/'Pipe #4 input at line 44@45-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,int32>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: br.s IL_007c + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005e: ldarg.0 + IL_005f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_0064: ldloc.0 + IL_0065: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_006a: ldloc.0 + IL_006b: ldc.i4.2 + IL_006c: rem + IL_006d: ldc.i4.0 + IL_006e: ceq + IL_0070: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0075: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_007a: ldc.i4.1 + IL_007b: ret + + IL_007c: ldarg.0 + IL_007d: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0082: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0087: brtrue.s IL_004b + + IL_0089: ldarg.0 + IL_008a: ldc.i4.3 + IL_008b: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0090: ldarg.0 + IL_0091: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_0096: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009b: nop + IL_009c: ldarg.0 + IL_009d: ldnull + IL_009e: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_00a3: ldarg.0 + IL_00a4: ldc.i4.3 + IL_00a5: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_00aa: ldarg.0 + IL_00ab: ldnull + IL_00ac: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_00b1: ldc.i4.0 + IL_00b2: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #4 input at line 44@46'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #4 input at line 44@46'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`2 assembly/'Pipe #4 input at line 44@46'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #5 input at line 51@52-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #5 input at line 51@52-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #5 input at line 51@52-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #5 input at line 51@53' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1> + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Tuple`3 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + class [runtime]System.Tuple`3 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1>::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0027 + + IL_001b: nop + IL_001c: br.s IL_008a + + IL_001e: nop + IL_001f: br.s IL_007d + + IL_0021: nop + IL_0022: br IL_00ab + + IL_0027: nop + IL_0028: ldarg.0 + IL_0029: ldsfld class assembly/'Pipe #5 input at line 51@52-1' assembly/'Pipe #5 input at line 51@52-1'::@_instance + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0033: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0038: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003d: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0042: ldarg.0 + IL_0043: ldc.i4.1 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: br.s IL_007d + + IL_004b: ldarg.0 + IL_004c: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0051: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0056: stloc.0 + IL_0057: ldarg.0 + IL_0058: ldc.i4.2 + IL_0059: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005e: ldarg.0 + IL_005f: ldloc.0 + IL_0060: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0065: ldloc.0 + IL_0066: callvirt instance string [Utils]Utils/Product::get_Category() + IL_006b: ldloc.0 + IL_006c: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_0071: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0076: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_007b: ldc.i4.1 + IL_007c: ret + + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0083: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0088: brtrue.s IL_004b + + IL_008a: ldarg.0 + IL_008b: ldc.i4.3 + IL_008c: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0091: ldarg.0 + IL_0092: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_0097: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_009c: nop + IL_009d: ldarg.0 + IL_009e: ldnull + IL_009f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_00a4: ldarg.0 + IL_00a5: ldc.i4.3 + IL_00a6: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_00ab: ldarg.0 + IL_00ac: ldnull + IL_00ad: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_00b2: ldc.i4.0 + IL_00b3: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #5 input at line 51@53'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #5 input at line 51@53'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Tuple`3 assembly/'Pipe #5 input at line 51@53'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@60' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #6 input at line 59@60'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@61-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@61-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@61-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #6 input at line 59@62-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #6 input at line 59@62-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance string Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0005: ldarg.1 + IL_0006: tail. + IL_0008: callvirt instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Item(int32) + IL_000d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #6 input at line 59@62-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@73-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 a + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + int32 a) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(int32 _arg2) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@73-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld int32 assembly/'Pipe #7 input at line 71@73-1'::a + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@72' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + IL_0013: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0018: ldarg.0 + IL_0019: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #7 input at line 71@72'::builder@ + IL_001e: ldloc.0 + IL_001f: newobj instance void assembly/'Pipe #7 input at line 71@73-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + int32) + IL_0024: tail. + IL_0026: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@74-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@74-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: clt + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@74-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #7 input at line 71@75-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'Pipe #7 input at line 71@75-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: ldloc.1 + IL_0010: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0015: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #7 input at line 71@75-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@83-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@83-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #8 input at line 81@83-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@82' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #8 input at line 81@82'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #8 input at line 81@83-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@84-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@84-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0xc350 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.2 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@84-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #8 input at line 81@85-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #8 input at line 81@85-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #8 input at line 81@85-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@92-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@92-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'Pipe #9 input at line 90@92-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@91' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #9 input at line 90@91'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'Pipe #9 input at line 90@92-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@93-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@93-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: ldc.i4 0x7ce + IL_001a: ldc.i4.1 + IL_001b: ldc.i4.1 + IL_001c: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_0021: stloc.3 + IL_0022: ldloc.2 + IL_0023: ldloc.3 + IL_0024: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0029: ldc.i4.0 + IL_002a: clt + IL_002c: ldc.i4.0 + IL_002d: ceq + IL_002f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@93-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #9 input at line 90@94-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'Pipe #9 input at line 90@94-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #9 input at line 90@94-3'::.ctor() + IL_0005: stsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@101-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg2) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders3@101-1'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders3@101-1'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders3@100 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders3@100::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders3@101-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@102-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders3@102-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 10 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0014: ldc.i4 0x4e20 + IL_0019: ldc.i4.0 + IL_001a: ldc.i4.0 + IL_001b: ldc.i4.0 + IL_001c: ldc.i4.1 + IL_001d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0022: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0027: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@102-2'::.ctor() + IL_0005: stsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders3@103-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3> + { + .field static assembly initonly class assembly/'orders3@103-3' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`3 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: ldloc.1 + IL_001b: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Order::get_Total() + IL_0020: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders3@103-3'::.ctor() + IL_0005: stsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit orders4@111 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/orders4@111::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@112-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'orders4@112-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@112-1'::.ctor() + IL_0005: stsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@113-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [Utils]Utils/Customer c + .method assembly specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@, + class [Utils]Utils/Customer c) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,object>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_0014: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,object> Invoke(class [Utils]Utils/Order _arg3) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Order V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@113-3'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [Utils]Utils/Customer assembly/'orders4@113-3'::c + IL_000e: ldloc.0 + IL_000f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0014: tail. + IL_0016: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield,object>(!!0) + IL_001b: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@111-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Collections.IEnumerable>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable> Invoke(class [Utils]Utils/Customer _arg2) cil managed + { + + .maxstack 8 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_000e: ldloc.0 + IL_000f: callvirt instance class [Utils]Utils/Order[] [Utils]Utils/Customer::get_Orders() + IL_0014: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'orders4@111-2'::builder@ + IL_001f: ldloc.0 + IL_0020: newobj instance void assembly/'orders4@113-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder, + class [Utils]Utils/Customer) + IL_0025: tail. + IL_0027: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,object>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@114-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool> + { + .field static assembly initonly class assembly/'orders4@114-4' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,bool>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: callvirt instance valuetype [runtime]System.DateTime [Utils]Utils/Order::get_OrderDate() + IL_0014: stloc.2 + IL_0015: call valuetype [runtime]System.DateTime assembly::get_cutOffDate() + IL_001a: stloc.3 + IL_001b: ldloc.2 + IL_001c: ldloc.3 + IL_001d: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0022: ldc.i4.0 + IL_0023: clt + IL_0025: ldc.i4.0 + IL_0026: ceq + IL_0028: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@114-4'::.ctor() + IL_0005: stsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'orders4@115-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2> + { + .field static assembly initonly class assembly/'orders4@115-5' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [runtime]System.Tuple`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Tuple`2 Invoke(class [runtime]System.Tuple`2 tupledArg) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0, + class [Utils]Utils/Order V_1) + IL_0000: ldarg.1 + IL_0001: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_0006: stloc.0 + IL_0007: ldarg.1 + IL_0008: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_000d: stloc.1 + IL_000e: ldloc.0 + IL_000f: callvirt instance string [Utils]Utils/Customer::get_CustomerID() + IL_0014: ldloc.1 + IL_0015: callvirt instance int32 [Utils]Utils/Order::get_OrderID() + IL_001a: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'orders4@115-5'::.ctor() + IL_0005: stsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numsPlusOne@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productNames@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 strings@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 textNums@27 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 words@34 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] upperLowerWords@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> digitOddEvens@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] productInfos@50 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@57 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@58 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersA@67 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbersB@68 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] pairs@70 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@79 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders@80 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`3[] orders2@89 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders3@98 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [runtime]System.DateTime cutOffDate@107 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> orders4@109 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numsPlusOne() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_strings() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_textNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_words() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_upperLowerWords() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_digitOddEvens() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_productInfos() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersA() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbersB() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`2[] get_pairs() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Tuple`3[] get_orders2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_0005: ret + } + + .method public specialname static valuetype [runtime]System.DateTime get_cutOffDate() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_orders4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [runtime]System.Collections.Generic.IEnumerable`1 V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [runtime]System.Collections.Generic.IEnumerable`1> V_5, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_6, + class [runtime]System.Collections.Generic.IEnumerable`1> V_7, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_8, + class [runtime]System.Collections.Generic.IEnumerable`1> V_9, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_10, + class [runtime]System.Collections.Generic.IEnumerable`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_12, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_13, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_14, + class [runtime]System.Collections.Generic.IEnumerable`1> V_15, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_16, + class [runtime]System.Collections.Generic.IEnumerable`1> V_17, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_18, + class [runtime]System.Collections.Generic.IEnumerable`1> V_19, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_20, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_21, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_22) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@7 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldnull + IL_004e: ldc.i4.0 + IL_004f: ldc.i4.0 + IL_0050: newobj instance void assembly/'Pipe #1 input at line 11@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0055: stloc.0 + IL_0056: ldloc.0 + IL_0057: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005c: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numsPlusOne@10 + IL_0061: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0066: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@17 + IL_006b: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0070: stloc.2 + IL_0071: ldnull + IL_0072: ldc.i4.0 + IL_0073: ldnull + IL_0074: newobj instance void assembly/productNames@22::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0079: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productNames@19 + IL_007e: ldstr "zero" + IL_0083: ldstr "one" + IL_0088: ldstr "two" + IL_008d: ldstr "three" + IL_0092: ldstr "four" + IL_0097: ldstr "five" + IL_009c: ldstr "six" + IL_00a1: ldstr "seven" + IL_00a6: ldstr "eight" + IL_00ab: ldstr "nine" + IL_00b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_00b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00ce: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00d8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_00e7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::strings@26 + IL_00ec: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00f1: stloc.s V_4 + IL_00f3: ldnull + IL_00f4: ldc.i4.0 + IL_00f5: ldnull + IL_00f6: newobj instance void assembly/'Pipe #2 input at line 28@30'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_00fb: stloc.3 + IL_00fc: ldloc.3 + IL_00fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0102: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::textNums@27 + IL_0107: ldstr "aPPLE" + IL_010c: ldstr "BlUeBeRrY" + IL_0111: ldstr "cHeRry" + IL_0116: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_011b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0120: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0125: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_012a: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::words@34 + IL_012f: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0134: stloc.s V_6 + IL_0136: ldnull + IL_0137: ldc.i4.0 + IL_0138: ldnull + IL_0139: newobj instance void assembly/'Pipe #3 input at line 37@39'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_013e: stloc.s V_5 + IL_0140: ldloc.s V_5 + IL_0142: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0147: stsfld class [runtime]System.Tuple`2[] assembly::upperLowerWords@36 + IL_014c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0151: stloc.s V_8 + IL_0153: ldnull + IL_0154: ldc.i4.0 + IL_0155: ldnull + IL_0156: newobj instance void assembly/'Pipe #4 input at line 44@46'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`2) + IL_015b: stloc.s V_7 + IL_015d: ldloc.s V_7 + IL_015f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0164: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::digitOddEvens@43 + IL_0169: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_016e: stloc.s V_10 + IL_0170: ldnull + IL_0171: ldc.i4.0 + IL_0172: ldnull + IL_0173: newobj instance void assembly/'Pipe #5 input at line 51@53'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + class [runtime]System.Tuple`3) + IL_0178: stloc.s V_9 + IL_017a: ldloc.s V_9 + IL_017c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0181: stsfld class [runtime]System.Tuple`3[] assembly::productInfos@50 + IL_0186: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + IL_018b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@57 + IL_0190: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0195: stloc.s V_12 + IL_0197: ldloc.s V_12 + IL_0199: ldloc.s V_12 + IL_019b: ldloc.s V_12 + IL_019d: ldloc.s V_12 + IL_019f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_01a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01a9: ldloc.s V_12 + IL_01ab: newobj instance void assembly/'Pipe #6 input at line 59@60'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_01b0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_01b5: ldsfld class assembly/'Pipe #6 input at line 59@61-1' assembly/'Pipe #6 input at line 59@61-1'::@_instance + IL_01ba: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01bf: ldsfld class assembly/'Pipe #6 input at line 59@62-2' assembly/'Pipe #6 input at line 59@62-2'::@_instance + IL_01c4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_01c9: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_01ce: stloc.s V_11 + IL_01d0: ldloc.s V_11 + IL_01d2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01d7: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@58 + IL_01dc: nop + IL_01dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + IL_01e2: stloc.s V_13 + IL_01e4: ldstr "four" + IL_01e9: ldstr "one" + IL_01ee: ldstr "three" + IL_01f3: ldstr "two" + IL_01f8: ldstr "zero" + IL_01fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0202: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0207: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_020c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0211: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0216: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_021b: stloc.s V_14 + IL_021d: ldloc.s V_13 + IL_021f: ldloc.s V_14 + IL_0221: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0226: callvirt instance bool class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Equals(object, + class [runtime]System.Collections.IEqualityComparer) + IL_022b: ldc.i4.0 + IL_022c: ceq + IL_022e: brfalse.s IL_024a + + IL_0230: ldstr "lowNums failed" + IL_0235: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_023a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_023f: pop + IL_0240: ldc.i4.1 + IL_0241: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0246: pop + IL_0247: nop + IL_0248: br.s IL_024b + + IL_024a: nop + IL_024b: ldc.i4.0 + IL_024c: ldc.i4.2 + IL_024d: ldc.i4.4 + IL_024e: ldc.i4.5 + IL_024f: ldc.i4.6 + IL_0250: ldc.i4.8 + IL_0251: ldc.i4.s 9 + IL_0253: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0258: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_025d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0262: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0267: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_026c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0271: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0276: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_027b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersA@67 + IL_0280: ldc.i4.1 + IL_0281: ldc.i4.3 + IL_0282: ldc.i4.5 + IL_0283: ldc.i4.7 + IL_0284: ldc.i4.8 + IL_0285: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_028a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_028f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0294: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0299: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_029e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_02a3: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbersB@68 + IL_02a8: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_02ad: stloc.s V_16 + IL_02af: ldloc.s V_16 + IL_02b1: ldloc.s V_16 + IL_02b3: ldloc.s V_16 + IL_02b5: ldloc.s V_16 + IL_02b7: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + IL_02bc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02c1: ldloc.s V_16 + IL_02c3: newobj instance void assembly/'Pipe #7 input at line 71@72'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_02c8: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_02cd: ldsfld class assembly/'Pipe #7 input at line 71@74-2' assembly/'Pipe #7 input at line 71@74-2'::@_instance + IL_02d2: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02d7: ldsfld class assembly/'Pipe #7 input at line 71@75-3' assembly/'Pipe #7 input at line 71@75-3'::@_instance + IL_02dc: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_02e1: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_02e6: stloc.s V_15 + IL_02e8: ldloc.s V_15 + IL_02ea: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_02ef: stsfld class [runtime]System.Tuple`2[] assembly::pairs@70 + IL_02f4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_02f9: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@79 + IL_02fe: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0303: stloc.s V_18 + IL_0305: ldloc.s V_18 + IL_0307: ldloc.s V_18 + IL_0309: ldloc.s V_18 + IL_030b: ldloc.s V_18 + IL_030d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0312: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0317: ldloc.s V_18 + IL_0319: newobj instance void assembly/'Pipe #8 input at line 81@82'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_031e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0323: ldsfld class assembly/'Pipe #8 input at line 81@84-2' assembly/'Pipe #8 input at line 81@84-2'::@_instance + IL_0328: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_032d: ldsfld class assembly/'Pipe #8 input at line 81@85-3' assembly/'Pipe #8 input at line 81@85-3'::@_instance + IL_0332: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0337: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_033c: stloc.s V_17 + IL_033e: ldloc.s V_17 + IL_0340: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0345: stsfld class [runtime]System.Tuple`3[] assembly::orders@80 + IL_034a: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_034f: stloc.s V_20 + IL_0351: ldloc.s V_20 + IL_0353: ldloc.s V_20 + IL_0355: ldloc.s V_20 + IL_0357: ldloc.s V_20 + IL_0359: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_035e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0363: ldloc.s V_20 + IL_0365: newobj instance void assembly/'Pipe #9 input at line 90@91'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_036a: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_036f: ldsfld class assembly/'Pipe #9 input at line 90@93-2' assembly/'Pipe #9 input at line 90@93-2'::@_instance + IL_0374: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0379: ldsfld class assembly/'Pipe #9 input at line 90@94-3' assembly/'Pipe #9 input at line 90@94-3'::@_instance + IL_037e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0383: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0388: stloc.s V_19 + IL_038a: ldloc.s V_19 + IL_038c: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray>(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0391: stsfld class [runtime]System.Tuple`3[] assembly::orders2@89 + IL_0396: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_039b: stloc.s V_21 + IL_039d: ldloc.s V_21 + IL_039f: ldloc.s V_21 + IL_03a1: ldloc.s V_21 + IL_03a3: ldloc.s V_21 + IL_03a5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_03aa: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_03af: ldloc.s V_21 + IL_03b1: newobj instance void assembly/orders3@100::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_03b6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_03bb: ldsfld class assembly/'orders3@102-2' assembly/'orders3@102-2'::@_instance + IL_03c0: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03c5: ldsfld class assembly/'orders3@103-3' assembly/'orders3@103-3'::@_instance + IL_03ca: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`3>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_03cf: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_03d4: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders3@98 + IL_03d9: ldc.i4 0x7cd + IL_03de: ldc.i4.1 + IL_03df: ldc.i4.1 + IL_03e0: newobj instance void [runtime]System.DateTime::.ctor(int32, + int32, + int32) + IL_03e5: stsfld valuetype [runtime]System.DateTime assembly::cutOffDate@107 + IL_03ea: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_03ef: stloc.s V_22 + IL_03f1: ldloc.s V_22 + IL_03f3: ldloc.s V_22 + IL_03f5: ldloc.s V_22 + IL_03f7: ldloc.s V_22 + IL_03f9: ldloc.s V_22 + IL_03fb: ldloc.s V_22 + IL_03fd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0402: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0407: ldloc.s V_22 + IL_0409: newobj instance void assembly/orders4@111::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_040e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0413: ldsfld class assembly/'orders4@112-1' assembly/'orders4@112-1'::@_instance + IL_0418: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_041d: ldloc.s V_22 + IL_041f: newobj instance void assembly/'orders4@111-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0424: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0429: ldsfld class assembly/'orders4@114-4' assembly/'orders4@114-4'::@_instance + IL_042e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where,class [runtime]System.Collections.IEnumerable>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0433: ldsfld class assembly/'orders4@115-5' assembly/'orders4@115-5'::@_instance + IL_0438: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select,class [runtime]System.Collections.IEnumerable,class [runtime]System.Tuple`2>(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_043d: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2,class [runtime]System.Collections.IEnumerable>::get_Source() + IL_0442: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::orders4@109 + IL_0447: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numsPlusOne() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numsPlusOne() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + strings() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_strings() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + textNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_textNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + words() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_words() + } + .property class [runtime]System.Tuple`2[] + upperLowerWords() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_upperLowerWords() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + digitOddEvens() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_digitOddEvens() + } + .property class [runtime]System.Tuple`3[] + productInfos() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_productInfos() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersA() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersA() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbersB() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbersB() + } + .property class [runtime]System.Tuple`2[] + pairs() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`2[] assembly::get_pairs() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Tuple`3[] + orders() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders() + } + .property class [runtime]System.Tuple`3[] + orders2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Tuple`3[] assembly::get_orders2() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders3() + } + .property valuetype [runtime]System.DateTime + cutOffDate() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [runtime]System.DateTime assembly::get_cutOffDate() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1> + orders4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_orders4() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs new file mode 100644 index 00000000000..9e72df16616 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs @@ -0,0 +1,40 @@ +// #Conformance #DataExpressions #Query +// Set Opeartors LINQ101 samples converted to query + +open System +open System.Collections.Generic +open System.Linq + +// Distinct - 1 +let factorsOf300 = [2;2;3;5;5] + +let uniqueFactors = + query { + for n in factorsOf300 do + distinct + } |> Seq.toList + +// Distinct - 2 +let products = getProductList() + +let categoryNames = + query { + for p in products do + select p.Category + distinct + } |> Seq.toList + +// Union - 2 +let customers = getCustomerList() + +let productFirstChars = + query { + for p in products do + select p.ProductName.[0] + } + +let customerFirstChars = + query { + for c in customers do + select c.CompanyName.[0] + } \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..5be630403be --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.debug.bsl @@ -0,0 +1,1439 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 12@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 21@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 21@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 21@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 21@23' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0062: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productFirstChars@32-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productFirstChars@32-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productFirstChars@32-1'::.ctor() + IL_0005: stsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productFirstChars@33 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productFirstChars@33::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/productFirstChars@33::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productFirstChars@33::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productFirstChars@33::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/productFirstChars@33::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/productFirstChars@33::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/productFirstChars@33::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/productFirstChars@33::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productFirstChars@33::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productFirstChars@33::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productFirstChars@33::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/productFirstChars@33::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/productFirstChars@33::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'customerFirstChars@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'customerFirstChars@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'customerFirstChars@38-1'::.ctor() + IL_0005: stsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname customerFirstChars@39 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/customerFirstChars@39::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/customerFirstChars@39::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Customer>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/customerFirstChars@39::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/customerFirstChars@39::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/customerFirstChars@39::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/customerFirstChars@39::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/customerFirstChars@39::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/customerFirstChars@39::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/customerFirstChars@39::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/customerFirstChars@39::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/customerFirstChars@39::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/customerFirstChars@39::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/customerFirstChars@39::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 uniqueFactors@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categoryNames@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productFirstChars@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 customerFirstChars@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categoryNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_customerFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0052: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0057: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0061: stloc.3 + IL_0062: ldloc.3 + IL_0063: ldnull + IL_0064: ldc.i4.0 + IL_0065: ldnull + IL_0066: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_006b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_4 + IL_0097: ldnull + IL_0098: ldc.i4.0 + IL_0099: ldc.i4.0 + IL_009a: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_009f: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_00a4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a9: stloc.s V_5 + IL_00ab: ldnull + IL_00ac: ldc.i4.0 + IL_00ad: ldc.i4.0 + IL_00ae: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_00b3: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_00b8: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categoryNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categoryNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productFirstChars() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + customerFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_customerFirstChars() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..5be630403be --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.release.bsl @@ -0,0 +1,1439 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 12@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 21@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 21@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 21@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 21@23' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0062: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productFirstChars@32-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productFirstChars@32-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productFirstChars@32-1'::.ctor() + IL_0005: stsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productFirstChars@33 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productFirstChars@33::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/productFirstChars@33::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productFirstChars@33::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productFirstChars@33::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/productFirstChars@33::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/productFirstChars@33::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/productFirstChars@33::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/productFirstChars@33::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productFirstChars@33::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productFirstChars@33::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productFirstChars@33::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/productFirstChars@33::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/productFirstChars@33::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'customerFirstChars@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'customerFirstChars@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'customerFirstChars@38-1'::.ctor() + IL_0005: stsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname customerFirstChars@39 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/customerFirstChars@39::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/customerFirstChars@39::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Customer>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/customerFirstChars@39::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/customerFirstChars@39::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/customerFirstChars@39::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/customerFirstChars@39::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/customerFirstChars@39::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/customerFirstChars@39::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/customerFirstChars@39::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/customerFirstChars@39::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/customerFirstChars@39::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/customerFirstChars@39::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/customerFirstChars@39::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 uniqueFactors@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categoryNames@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productFirstChars@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 customerFirstChars@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categoryNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_customerFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0052: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0057: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0061: stloc.3 + IL_0062: ldloc.3 + IL_0063: ldnull + IL_0064: ldc.i4.0 + IL_0065: ldnull + IL_0066: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_006b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_4 + IL_0097: ldnull + IL_0098: ldc.i4.0 + IL_0099: ldc.i4.0 + IL_009a: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_009f: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_00a4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a9: stloc.s V_5 + IL_00ab: ldnull + IL_00ac: ldc.i4.0 + IL_00ad: ldc.i4.0 + IL_00ae: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_00b3: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_00b8: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categoryNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categoryNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productFirstChars() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + customerFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_customerFirstChars() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..416d1ff8756 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.debug.bsl @@ -0,0 +1,1439 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 12@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 21@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 21@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 21@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 21@23' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0062: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productFirstChars@32-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productFirstChars@32-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productFirstChars@32-1'::.ctor() + IL_0005: stsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productFirstChars@33 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productFirstChars@33::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/productFirstChars@33::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productFirstChars@33::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productFirstChars@33::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/productFirstChars@33::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/productFirstChars@33::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/productFirstChars@33::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/productFirstChars@33::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productFirstChars@33::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productFirstChars@33::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productFirstChars@33::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/productFirstChars@33::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/productFirstChars@33::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'customerFirstChars@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'customerFirstChars@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'customerFirstChars@38-1'::.ctor() + IL_0005: stsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname customerFirstChars@39 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/customerFirstChars@39::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/customerFirstChars@39::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Customer>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/customerFirstChars@39::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/customerFirstChars@39::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/customerFirstChars@39::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/customerFirstChars@39::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/customerFirstChars@39::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/customerFirstChars@39::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/customerFirstChars@39::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/customerFirstChars@39::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/customerFirstChars@39::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/customerFirstChars@39::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/customerFirstChars@39::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 uniqueFactors@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categoryNames@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productFirstChars@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 customerFirstChars@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categoryNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_customerFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0052: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0057: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0061: stloc.3 + IL_0062: ldloc.3 + IL_0063: ldnull + IL_0064: ldc.i4.0 + IL_0065: ldnull + IL_0066: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_006b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_4 + IL_0097: ldnull + IL_0098: ldc.i4.0 + IL_0099: ldc.i4.0 + IL_009a: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_009f: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_00a4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a9: stloc.s V_5 + IL_00ab: ldnull + IL_00ac: ldc.i4.0 + IL_00ad: ldc.i4.0 + IL_00ae: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_00b3: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_00b8: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categoryNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categoryNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productFirstChars() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + customerFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_customerFirstChars() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..416d1ff8756 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.release.bsl @@ -0,0 +1,1439 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #1 input at line 12@13' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_006a + + IL_001e: nop + IL_001f: br.s IL_005d + + IL_0021: nop + IL_0022: br.s IL_008b + + IL_0024: nop + IL_0025: nop + IL_0026: ldarg.0 + IL_0027: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + IL_002c: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0031: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0036: ldarg.0 + IL_0037: ldc.i4.1 + IL_0038: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_003d: br.s IL_005d + + IL_003f: ldarg.0 + IL_0040: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0045: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_004a: stloc.0 + IL_004b: ldloc.0 + IL_004c: stloc.1 + IL_004d: ldarg.0 + IL_004e: ldc.i4.2 + IL_004f: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0054: ldarg.0 + IL_0055: ldloc.1 + IL_0056: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_005b: ldc.i4.1 + IL_005c: ret + + IL_005d: ldarg.0 + IL_005e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0063: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0068: brtrue.s IL_003f + + IL_006a: ldarg.0 + IL_006b: ldc.i4.3 + IL_006c: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: ldarg.0 + IL_007e: ldnull + IL_007f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_0084: ldarg.0 + IL_0085: ldc.i4.3 + IL_0086: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_008b: ldarg.0 + IL_008c: ldc.i4.0 + IL_008d: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0092: ldc.i4.0 + IL_0093: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #1 input at line 12@13'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #1 input at line 12@13'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 21@22-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #2 input at line 21@22-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 21@22-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #2 input at line 21@23' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0076 + + IL_001e: nop + IL_001f: br.s IL_0069 + + IL_0021: nop + IL_0022: br.s IL_0097 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #2 input at line 21@22-1' assembly/'Pipe #2 input at line 21@22-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0046: br.s IL_0069 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_Category() + IL_0062: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0067: ldc.i4.1 + IL_0068: ret + + IL_0069: ldarg.0 + IL_006a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_006f: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0074: brtrue.s IL_0048 + + IL_0076: ldarg.0 + IL_0077: ldc.i4.3 + IL_0078: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_007d: ldarg.0 + IL_007e: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0083: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0088: nop + IL_0089: ldarg.0 + IL_008a: ldnull + IL_008b: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_0090: ldarg.0 + IL_0091: ldc.i4.3 + IL_0092: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0097: ldarg.0 + IL_0098: ldnull + IL_0099: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_009e: ldc.i4.0 + IL_009f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #2 input at line 21@23'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #2 input at line 21@23'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #2 input at line 21@23'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'productFirstChars@32-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'productFirstChars@32-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'productFirstChars@32-1'::.ctor() + IL_0005: stsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname productFirstChars@33 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/productFirstChars@33::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/productFirstChars@33::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'productFirstChars@32-1' assembly/'productFirstChars@32-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Product>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/productFirstChars@33::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/productFirstChars@33::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Product::get_ProductName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/productFirstChars@33::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/productFirstChars@33::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/productFirstChars@33::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/productFirstChars@33::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/productFirstChars@33::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/productFirstChars@33::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/productFirstChars@33::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/productFirstChars@33::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/productFirstChars@33::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/productFirstChars@33::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/productFirstChars@33::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'customerFirstChars@38-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'customerFirstChars@38-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 5 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'customerFirstChars@38-1'::.ctor() + IL_0005: stsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname customerFirstChars@39 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public char current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + char current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/customerFirstChars@39::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld char assembly/customerFirstChars@39::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_007c + + IL_001e: nop + IL_001f: br.s IL_006f + + IL_0021: nop + IL_0022: br.s IL_009d + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'customerFirstChars@38-1' assembly/'customerFirstChars@38-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,class [Utils]Utils/Customer>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/customerFirstChars@39::pc + IL_0046: br.s IL_006f + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/customerFirstChars@39::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: callvirt instance string [Utils]Utils/Customer::get_CompanyName() + IL_0062: ldc.i4.0 + IL_0063: callvirt instance char [netstandard]System.String::get_Chars(int32) + IL_0068: stfld char assembly/customerFirstChars@39::current + IL_006d: ldc.i4.1 + IL_006e: ret + + IL_006f: ldarg.0 + IL_0070: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0075: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_007a: brtrue.s IL_0048 + + IL_007c: ldarg.0 + IL_007d: ldc.i4.3 + IL_007e: stfld int32 assembly/customerFirstChars@39::pc + IL_0083: ldarg.0 + IL_0084: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0089: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_008e: nop + IL_008f: ldarg.0 + IL_0090: ldnull + IL_0091: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_0096: ldarg.0 + IL_0097: ldc.i4.3 + IL_0098: stfld int32 assembly/customerFirstChars@39::pc + IL_009d: ldarg.0 + IL_009e: ldc.i4.0 + IL_009f: stfld char assembly/customerFirstChars@39::current + IL_00a4: ldc.i4.0 + IL_00a5: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/customerFirstChars@39::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/customerFirstChars@39::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/customerFirstChars@39::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/customerFirstChars@39::pc + IL_005d: ldarg.0 + IL_005e: ldc.i4.0 + IL_005f: stfld char assembly/customerFirstChars@39::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/customerFirstChars@39::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance char get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld char assembly/customerFirstChars@39::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldc.i4.0 + IL_0003: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_0008: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 factorsOf300@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 uniqueFactors@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@18 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 categoryNames@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@28 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 productFirstChars@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 customerFirstChars@36 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_factorsOf300() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_uniqueFactors() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_categoryNames() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_productFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_customerFirstChars() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5) + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.5 + IL_0004: ldc.i4.5 + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0014: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0023: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::factorsOf300@9 + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_002d: stloc.1 + IL_002e: ldloc.1 + IL_002f: ldnull + IL_0030: ldc.i4.0 + IL_0031: ldc.i4.0 + IL_0032: newobj instance void assembly/'Pipe #1 input at line 12@13'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_003c: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0041: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0046: stloc.0 + IL_0047: ldloc.0 + IL_0048: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_004d: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::uniqueFactors@11 + IL_0052: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0057: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@18 + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0061: stloc.3 + IL_0062: ldloc.3 + IL_0063: ldnull + IL_0064: ldc.i4.0 + IL_0065: ldnull + IL_0066: newobj instance void assembly/'Pipe #2 input at line 21@23'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_006b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::.ctor(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0070: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Distinct(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2) + IL_0075: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007a: stloc.2 + IL_007b: ldloc.2 + IL_007c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0081: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::categoryNames@20 + IL_0086: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_008b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@28 + IL_0090: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_0095: stloc.s V_4 + IL_0097: ldnull + IL_0098: ldc.i4.0 + IL_0099: ldc.i4.0 + IL_009a: newobj instance void assembly/productFirstChars@33::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_009f: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::productFirstChars@30 + IL_00a4: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00a9: stloc.s V_5 + IL_00ab: ldnull + IL_00ac: ldc.i4.0 + IL_00ad: ldc.i4.0 + IL_00ae: newobj instance void assembly/customerFirstChars@39::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + char) + IL_00b3: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::customerFirstChars@36 + IL_00b8: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + factorsOf300() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_factorsOf300() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + uniqueFactors() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_uniqueFactors() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + categoryNames() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_categoryNames() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + productFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_productFirstChars() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + customerFirstChars() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_customerFirstChars() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs new file mode 100644 index 00000000000..27dfc22e760 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs @@ -0,0 +1,55 @@ +// #Conformance #DataExpressions #Query +// Where LINQ101 samples converted to query + +open System +open System.Collections.Generic +open System.Linq + + +let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] + + // Where - Simple 1 +let lowNums = + query { + for n in numbers do + where (n < 5) + select n; + } |> List.ofSeq + +// Where - Simple 2 +let products = getProductList() + +let soldOutProducts = + query { + for p in products do + where (p.UnitsInStock = 0) + select p + } + +// Where - Simple 3 +let expensiveInStockProducts = + query { + for p in products do + where (p.UnitsInStock > 0 && p.UnitPrice > 3.00M) + select p + } + +// Where - Drilldown +let customers = getCustomerList() + +let waCustomers = + query { + for c in customers do + where (c.Region = "WA") + select c + } |> Seq.toArray + +// Where - Indexed +let digits = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] +let shortDigits = + query { + for d in digits do + select d + } + |> Seq.mapi (fun i d -> if d.Length < i then Some(d) else None) + |> Seq.choose id diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..25026f3d0c1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.debug.bsl @@ -0,0 +1,1255 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit soldOutProducts@24 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@25-1'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@26-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@26-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@26-2'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit expensiveInStockProducts@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 10 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ble.s IL_0023 + + IL_0009: ldarg.1 + IL_000a: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_000f: ldc.i4 0x12c + IL_0014: ldc.i4.0 + IL_0015: ldc.i4.0 + IL_0016: ldc.i4.0 + IL_0017: ldc.i4.2 + IL_0018: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_001d: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@33-1'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@34-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@34-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@34-2'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@42' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@43-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@44-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@44-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Customer Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@44-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 50@51-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 50@51-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 50@51-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 50@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0071 + + IL_001e: nop + IL_001f: br.s IL_0064 + + IL_0021: nop + IL_0022: br.s IL_0092 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0046: br.s IL_0064 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0062: ldc.i4.1 + IL_0063: ret + + IL_0064: ldarg.0 + IL_0065: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_006a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_006f: brtrue.s IL_0048 + + IL_0071: ldarg.0 + IL_0072: ldc.i4.3 + IL_0073: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0078: ldarg.0 + IL_0079: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_007e: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0083: nop + IL_0084: ldarg.0 + IL_0085: ldnull + IL_0086: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_008b: ldarg.0 + IL_008c: ldc.i4.3 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0092: ldarg.0 + IL_0093: ldnull + IL_0094: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0099: ldc.i4.0 + IL_009a: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 stage #1 at line 54@54' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #3 stage #1 at line 54@54' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 + Invoke(int32 i, + string d) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.2 + IL_0002: callvirt instance int32 [runtime]System.String::get_Length() + IL_0007: ldarg.1 + IL_0008: bge.s IL_0011 + + IL_000a: ldarg.2 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_0010: ret + + IL_0011: ldnull + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 stage #1 at line 54@54'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit shortDigits@55 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1> + { + .field static assembly initonly class assembly/shortDigits@55 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Identity>(!!0) + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/shortDigits@55::.ctor() + IL_0005: stsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 soldOutProducts@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 expensiveInStockProducts@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@38 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Customer[] waCustomers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 shortDigits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_soldOutProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_expensiveInStockProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Customer[] get_waCustomers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_shortDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: ldloc.1 + IL_0051: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldloc.1 + IL_005c: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0061: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0066: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_006b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0070: ldsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_0075: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_007a: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007f: stloc.0 + IL_0080: ldloc.0 + IL_0081: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0086: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_008b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0090: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0095: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009a: stloc.2 + IL_009b: ldloc.2 + IL_009c: ldloc.2 + IL_009d: ldloc.2 + IL_009e: ldloc.2 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.2 + IL_00aa: newobj instance void assembly/soldOutProducts@24::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00af: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b4: ldsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00be: ldsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_00c3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c8: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00cd: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_00d2: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d7: stloc.3 + IL_00d8: ldloc.3 + IL_00d9: ldloc.3 + IL_00da: ldloc.3 + IL_00db: ldloc.3 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00e1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00e6: ldloc.3 + IL_00e7: newobj instance void assembly/expensiveInStockProducts@32::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00f1: ldsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_00f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fb: ldsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_0100: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0105: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_010a: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_010f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0114: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0119: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011e: stloc.s V_5 + IL_0120: ldloc.s V_5 + IL_0122: ldloc.s V_5 + IL_0124: ldloc.s V_5 + IL_0126: ldloc.s V_5 + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_012d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0132: ldloc.s V_5 + IL_0134: newobj instance void assembly/'Pipe #2 input at line 41@42'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0139: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013e: ldsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_0143: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0148: ldsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0152: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0157: stloc.s V_4 + IL_0159: ldloc.s V_4 + IL_015b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0160: stsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0165: ldstr "zero" + IL_016a: ldstr "one" + IL_016f: ldstr "two" + IL_0174: ldstr "three" + IL_0179: ldstr "four" + IL_017e: ldstr "five" + IL_0183: ldstr "six" + IL_0188: ldstr "seven" + IL_018d: ldstr "eight" + IL_0192: ldstr "nine" + IL_0197: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_019c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ce: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_01d3: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01d8: stloc.s V_7 + IL_01da: ldnull + IL_01db: ldc.i4.0 + IL_01dc: ldnull + IL_01dd: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_01e2: stloc.s V_6 + IL_01e4: ldsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_01e9: ldloc.s V_6 + IL_01eb: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::MapIndexed>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01f0: stloc.s V_8 + IL_01f2: ldsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_01f7: ldloc.s V_8 + IL_01f9: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Choose,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01fe: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0203: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + soldOutProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_soldOutProducts() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + expensiveInStockProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_expensiveInStockProducts() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [Utils]Utils/Customer[] + waCustomers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Customer[] assembly::get_waCustomers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + shortDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_shortDigits() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..25026f3d0c1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.release.bsl @@ -0,0 +1,1255 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit soldOutProducts@24 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@25-1'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@26-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@26-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@26-2'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit expensiveInStockProducts@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 10 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ble.s IL_0023 + + IL_0009: ldarg.1 + IL_000a: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_000f: ldc.i4 0x12c + IL_0014: ldc.i4.0 + IL_0015: ldc.i4.0 + IL_0016: ldc.i4.0 + IL_0017: ldc.i4.2 + IL_0018: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_001d: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@33-1'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@34-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@34-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@34-2'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@42' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@43-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@44-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@44-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Customer Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@44-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 50@51-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 50@51-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 50@51-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 50@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0071 + + IL_001e: nop + IL_001f: br.s IL_0064 + + IL_0021: nop + IL_0022: br.s IL_0092 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0046: br.s IL_0064 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0062: ldc.i4.1 + IL_0063: ret + + IL_0064: ldarg.0 + IL_0065: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_006a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_006f: brtrue.s IL_0048 + + IL_0071: ldarg.0 + IL_0072: ldc.i4.3 + IL_0073: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0078: ldarg.0 + IL_0079: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_007e: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0083: nop + IL_0084: ldarg.0 + IL_0085: ldnull + IL_0086: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_008b: ldarg.0 + IL_008c: ldc.i4.3 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0092: ldarg.0 + IL_0093: ldnull + IL_0094: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0099: ldc.i4.0 + IL_009a: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 stage #1 at line 54@54' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #3 stage #1 at line 54@54' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 + Invoke(int32 i, + string d) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.2 + IL_0002: callvirt instance int32 [runtime]System.String::get_Length() + IL_0007: ldarg.1 + IL_0008: bge.s IL_0011 + + IL_000a: ldarg.2 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_0010: ret + + IL_0011: ldnull + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 stage #1 at line 54@54'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit shortDigits@55 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1> + { + .field static assembly initonly class assembly/shortDigits@55 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Identity>(!!0) + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/shortDigits@55::.ctor() + IL_0005: stsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 soldOutProducts@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 expensiveInStockProducts@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@38 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Customer[] waCustomers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 shortDigits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_soldOutProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_expensiveInStockProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Customer[] get_waCustomers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_shortDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: ldloc.1 + IL_0051: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldloc.1 + IL_005c: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0061: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0066: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_006b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0070: ldsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_0075: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_007a: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007f: stloc.0 + IL_0080: ldloc.0 + IL_0081: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0086: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_008b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0090: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0095: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009a: stloc.2 + IL_009b: ldloc.2 + IL_009c: ldloc.2 + IL_009d: ldloc.2 + IL_009e: ldloc.2 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.2 + IL_00aa: newobj instance void assembly/soldOutProducts@24::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00af: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b4: ldsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00be: ldsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_00c3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c8: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00cd: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_00d2: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d7: stloc.3 + IL_00d8: ldloc.3 + IL_00d9: ldloc.3 + IL_00da: ldloc.3 + IL_00db: ldloc.3 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00e1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00e6: ldloc.3 + IL_00e7: newobj instance void assembly/expensiveInStockProducts@32::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00f1: ldsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_00f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fb: ldsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_0100: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0105: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_010a: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_010f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0114: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0119: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011e: stloc.s V_5 + IL_0120: ldloc.s V_5 + IL_0122: ldloc.s V_5 + IL_0124: ldloc.s V_5 + IL_0126: ldloc.s V_5 + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_012d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0132: ldloc.s V_5 + IL_0134: newobj instance void assembly/'Pipe #2 input at line 41@42'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0139: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013e: ldsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_0143: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0148: ldsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0152: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0157: stloc.s V_4 + IL_0159: ldloc.s V_4 + IL_015b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0160: stsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0165: ldstr "zero" + IL_016a: ldstr "one" + IL_016f: ldstr "two" + IL_0174: ldstr "three" + IL_0179: ldstr "four" + IL_017e: ldstr "five" + IL_0183: ldstr "six" + IL_0188: ldstr "seven" + IL_018d: ldstr "eight" + IL_0192: ldstr "nine" + IL_0197: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_019c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ce: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_01d3: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01d8: stloc.s V_7 + IL_01da: ldnull + IL_01db: ldc.i4.0 + IL_01dc: ldnull + IL_01dd: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_01e2: stloc.s V_6 + IL_01e4: ldsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_01e9: ldloc.s V_6 + IL_01eb: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::MapIndexed>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01f0: stloc.s V_8 + IL_01f2: ldsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_01f7: ldloc.s V_8 + IL_01f9: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Choose,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01fe: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0203: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + soldOutProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_soldOutProducts() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + expensiveInStockProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_expensiveInStockProducts() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [Utils]Utils/Customer[] + waCustomers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Customer[] assembly::get_waCustomers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + shortDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_shortDigits() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..6b7d9fb6114 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.debug.bsl @@ -0,0 +1,1255 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit soldOutProducts@24 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@25-1'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@26-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@26-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@26-2'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit expensiveInStockProducts@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 10 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ble.s IL_0023 + + IL_0009: ldarg.1 + IL_000a: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_000f: ldc.i4 0x12c + IL_0014: ldc.i4.0 + IL_0015: ldc.i4.0 + IL_0016: ldc.i4.0 + IL_0017: ldc.i4.2 + IL_0018: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_001d: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@33-1'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@34-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@34-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@34-2'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@42' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@43-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@44-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@44-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Customer Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@44-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 50@51-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 50@51-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 50@51-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 50@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0071 + + IL_001e: nop + IL_001f: br.s IL_0064 + + IL_0021: nop + IL_0022: br.s IL_0092 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0046: br.s IL_0064 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0062: ldc.i4.1 + IL_0063: ret + + IL_0064: ldarg.0 + IL_0065: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_006a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_006f: brtrue.s IL_0048 + + IL_0071: ldarg.0 + IL_0072: ldc.i4.3 + IL_0073: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0078: ldarg.0 + IL_0079: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_007e: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0083: nop + IL_0084: ldarg.0 + IL_0085: ldnull + IL_0086: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_008b: ldarg.0 + IL_008c: ldc.i4.3 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0092: ldarg.0 + IL_0093: ldnull + IL_0094: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0099: ldc.i4.0 + IL_009a: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 stage #1 at line 54@54' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #3 stage #1 at line 54@54' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 + Invoke(int32 i, + string d) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.2 + IL_0002: callvirt instance int32 [runtime]System.String::get_Length() + IL_0007: ldarg.1 + IL_0008: bge.s IL_0011 + + IL_000a: ldarg.2 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_0010: ret + + IL_0011: ldnull + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 stage #1 at line 54@54'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit shortDigits@55 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1> + { + .field static assembly initonly class assembly/shortDigits@55 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Identity>(!!0) + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/shortDigits@55::.ctor() + IL_0005: stsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 soldOutProducts@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 expensiveInStockProducts@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@38 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Customer[] waCustomers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 shortDigits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_soldOutProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_expensiveInStockProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Customer[] get_waCustomers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_shortDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: ldloc.1 + IL_0051: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldloc.1 + IL_005c: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0061: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0066: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_006b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0070: ldsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_0075: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_007a: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007f: stloc.0 + IL_0080: ldloc.0 + IL_0081: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0086: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_008b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0090: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0095: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009a: stloc.2 + IL_009b: ldloc.2 + IL_009c: ldloc.2 + IL_009d: ldloc.2 + IL_009e: ldloc.2 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.2 + IL_00aa: newobj instance void assembly/soldOutProducts@24::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00af: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b4: ldsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00be: ldsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_00c3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c8: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00cd: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_00d2: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d7: stloc.3 + IL_00d8: ldloc.3 + IL_00d9: ldloc.3 + IL_00da: ldloc.3 + IL_00db: ldloc.3 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00e1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00e6: ldloc.3 + IL_00e7: newobj instance void assembly/expensiveInStockProducts@32::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00f1: ldsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_00f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fb: ldsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_0100: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0105: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_010a: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_010f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0114: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0119: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011e: stloc.s V_5 + IL_0120: ldloc.s V_5 + IL_0122: ldloc.s V_5 + IL_0124: ldloc.s V_5 + IL_0126: ldloc.s V_5 + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_012d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0132: ldloc.s V_5 + IL_0134: newobj instance void assembly/'Pipe #2 input at line 41@42'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0139: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013e: ldsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_0143: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0148: ldsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0152: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0157: stloc.s V_4 + IL_0159: ldloc.s V_4 + IL_015b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0160: stsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0165: ldstr "zero" + IL_016a: ldstr "one" + IL_016f: ldstr "two" + IL_0174: ldstr "three" + IL_0179: ldstr "four" + IL_017e: ldstr "five" + IL_0183: ldstr "six" + IL_0188: ldstr "seven" + IL_018d: ldstr "eight" + IL_0192: ldstr "nine" + IL_0197: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_019c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ce: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_01d3: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01d8: stloc.s V_7 + IL_01da: ldnull + IL_01db: ldc.i4.0 + IL_01dc: ldnull + IL_01dd: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_01e2: stloc.s V_6 + IL_01e4: ldsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_01e9: ldloc.s V_6 + IL_01eb: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::MapIndexed>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01f0: stloc.s V_8 + IL_01f2: ldsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_01f7: ldloc.s V_8 + IL_01f9: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Choose,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01fe: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0203: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + soldOutProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_soldOutProducts() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + expensiveInStockProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_expensiveInStockProducts() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [Utils]Utils/Customer[] + waCustomers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Customer[] assembly::get_waCustomers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + shortDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_shortDigits() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..6b7d9fb6114 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.release.bsl @@ -0,0 +1,1255 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern Utils +{ + .ver 0:0:0:0 +} +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@14' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(int32 _arg1) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #1 input at line 13@14'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@15-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@15-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldc.i4.5 + IL_0002: clt + IL_0004: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@15-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #1 input at line 13@16-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #1 input at line 13@16-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #1 input at line 13@16-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit soldOutProducts@24 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/soldOutProducts@24::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@25-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@25-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ceq + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@25-1'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'soldOutProducts@26-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'soldOutProducts@26-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'soldOutProducts@26-2'::.ctor() + IL_0005: stsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit expensiveInStockProducts@32 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Product _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Product V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/expensiveInStockProducts@32::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@33-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@33-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 10 + IL_0000: ldarg.1 + IL_0001: callvirt instance int32 [Utils]Utils/Product::get_UnitsInStock() + IL_0006: ldc.i4.0 + IL_0007: ble.s IL_0023 + + IL_0009: ldarg.1 + IL_000a: callvirt instance valuetype [runtime]System.Decimal [Utils]Utils/Product::get_UnitPrice() + IL_000f: ldc.i4 0x12c + IL_0014: ldc.i4.0 + IL_0015: ldc.i4.0 + IL_0016: ldc.i4.0 + IL_0017: ldc.i4.2 + IL_0018: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_001d: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@33-1'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'expensiveInStockProducts@34-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'expensiveInStockProducts@34-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Product Invoke(class [Utils]Utils/Product p) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'expensiveInStockProducts@34-2'::.ctor() + IL_0005: stsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@42' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 Invoke(class [Utils]Utils/Customer _arg1) cil managed + { + + .maxstack 6 + .locals init (class [Utils]Utils/Customer V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder assembly/'Pipe #2 input at line 41@42'::builder@ + IL_0008: ldloc.0 + IL_0009: tail. + IL_000b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Yield(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@43-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@43-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: callvirt instance string [Utils]Utils/Customer::get_Region() + IL_0006: ldstr "WA" + IL_000b: call bool [netstandard]System.String::Equals(string, + string) + IL_0010: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@43-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #2 input at line 41@44-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class assembly/'Pipe #2 input at line 41@44-2' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [Utils]Utils/Customer Invoke(class [Utils]Utils/Customer c) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #2 input at line 41@44-2'::.ctor() + IL_0005: stsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 input at line 50@51-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field static assembly initonly class assembly/'Pipe #3 input at line 50@51-1' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerable`1 Invoke(string _arg1) cil managed + { + + .maxstack 5 + .locals init (string V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: tail. + IL_0005: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Singleton(!!0) + IL_000a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 input at line 50@51-1'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_000a: ret + } + + } + + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'Pipe #3 input at line 50@52' + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public string current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + int32 pc, + string current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (string V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0071 + + IL_001e: nop + IL_001f: br.s IL_0064 + + IL_0021: nop + IL_0022: br.s IL_0092 + + IL_0024: nop + IL_0025: ldarg.0 + IL_0026: ldsfld class assembly/'Pipe #3 input at line 50@51-1' assembly/'Pipe #3 input at line 50@51-1'::@_instance + IL_002b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + IL_0030: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Collect,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0035: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_003a: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_003f: ldarg.0 + IL_0040: ldc.i4.1 + IL_0041: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0046: br.s IL_0064 + + IL_0048: ldarg.0 + IL_0049: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004e: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0053: stloc.0 + IL_0054: ldarg.0 + IL_0055: ldc.i4.2 + IL_0056: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005b: ldarg.0 + IL_005c: ldloc.0 + IL_005d: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0062: ldc.i4.1 + IL_0063: ret + + IL_0064: ldarg.0 + IL_0065: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_006a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_006f: brtrue.s IL_0048 + + IL_0071: ldarg.0 + IL_0072: ldc.i4.3 + IL_0073: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0078: ldarg.0 + IL_0079: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_007e: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0083: nop + IL_0084: ldarg.0 + IL_0085: ldnull + IL_0086: stfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_008b: ldarg.0 + IL_008c: ldc.i4.3 + IL_008d: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0092: ldarg.0 + IL_0093: ldnull + IL_0094: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0099: ldc.i4.0 + IL_009a: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: ldc.i4.3 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0016 + + IL_0013: nop + IL_0014: br.s IL_0076 + + IL_0016: nop + .try + { + IL_0017: ldarg.0 + IL_0018: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_001d: switch ( + IL_0034, + IL_0037, + IL_003a, + IL_003d) + IL_0032: br.s IL_0040 + + IL_0034: nop + IL_0035: br.s IL_0056 + + IL_0037: nop + IL_0038: br.s IL_0042 + + IL_003a: nop + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: br.s IL_0056 + + IL_0040: nop + IL_0041: nop + IL_0042: ldarg.0 + IL_0043: ldc.i4.3 + IL_0044: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0049: ldarg.0 + IL_004a: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 assembly/'Pipe #3 input at line 50@52'::'enum' + IL_004f: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0054: nop + IL_0055: nop + IL_0056: ldarg.0 + IL_0057: ldc.i4.3 + IL_0058: stfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_005d: ldarg.0 + IL_005e: ldnull + IL_005f: stfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0064: leave.s IL_0070 + + } + catch [runtime]System.Object + { + IL_0066: castclass [runtime]System.Exception + IL_006b: stloc.1 + IL_006c: ldloc.1 + IL_006d: stloc.0 + IL_006e: leave.s IL_0070 + + } + IL_0070: nop + IL_0071: br IL_0000 + + IL_0076: ldloc.0 + IL_0077: brfalse.s IL_007b + + IL_0079: ldloc.0 + IL_007a: throw + + IL_007b: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/'Pipe #3 input at line 50@52'::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.1 + IL_002b: ret + + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance string get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string assembly/'Pipe #3 input at line 50@52'::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldc.i4.0 + IL_0002: ldnull + IL_0003: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_0008: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'Pipe #3 stage #1 at line 54@54' + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3> + { + .field static assembly initonly class assembly/'Pipe #3 stage #1 at line 54@54' @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`3>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 + Invoke(int32 i, + string d) cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldarg.2 + IL_0002: callvirt instance int32 [runtime]System.String::get_Length() + IL_0007: ldarg.1 + IL_0008: bge.s IL_0011 + + IL_000a: ldarg.2 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_0010: ret + + IL_0011: ldnull + IL_0012: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/'Pipe #3 stage #1 at line 54@54'::.ctor() + IL_0005: stsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit shortDigits@55 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1> + { + .field static assembly initonly class assembly/shortDigits@55 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Identity>(!!0) + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/shortDigits@55::.ctor() + IL_0005: stsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 numbers@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 lowNums@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 products@20 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 soldOutProducts@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 expensiveInStockProducts@30 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 customers@38 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [Utils]Utils/Customer[] waCustomers@40 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 digits@48 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 shortDigits@49 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_numbers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_lowNums() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_products() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_soldOutProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_expensiveInStockProducts() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_customers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0005: ret + } + + .method public specialname static class [Utils]Utils/Customer[] get_waCustomers() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_digits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_0005: ret + } + + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_shortDigits() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 13 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_1, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_2, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_3, + class [runtime]System.Collections.Generic.IEnumerable`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_5, + class [runtime]System.Collections.Generic.IEnumerable`1 V_6, + class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder V_7, + class [runtime]System.Collections.Generic.IEnumerable`1> V_8) + IL_0000: ldc.i4.5 + IL_0001: ldc.i4.4 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.3 + IL_0004: ldc.i4.s 9 + IL_0006: ldc.i4.8 + IL_0007: ldc.i4.6 + IL_0008: ldc.i4.7 + IL_0009: ldc.i4.2 + IL_000a: ldc.i4.0 + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0015: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_001f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0024: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0029: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0042: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::numbers@9 + IL_0047: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_004c: stloc.1 + IL_004d: ldloc.1 + IL_004e: ldloc.1 + IL_004f: ldloc.1 + IL_0050: ldloc.1 + IL_0051: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + IL_0056: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_005b: ldloc.1 + IL_005c: newobj instance void assembly/'Pipe #1 input at line 13@14'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0061: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0066: ldsfld class assembly/'Pipe #1 input at line 13@15-1' assembly/'Pipe #1 input at line 13@15-1'::@_instance + IL_006b: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0070: ldsfld class assembly/'Pipe #1 input at line 13@16-2' assembly/'Pipe #1 input at line 13@16-2'::@_instance + IL_0075: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_007a: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_007f: stloc.0 + IL_0080: ldloc.0 + IL_0081: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0086: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::lowNums@12 + IL_008b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getProductList() + IL_0090: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::products@20 + IL_0095: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_009a: stloc.2 + IL_009b: ldloc.2 + IL_009c: ldloc.2 + IL_009d: ldloc.2 + IL_009e: ldloc.2 + IL_009f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00a4: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00a9: ldloc.2 + IL_00aa: newobj instance void assembly/soldOutProducts@24::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00af: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00b4: ldsfld class assembly/'soldOutProducts@25-1' assembly/'soldOutProducts@25-1'::@_instance + IL_00b9: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00be: ldsfld class assembly/'soldOutProducts@26-2' assembly/'soldOutProducts@26-2'::@_instance + IL_00c3: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00c8: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_00cd: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::soldOutProducts@22 + IL_00d2: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_00d7: stloc.3 + IL_00d8: ldloc.3 + IL_00d9: ldloc.3 + IL_00da: ldloc.3 + IL_00db: ldloc.3 + IL_00dc: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + IL_00e1: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00e6: ldloc.3 + IL_00e7: newobj instance void assembly/expensiveInStockProducts@32::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_00ec: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_00f1: ldsfld class assembly/'expensiveInStockProducts@33-1' assembly/'expensiveInStockProducts@33-1'::@_instance + IL_00f6: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_00fb: ldsfld class assembly/'expensiveInStockProducts@34-2' assembly/'expensiveInStockProducts@34-2'::@_instance + IL_0100: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0105: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_010a: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::expensiveInStockProducts@30 + IL_010f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [Utils]Utils::getCustomerList() + IL_0114: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::customers@38 + IL_0119: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_011e: stloc.s V_5 + IL_0120: ldloc.s V_5 + IL_0122: ldloc.s V_5 + IL_0124: ldloc.s V_5 + IL_0126: ldloc.s V_5 + IL_0128: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + IL_012d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Source(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0132: ldloc.s V_5 + IL_0134: newobj instance void assembly/'Pipe #2 input at line 41@42'::.ctor(class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder) + IL_0139: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::For(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_013e: ldsfld class assembly/'Pipe #2 input at line 41@43-1' assembly/'Pipe #2 input at line 41@43-1'::@_instance + IL_0143: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Where(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0148: ldsfld class assembly/'Pipe #2 input at line 41@44-2' assembly/'Pipe #2 input at line 41@44-2'::@_instance + IL_014d: callvirt instance class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2 [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder::Select(class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0152: callvirt instance class [runtime]System.Collections.Generic.IEnumerable`1 class [FSharp.Core]Microsoft.FSharp.Linq.QuerySource`2::get_Source() + IL_0157: stloc.s V_4 + IL_0159: ldloc.s V_4 + IL_015b: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToArray(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0160: stsfld class [Utils]Utils/Customer[] assembly::waCustomers@40 + IL_0165: ldstr "zero" + IL_016a: ldstr "one" + IL_016f: ldstr "two" + IL_0174: ldstr "three" + IL_0179: ldstr "four" + IL_017e: ldstr "five" + IL_0183: ldstr "six" + IL_0188: ldstr "seven" + IL_018d: ldstr "eight" + IL_0192: ldstr "nine" + IL_0197: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_019c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a1: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01a6: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ab: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b0: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01b5: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ba: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01bf: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01c9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_01ce: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::digits@48 + IL_01d3: call class [FSharp.Core]Microsoft.FSharp.Linq.QueryBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_query() + IL_01d8: stloc.s V_7 + IL_01da: ldnull + IL_01db: ldc.i4.0 + IL_01dc: ldnull + IL_01dd: newobj instance void assembly/'Pipe #3 input at line 50@52'::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + string) + IL_01e2: stloc.s V_6 + IL_01e4: ldsfld class assembly/'Pipe #3 stage #1 at line 54@54' assembly/'Pipe #3 stage #1 at line 54@54'::@_instance + IL_01e9: ldloc.s V_6 + IL_01eb: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::MapIndexed>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01f0: stloc.s V_8 + IL_01f2: ldsfld class assembly/shortDigits@55 assembly/shortDigits@55::@_instance + IL_01f7: ldloc.s V_8 + IL_01f9: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Choose,string>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_01fe: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::shortDigits@49 + IL_0203: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + numbers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_numbers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + lowNums() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_lowNums() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + products() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_products() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + soldOutProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_soldOutProducts() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + expensiveInStockProducts() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_expensiveInStockProducts() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + customers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_customers() + } + .property class [Utils]Utils/Customer[] + waCustomers() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [Utils]Utils/Customer[] assembly::get_waCustomers() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + digits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_digits() + } + .property class [runtime]System.Collections.Generic.IEnumerable`1 + shortDigits() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_shortDigits() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/QueryExpressionStepping.fs similarity index 97% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/QueryExpressionStepping.fs index 8cd5778d97f..829560bae15 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/QueryExpressionStepping.fs @@ -1,11 +1,11 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO open FSharp.Test open FSharp.Test.Compiler -module QueryExpressionStepping = +module QueryExpressionSteppingRealSignatureOn = // SOURCE=Utils.fs SCFLAGS="-a -r:System.Xml.Linq" # Utils.fs let utilsLibrary = @@ -21,6 +21,7 @@ module QueryExpressionStepping = |> withEmbedAllSource |> withReferences [utilsLibrary] |> ignoreWarnings + |> withRealInternalSignatureOn |> verifyILBaseline // SOURCE=Linq101Aggregates01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Aggregates01.exe" # Linq101Aggregates01.fs - CodeGen diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs new file mode 100644 index 00000000000..cf652bfdc87 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs @@ -0,0 +1,227 @@ +[] +module Utils + +open System +open System.Text.RegularExpressions +open System.Xml +open System.Xml.Linq + +type ProductR = { ProductID : int; ProductName : string; Category : string; UnitPrice : decimal; UnitsInStock : int } + +type Product() = + let mutable id = 0 + let mutable name = "" + let mutable category = "" + let mutable price = 0M + let mutable unitsInStock = 0 + + member x.ProductID with get() = id and set(v) = id <- v + member x.ProductName with get() = name and set(v) = name <- v + member x.Category with get() = category and set(v) = category <- v + member x.UnitPrice with get() = price and set(v) = price <- v + member x.UnitsInStock with get() = unitsInStock and set(v) = unitsInStock <- v + +let getProductList() = + [ + Product(ProductID = 1, ProductName = "Chai", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 39 ); + Product(ProductID = 2, ProductName = "Chang", Category = "Beverages", UnitPrice = 19.0000M, UnitsInStock = 17 ); + Product(ProductID = 3, ProductName = "Aniseed Syrup", Category = "Condiments", UnitPrice = 10.0000M, UnitsInStock = 13 ); + Product(ProductID = 4, ProductName = "Chef Anton's Cajun Seasoning", Category = "Condiments", UnitPrice = 22.0000M, UnitsInStock = 53 ); + Product(ProductID = 5, ProductName = "Chef Anton's Gumbo Mix", Category = "Condiments", UnitPrice = 21.3500M, UnitsInStock = 0 ); + Product(ProductID = 6, ProductName = "Grandma's Boysenberry Spread", Category = "Condiments", UnitPrice = 25.0000M, UnitsInStock = 120 ); + Product(ProductID = 7, ProductName = "Uncle Bob's Organic Dried Pears", Category = "Produce", UnitPrice = 30.0000M, UnitsInStock = 15 ); + Product(ProductID = 8, ProductName = "Northwoods Cranberry Sauce", Category = "Condiments", UnitPrice = 40.0000M, UnitsInStock = 6 ); + Product(ProductID = 9, ProductName = "Mishi Kobe Niku", Category = "Meat/Poultry", UnitPrice = 97.0000M, UnitsInStock = 29 ); + Product(ProductID = 10, ProductName = "Ikura", Category = "Seafood", UnitPrice = 31.0000M, UnitsInStock = 31 ); + Product(ProductID = 11, ProductName = "Queso Cabrales", Category = "Dairy Products", UnitPrice = 21.0000M, UnitsInStock = 22 ); + Product(ProductID = 12, ProductName = "Queso Manchego La Pastora", Category = "Dairy Products", UnitPrice = 38.0000M, UnitsInStock = 86 ); + Product(ProductID = 13, ProductName = "Konbu", Category = "Seafood", UnitPrice = 6.0000M, UnitsInStock = 24 ); + Product(ProductID = 14, ProductName = "Tofu", Category = "Produce", UnitPrice = 23.2500M, UnitsInStock = 35 ); + Product(ProductID = 15, ProductName = "Genen Shouyu", Category = "Condiments", UnitPrice = 15.5000M, UnitsInStock = 39 ); + Product(ProductID = 16, ProductName = "Pavlova", Category = "Confections", UnitPrice = 17.4500M, UnitsInStock = 29 ); + Product(ProductID = 17, ProductName = "Alice Mutton", Category = "Meat/Poultry", UnitPrice = 39.0000M, UnitsInStock = 0 ); + Product(ProductID = 18, ProductName = "Carnarvon Tigers", Category = "Seafood", UnitPrice = 62.5000M, UnitsInStock = 42 ); + Product(ProductID = 19, ProductName = "Teatime Chocolate Biscuits", Category = "Confections", UnitPrice = 9.2000M, UnitsInStock = 25 ); + Product(ProductID = 20, ProductName = "Sir Rodney's Marmalade", Category = "Confections", UnitPrice = 81.0000M, UnitsInStock = 40 ); + Product(ProductID = 21, ProductName = "Sir Rodney's Scones", Category = "Confections", UnitPrice = 10.0000M, UnitsInStock = 3 ); + Product(ProductID = 22, ProductName = "Gustaf's Knäckebröd", Category = "Grains/Cereals", UnitPrice = 21.0000M, UnitsInStock = 104 ); + Product(ProductID = 23, ProductName = "Tunnbröd", Category = "Grains/Cereals", UnitPrice = 9.0000M, UnitsInStock = 61 ); + Product(ProductID = 24, ProductName = "Guaraná Fantástica", Category = "Beverages", UnitPrice = 4.5000M, UnitsInStock = 20 ); + Product(ProductID = 25, ProductName = "NuNuCa Nuß-Nougat-Creme", Category = "Confections", UnitPrice = 14.0000M, UnitsInStock = 76 ); + Product(ProductID = 26, ProductName = "Gumbär Gummibärchen", Category = "Confections", UnitPrice = 31.2300M, UnitsInStock = 15 ); + Product(ProductID = 27, ProductName = "Schoggi Schokolade", Category = "Confections", UnitPrice = 43.9000M, UnitsInStock = 49 ); + Product(ProductID = 28, ProductName = "Rössle Sauerkraut", Category = "Produce", UnitPrice = 45.6000M, UnitsInStock = 26 ); + Product(ProductID = 29, ProductName = "Thüringer Rostbratwurst", Category = "Meat/Poultry", UnitPrice = 123.7900M, UnitsInStock = 0 ); + Product(ProductID = 30, ProductName = "Nord-Ost Matjeshering", Category = "Seafood", UnitPrice = 25.8900M, UnitsInStock = 10 ); + Product(ProductID = 31, ProductName = "Gorgonzola Telino", Category = "Dairy Products", UnitPrice = 12.5000M, UnitsInStock = 0 ); + Product(ProductID = 32, ProductName = "Mascarpone Fabioli", Category = "Dairy Products", UnitPrice = 32.0000M, UnitsInStock = 9 ); + Product(ProductID = 33, ProductName = "Geitost", Category = "Dairy Products", UnitPrice = 2.5000M, UnitsInStock = 112 ); + Product(ProductID = 34, ProductName = "Sasquatch Ale", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 111 ); + Product(ProductID = 35, ProductName = "Steeleye Stout", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 20 ); + Product(ProductID = 36, ProductName = "Inlagd Sill", Category = "Seafood", UnitPrice = 19.0000M, UnitsInStock = 112 ); + Product(ProductID = 37, ProductName = "Gravad lax", Category = "Seafood", UnitPrice = 26.0000M, UnitsInStock = 11 ); + Product(ProductID = 38, ProductName = "Côte de Blaye", Category = "Beverages", UnitPrice = 263.5000M, UnitsInStock = 17 ); + Product(ProductID = 39, ProductName = "Chartreuse verte", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 69 ); + Product(ProductID = 40, ProductName = "Boston Crab Meat", Category = "Seafood", UnitPrice = 18.4000M, UnitsInStock = 123 ); + Product(ProductID = 41, ProductName = "Jack's New England Clam Chowder", Category = "Seafood", UnitPrice = 9.6500M, UnitsInStock = 85 ); + Product(ProductID = 42, ProductName = "Singaporean Hokkien Fried Mee", Category = "Grains/Cereals", UnitPrice = 14.0000M, UnitsInStock = 26 ); + Product(ProductID = 43, ProductName = "Ipoh Coffee", Category = "Beverages", UnitPrice = 46.0000M, UnitsInStock = 17 ); + Product(ProductID = 44, ProductName = "Gula Malacca", Category = "Condiments", UnitPrice = 19.4500M, UnitsInStock = 27 ); + Product(ProductID = 45, ProductName = "Rogede sild", Category = "Seafood", UnitPrice = 9.5000M, UnitsInStock = 5 ); + Product(ProductID = 46, ProductName = "Spegesild", Category = "Seafood", UnitPrice = 12.0000M, UnitsInStock = 95 ); + Product(ProductID = 47, ProductName = "Zaanse koeken", Category = "Confections", UnitPrice = 9.5000M, UnitsInStock = 36 ); + Product(ProductID = 48, ProductName = "Chocolade", Category = "Confections", UnitPrice = 12.7500M, UnitsInStock = 15 ); + Product(ProductID = 49, ProductName = "Maxilaku", Category = "Confections", UnitPrice = 20.0000M, UnitsInStock = 10 ); + Product(ProductID = 50, ProductName = "Valkoinen suklaa", Category = "Confections", UnitPrice = 16.2500M, UnitsInStock = 65 ); + Product(ProductID = 51, ProductName = "Manjimup Dried Apples", Category = "Produce", UnitPrice = 53.0000M, UnitsInStock = 20 ); + Product(ProductID = 52, ProductName = "Filo Mix", Category = "Grains/Cereals", UnitPrice = 7.0000M, UnitsInStock = 38 ); + Product(ProductID = 53, ProductName = "Perth Pasties", Category = "Meat/Poultry", UnitPrice = 32.8000M, UnitsInStock = 0 ); + Product(ProductID = 54, ProductName = "Tourtière", Category = "Meat/Poultry", UnitPrice = 7.4500M, UnitsInStock = 21 ); + Product(ProductID = 55, ProductName = "Pâté chinois", Category = "Meat/Poultry", UnitPrice = 24.0000M, UnitsInStock = 115 ); + Product(ProductID = 56, ProductName = "Gnocchi di nonna Alice", Category = "Grains/Cereals", UnitPrice = 38.0000M, UnitsInStock = 21 ); + Product(ProductID = 57, ProductName = "Ravioli Angelo", Category = "Grains/Cereals", UnitPrice = 19.5000M, UnitsInStock = 36 ); + Product(ProductID = 58, ProductName = "Escargots de Bourgogne", Category = "Seafood", UnitPrice = 13.2500M, UnitsInStock = 62 ); + Product(ProductID = 59, ProductName = "Raclette Courdavault", Category = "Dairy Products", UnitPrice = 55.0000M, UnitsInStock = 79 ); + Product(ProductID = 60, ProductName = "Camembert Pierrot", Category = "Dairy Products", UnitPrice = 34.0000M, UnitsInStock = 19 ); + Product(ProductID = 61, ProductName = "Sirop d'érable", Category = "Condiments", UnitPrice = 28.5000M, UnitsInStock = 113 ); + Product(ProductID = 62, ProductName = "Tarte au sucre", Category = "Confections", UnitPrice = 49.3000M, UnitsInStock = 17 ); + Product(ProductID = 63, ProductName = "Vegie-spread", Category = "Condiments", UnitPrice = 43.9000M, UnitsInStock = 24 ); + Product(ProductID = 64, ProductName = "Wimmers gute Semmelknödel", Category = "Grains/Cereals", UnitPrice = 33.2500M, UnitsInStock = 22 ); + Product(ProductID = 65, ProductName = "Louisiana Fiery Hot Pepper Sauce", Category = "Condiments", UnitPrice = 21.0500M, UnitsInStock = 76 ); + Product(ProductID = 66, ProductName = "Louisiana Hot Spiced Okra", Category = "Condiments", UnitPrice = 17.0000M, UnitsInStock = 4 ); + Product(ProductID = 67, ProductName = "Laughing Lumberjack Lager", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 52 ); + Product(ProductID = 68, ProductName = "Scottish Longbreads", Category = "Confections", UnitPrice = 12.5000M, UnitsInStock = 6 ); + Product(ProductID = 69, ProductName = "Gudbrandsdalsost", Category = "Dairy Products", UnitPrice = 36.0000M, UnitsInStock = 26 ); + Product(ProductID = 70, ProductName = "Outback Lager", Category = "Beverages", UnitPrice = 15.0000M, UnitsInStock = 15 ); + Product(ProductID = 71, ProductName = "Flotemysost", Category = "Dairy Products", UnitPrice = 21.5000M, UnitsInStock = 26 ); + Product(ProductID = 72, ProductName = "Mozzarella di Giovanni", Category = "Dairy Products", UnitPrice = 34.8000M, UnitsInStock = 14 ); + Product(ProductID = 73, ProductName = "Röd Kaviar", Category = "Seafood", UnitPrice = 15.0000M, UnitsInStock = 101 ); + Product(ProductID = 74, ProductName = "Longlife Tofu", Category = "Produce", UnitPrice = 10.0000M, UnitsInStock = 4 ); + Product(ProductID = 75, ProductName = "Rhönbräu Klosterbier", Category = "Beverages", UnitPrice = 7.7500M, UnitsInStock = 125 ); + Product(ProductID = 76, ProductName = "Lakkalikööri", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 57 ); + Product(ProductID = 77, ProductName = "Original Frankfurter grüne Soße", Category = "Condiments", UnitPrice = 13.0000M, UnitsInStock = 32 ) + ] + +let getProductListAsRecords() = + [{ ProductID = 1; ProductName = "Chai"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 39 }; + { ProductID = 2; ProductName = "Chang"; Category = "Beverages"; UnitPrice = 19.0000M; UnitsInStock = 17 }; + { ProductID = 3; ProductName = "Aniseed Syrup"; Category = "Condiments"; UnitPrice = 10.0000M; UnitsInStock = 13 }; + { ProductID = 4; ProductName = "Chef Anton's Cajun Seasoning"; Category = "Condiments"; UnitPrice = 22.0000M; UnitsInStock = 53 }; + { ProductID = 5; ProductName = "Chef Anton's Gumbo Mix"; Category = "Condiments"; UnitPrice = 21.3500M; UnitsInStock = 0 }; + { ProductID = 6; ProductName = "Grandma's Boysenberry Spread"; Category = "Condiments"; UnitPrice = 25.0000M; UnitsInStock = 120 }; + { ProductID = 7; ProductName = "Uncle Bob's Organic Dried Pears"; Category = "Produce"; UnitPrice = 30.0000M; UnitsInStock = 15 }; + { ProductID = 8; ProductName = "Northwoods Cranberry Sauce"; Category = "Condiments"; UnitPrice = 40.0000M; UnitsInStock = 6 }; + { ProductID = 9; ProductName = "Mishi Kobe Niku"; Category = "Meat/Poultry"; UnitPrice = 97.0000M; UnitsInStock = 29 }; + { ProductID = 10; ProductName = "Ikura"; Category = "Seafood"; UnitPrice = 31.0000M; UnitsInStock = 31 }; + { ProductID = 11; ProductName = "Queso Cabrales"; Category = "Dairy Products"; UnitPrice = 21.0000M; UnitsInStock = 22 }; + { ProductID = 12; ProductName = "Queso Manchego La Pastora"; Category = "Dairy Products"; UnitPrice = 38.0000M; UnitsInStock = 86 }; + { ProductID = 13; ProductName = "Konbu"; Category = "Seafood"; UnitPrice = 6.0000M; UnitsInStock = 24 }; + { ProductID = 14; ProductName = "Tofu"; Category = "Produce"; UnitPrice = 23.2500M; UnitsInStock = 35 }; + { ProductID = 15; ProductName = "Genen Shouyu"; Category = "Condiments"; UnitPrice = 15.5000M; UnitsInStock = 39 }; + { ProductID = 16; ProductName = "Pavlova"; Category = "Confections"; UnitPrice = 17.4500M; UnitsInStock = 29 }; + { ProductID = 17; ProductName = "Alice Mutton"; Category = "Meat/Poultry"; UnitPrice = 39.0000M; UnitsInStock = 0 }; + { ProductID = 18; ProductName = "Carnarvon Tigers"; Category = "Seafood"; UnitPrice = 62.5000M; UnitsInStock = 42 }; + { ProductID = 19; ProductName = "Teatime Chocolate Biscuits"; Category = "Confections"; UnitPrice = 9.2000M; UnitsInStock = 25 }; + { ProductID = 20; ProductName = "Sir Rodney's Marmalade"; Category = "Confections"; UnitPrice = 81.0000M; UnitsInStock = 40 }; + { ProductID = 21; ProductName = "Sir Rodney's Scones"; Category = "Confections"; UnitPrice = 10.0000M; UnitsInStock = 3 }; + { ProductID = 22; ProductName = "Gustaf's Knäckebröd"; Category = "Grains/Cereals"; UnitPrice = 21.0000M; UnitsInStock = 104 }; + { ProductID = 23; ProductName = "Tunnbröd"; Category = "Grains/Cereals"; UnitPrice = 9.0000M; UnitsInStock = 61 }; + { ProductID = 24; ProductName = "Guaraná Fantástica"; Category = "Beverages"; UnitPrice = 4.5000M; UnitsInStock = 20 }; + { ProductID = 25; ProductName = "NuNuCa Nuß-Nougat-Creme"; Category = "Confections"; UnitPrice = 14.0000M; UnitsInStock = 76 }; + { ProductID = 26; ProductName = "Gumbär Gummibärchen"; Category = "Confections"; UnitPrice = 31.2300M; UnitsInStock = 15 }; + { ProductID = 27; ProductName = "Schoggi Schokolade"; Category = "Confections"; UnitPrice = 43.9000M; UnitsInStock = 49 }; + { ProductID = 28; ProductName = "Rössle Sauerkraut"; Category = "Produce"; UnitPrice = 45.6000M; UnitsInStock = 26 }; + { ProductID = 29; ProductName = "Thüringer Rostbratwurst"; Category = "Meat/Poultry"; UnitPrice = 123.7900M; UnitsInStock = 0 }; + { ProductID = 30; ProductName = "Nord-Ost Matjeshering"; Category = "Seafood"; UnitPrice = 25.8900M; UnitsInStock = 10 }; + { ProductID = 31; ProductName = "Gorgonzola Telino"; Category = "Dairy Products"; UnitPrice = 12.5000M; UnitsInStock = 0 }; + { ProductID = 32; ProductName = "Mascarpone Fabioli"; Category = "Dairy Products"; UnitPrice = 32.0000M; UnitsInStock = 9 }; + { ProductID = 33; ProductName = "Geitost"; Category = "Dairy Products"; UnitPrice = 2.5000M; UnitsInStock = 112 }; + { ProductID = 34; ProductName = "Sasquatch Ale"; Category = "Beverages"; UnitPrice = 14.0000M; UnitsInStock = 111 }; + { ProductID = 35; ProductName = "Steeleye Stout"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 20 }; + { ProductID = 36; ProductName = "Inlagd Sill"; Category = "Seafood"; UnitPrice = 19.0000M; UnitsInStock = 112 }; + { ProductID = 37; ProductName = "Gravad lax"; Category = "Seafood"; UnitPrice = 26.0000M; UnitsInStock = 11 }; + { ProductID = 38; ProductName = "Côte de Blaye"; Category = "Beverages"; UnitPrice = 263.5000M; UnitsInStock = 17 }; + { ProductID = 39; ProductName = "Chartreuse verte"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 69 }; + { ProductID = 40; ProductName = "Boston Crab Meat"; Category = "Seafood"; UnitPrice = 18.4000M; UnitsInStock = 123 }; + { ProductID = 41; ProductName = "Jack's New England Clam Chowder"; Category = "Seafood"; UnitPrice = 9.6500M; UnitsInStock = 85 }; + { ProductID = 42; ProductName = "Singaporean Hokkien Fried Mee"; Category = "Grains/Cereals"; UnitPrice = 14.0000M; UnitsInStock = 26 }; + { ProductID = 43; ProductName = "Ipoh Coffee"; Category = "Beverages"; UnitPrice = 46.0000M; UnitsInStock = 17 }; + { ProductID = 44; ProductName = "Gula Malacca"; Category = "Condiments"; UnitPrice = 19.4500M; UnitsInStock = 27 }; + { ProductID = 45; ProductName = "Rogede sild"; Category = "Seafood"; UnitPrice = 9.5000M; UnitsInStock = 5 }; + { ProductID = 46; ProductName = "Spegesild"; Category = "Seafood"; UnitPrice = 12.0000M; UnitsInStock = 95 }; + { ProductID = 47; ProductName = "Zaanse koeken"; Category = "Confections"; UnitPrice = 9.5000M; UnitsInStock = 36 }; + { ProductID = 48; ProductName = "Chocolade"; Category = "Confections"; UnitPrice = 12.7500M; UnitsInStock = 15 }; + { ProductID = 49; ProductName = "Maxilaku"; Category = "Confections"; UnitPrice = 20.0000M; UnitsInStock = 10 }; + { ProductID = 50; ProductName = "Valkoinen suklaa"; Category = "Confections"; UnitPrice = 16.2500M; UnitsInStock = 65 }; + { ProductID = 51; ProductName = "Manjimup Dried Apples"; Category = "Produce"; UnitPrice = 53.0000M; UnitsInStock = 20 }; + { ProductID = 52; ProductName = "Filo Mix"; Category = "Grains/Cereals"; UnitPrice = 7.0000M; UnitsInStock = 38 }; + { ProductID = 53; ProductName = "Perth Pasties"; Category = "Meat/Poultry"; UnitPrice = 32.8000M; UnitsInStock = 0 }; + { ProductID = 54; ProductName = "Tourtière"; Category = "Meat/Poultry"; UnitPrice = 7.4500M; UnitsInStock = 21 }; + { ProductID = 55; ProductName = "Pâté chinois"; Category = "Meat/Poultry"; UnitPrice = 24.0000M; UnitsInStock = 115 }; + { ProductID = 56; ProductName = "Gnocchi di nonna Alice"; Category = "Grains/Cereals"; UnitPrice = 38.0000M; UnitsInStock = 21 }; + { ProductID = 57; ProductName = "Ravioli Angelo"; Category = "Grains/Cereals"; UnitPrice = 19.5000M; UnitsInStock = 36 }; + { ProductID = 58; ProductName = "Escargots de Bourgogne"; Category = "Seafood"; UnitPrice = 13.2500M; UnitsInStock = 62 }; + { ProductID = 59; ProductName = "Raclette Courdavault"; Category = "Dairy Products"; UnitPrice = 55.0000M; UnitsInStock = 79 }; + { ProductID = 60; ProductName = "Camembert Pierrot"; Category = "Dairy Products"; UnitPrice = 34.0000M; UnitsInStock = 19 }; + { ProductID = 61; ProductName = "Sirop d'érable"; Category = "Condiments"; UnitPrice = 28.5000M; UnitsInStock = 113 }; + { ProductID = 62; ProductName = "Tarte au sucre"; Category = "Confections"; UnitPrice = 49.3000M; UnitsInStock = 17 }; + { ProductID = 63; ProductName = "Vegie-spread"; Category = "Condiments"; UnitPrice = 43.9000M; UnitsInStock = 24 }; + { ProductID = 64; ProductName = "Wimmers gute Semmelknödel"; Category = "Grains/Cereals"; UnitPrice = 33.2500M; UnitsInStock = 22 }; + { ProductID = 65; ProductName = "Louisiana Fiery Hot Pepper Sauce"; Category = "Condiments"; UnitPrice = 21.0500M; UnitsInStock = 76 }; + { ProductID = 66; ProductName = "Louisiana Hot Spiced Okra"; Category = "Condiments"; UnitPrice = 17.0000M; UnitsInStock = 4 }; + { ProductID = 67; ProductName = "Laughing Lumberjack Lager"; Category = "Beverages"; UnitPrice = 14.0000M; UnitsInStock = 52 }; + { ProductID = 68; ProductName = "Scottish Longbreads"; Category = "Confections"; UnitPrice = 12.5000M; UnitsInStock = 6 }; + { ProductID = 69; ProductName = "Gudbrandsdalsost"; Category = "Dairy Products"; UnitPrice = 36.0000M; UnitsInStock = 26 }; + { ProductID = 70; ProductName = "Outback Lager"; Category = "Beverages"; UnitPrice = 15.0000M; UnitsInStock = 15 }; + { ProductID = 71; ProductName = "Flotemysost"; Category = "Dairy Products"; UnitPrice = 21.5000M; UnitsInStock = 26 }; + { ProductID = 72; ProductName = "Mozzarella di Giovanni"; Category = "Dairy Products"; UnitPrice = 34.8000M; UnitsInStock = 14 }; + { ProductID = 73; ProductName = "Röd Kaviar"; Category = "Seafood"; UnitPrice = 15.0000M; UnitsInStock = 101 }; + { ProductID = 74; ProductName = "Longlife Tofu"; Category = "Produce"; UnitPrice = 10.0000M; UnitsInStock = 4 }; + { ProductID = 75; ProductName = "Rhönbräu Klosterbier"; Category = "Beverages"; UnitPrice = 7.7500M; UnitsInStock = 125 }; + { ProductID = 76; ProductName = "Lakkalikööri"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 57 }; + { ProductID = 77; ProductName = "Original Frankfurter grüne Soße"; Category = "Condiments"; UnitPrice = 13.0000M; UnitsInStock = 32 }] + + +type Order(orderID, orderDate : DateTime, total) = + member x.OrderID = orderID + member x.OrderDate = orderDate + member x.Total = total + +type Customer(customerID, companyName, address, city, region, postalCode, country, phone, fax, orders) = + member x.CustomerID = customerID + member x.CompanyName = companyName + member x.Address = address + member x.City = city + member x.Region = region + member x.PostalCode = postalCode + member x.Country = country + member x.Phone = phone + member x.Fax = fax + member x.Orders = orders + +let getCustomerList() = + let doc = XmlReader.Create(Environment.CurrentDirectory + "\\customers.xml") + + let xname s = XName.Get(s) + let ge (x : XElement) (s : string) = + try + let r = x.Element(XName.Get(s)).ToString() + Regex.Match(r, ">(.*)<").Groups.[1].Value + with + | :? NullReferenceException -> "" + query { + for e in XDocument.Load(doc).Root.Elements(xname "customer") do + let get = ge e + let orders = + query { + for o in e.Elements(xname "orders").Elements(xname "order") do + let date = ge o "orderdate" + let dateParts = date.Substring(0, date.Length-9).Split([|'-'|]) + let orderDate = DateTime(Int32.Parse(dateParts.[0]), Int32.Parse(dateParts.[1]), Int32.Parse(dateParts.[2])) + let order = o.Element(xname "id") |> int + let total = o.Element(xname "total") |> decimal + select (Order(order, orderDate, total)) + } |> Seq.toArray + let c = Customer(get "id", get "name", get "address", get "city", get "region", get "postcalcode", get "country", get "phone", get "fax", orders) + select c + } |> Seq.toList \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs new file mode 100644 index 00000000000..1495b974d6b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs @@ -0,0 +1,833 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ClassTypeInitialization = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + [] // RealSig + [] // Regular + [] + let ``Simple types in namespace`` (realSig) = + + FSharp """ +namespace MyLibrary +type MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MyFirstType" + +type MySecondType = + static let x2 = 2100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MySecondType" + +module MyModule = + [] + let main args = + printfn "Hello from main method" + 0 + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyLibrary.MyFirstType" + "Hello, World from MyLibrary.MySecondType" + "Hello from main method" + ] + + [] // RealSig + [] // Regular + [] + let ``Simple TypeOne and TypeTwo in namespace`` (realSig) = + + FSharp """ +namespace MyLibrary +type MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MyFirstType" + +and MySecondType = + static let x2 = 2100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MySecondType" + +module MyModule = + [] + let main args = + printfn "Hello from main method" + 0 + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> withStdOutContainsAllInOrder [ + "Hello, World from MyLibrary.MyFirstType" + "Hello, World from MyLibrary.MySecondType" + "Hello from main method" + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``Public type - public ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile public (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + + [] // RealSig + [] // Regular + [] + let ``Public type - internal ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile internal (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile(filePath: string) = + FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + + [] // RealSig + [] // Regular + [] + let ``Public type - private ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile private (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Public type - unspecified ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Private type - public ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type private FSharpSourceFromFile public (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + + [] // RealSig + [] // Regular + [] + let ``Private type - internal ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type private FSharpSourceFromFile internal (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile(filePath: string) = + FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> withStdOutContainsAllInOrder [ + "Main program" + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``Private type - private ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type public FSharpSourcePublic () = + abstract PublicFilePath: string + +[] +type internal FSharpSource () = + inherit FSharpSourcePublic() + abstract InternalFilePath: string + +type private FSharpSourceFromFile private (filePath: string) = + inherit FSharpSource() + + override _.PublicFilePath = filePath + override _.InternalFilePath = filePath + member _.PrivateFilePath = filePath + +type FSharpSource with + + static member public PublicCreateFromFile (filePath: string) = () + static member internal InternalCreateFromFile (filePath: string) = () + static member private PrivateCreateFromFile (filePath: string) = () + +module doit = + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Private type - unspecified ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type private FSharpSourceFromFile (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Static Initialization - don't inline when method includes a private field`` (realSig) = + + FSharp """ +module FSharp.Compiler.CodeAnalysis + +open System +open System.IO + +[] +type FSharpSource () = + abstract FilePath: string + +type public FSharpSourceFromFile private (filePath: string) = + inherit FSharpSource() + + static let mutable someValue = "not set yet" + + override _.FilePath = filePath + + static member private SetSomeValue (value: string): string = + someValue <- value + someValue + + static member public SetIt (value: string) : string = + FSharpSourceFromFile.SetSomeValue (value) + +let message = FSharpSourceFromFile.SetIt ("Here is something") + +printfn $"{message}" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Here is something" + ] + + [] // RealSig + [] // Regular + [] + let ``Computation expression - access private binding`` (realSig) = + + FSharp """ +module MyMaybeStuff = + type MaybeBuilder() = + member this.Bind(x, f) = + match x with + | Some v -> f v + | None -> None + member this.Return(x) = Some x + + let maybe = new MaybeBuilder() + +open MyMaybeStuff +type MyClass = + static member private privateThing(someValue) = someValue + + static member result () = + maybe { + let mutable someValue = 0 + let! u = someValue <- 1; Some (MyClass.privateThing(someValue)) + let! v = someValue <- 2; Some (MyClass.privateThing(someValue)) + return u + v + } + +printfn "%A" (MyClass.result()) +""" + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> withNoOptimize + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Some 3" + ] + + + [] // RealSig + [] // Regular + [] + let ``nested generic closure`` (realSig) = + + FSharp """ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace MyCollections + +#nowarn "52" // The value has been copied to ensure the original is not mutated by this operation + +open System.Diagnostics +open System.Collections +open System.Collections.Generic +open Microsoft.FSharp.Core + +module internal IEnumerator = + + let noReset() = raise (new System.NotSupportedException("SR.GetString(SR.resetNotSupported)")) + let notStarted() = raise (new System.InvalidOperationException("SR.GetString(SR.enumerationNotStarted)")) + let alreadyFinished() = raise (new System.InvalidOperationException("SR.GetString(SR.enumerationAlreadyFinished)")) + let check started = if not started then notStarted() + let dispose (r : System.IDisposable) = r.Dispose() + + let cast (e : IEnumerator) : IEnumerator<'T> = + { new IEnumerator<'T> with + member _.Current = unbox<'T> e.Current + + interface IEnumerator with + member _.Current = unbox<'T> e.Current :> obj + + [] + member _.MoveNext() = e.MoveNext() + + member _.Reset() = noReset() + + interface System.IDisposable with + member _.Dispose() = + match e with + | :? System.IDisposable as e -> e.Dispose() + | _ -> () } + + /// A concrete implementation of an enumerator that returns no values + [] + type EmptyEnumerator<'T>() = + let mutable started = false + interface IEnumerator<'T> with + member _.Current = + check started + (alreadyFinished() : 'T) + + interface System.Collections.IEnumerator with + member _.Current = + check started + (alreadyFinished() : obj) + + [] + member _.MoveNext() = + if not started then started <- true + false + + member _.Reset() = noReset() + + interface System.IDisposable with + member _.Dispose() = () + + let Empty<'T> () = (new EmptyEnumerator<'T>() :> IEnumerator<'T>) + + [] + type EmptyEnumerable<'T> = + + | EmptyEnumerable + + interface IEnumerable<'T> with + member _.GetEnumerator() = Empty<'T>() + + interface IEnumerable with + member _.GetEnumerator() = (Empty<'T>() :> IEnumerator) + + type GeneratedEnumerable<'T, 'State>(openf: unit -> 'State, compute: 'State -> 'T option, closef: 'State -> unit) = + let mutable started = false + let mutable curr = None + let state = ref (Some (openf ())) + let getCurr() : 'T = + check started + match curr with + | None -> alreadyFinished() + | Some x -> x + + let readAndClear () = + lock state (fun () -> + match state.Value with + | None -> None + | Some _ as res -> + state.Value <- None + res) + + let start() = + if not started then + started <- true + + let dispose() = + readAndClear() |> Option.iter closef + + let finish() = + try dispose() + finally curr <- None + + interface IEnumerator<'T> with + member _.Current = getCurr() + + interface IEnumerator with + member _.Current = box (getCurr()) + + [] + member _.MoveNext() = + start() + match state.Value with + | None -> false // we started, then reached the end, then got another MoveNext + | Some s -> + match (try compute s with e -> finish(); reraise()) with + | None -> finish(); false + | Some _ as x -> + curr <- x + true + + member _.Reset() = noReset() + + interface System.IDisposable with + member _.Dispose() = dispose() + + [] + type Singleton<'T>(v:'T) = + let mutable started = false + + interface IEnumerator<'T> with + member _.Current = v + + interface IEnumerator with + member _.Current = box v + + [] + member _.MoveNext() = if started then false else (started <- true; true) + + member _.Reset() = noReset() + + interface System.IDisposable with + member _.Dispose() = () + + let Singleton x = (new Singleton<'T>(x) :> IEnumerator<'T>) + + let EnumerateThenFinally f (e : IEnumerator<'T>) = + { new IEnumerator<'T> with + member _.Current = e.Current + + interface IEnumerator with + member _.Current = (e :> IEnumerator).Current + + [] + member _.MoveNext() = e.MoveNext() + + member _.Reset() = noReset() + + interface System.IDisposable with + member _.Dispose() = + try + e.Dispose() + finally + f() + } + + let inline checkNonNull argName arg = + if isNull arg then + nullArg argName + + let mkSeq f = + { new IEnumerable<'U> with + member _.GetEnumerator() = f() + + interface IEnumerable with + member _.GetEnumerator() = (f() :> IEnumerator) } + +namespace Microsoft.FSharp.Core.CompilerServices + + open System.Diagnostics + open Microsoft.FSharp.Core + open MyCollections + open MyCollections.IEnumerator + open System.Collections + open System.Collections.Generic + + module RuntimeHelpers = + + [] + type internal StructBox<'T when 'T:equality>(value:'T) = + member x.Value = value + + static member Comparer = + let gcomparer = HashIdentity.Structural<'T> + { new IEqualityComparer> with + member _.GetHashCode(v) = gcomparer.GetHashCode(v.Value) + member _.Equals(v1,v2) = gcomparer.Equals(v1.Value,v2.Value) } + + let Generate openf compute closef = + mkSeq (fun () -> new IEnumerator.GeneratedEnumerable<_,_>(openf, compute, closef) :> IEnumerator<'T>) + + let EnumerateFromFunctions create moveNext current = + Generate + create + (fun x -> if moveNext x then Some(current x) else None) + (fun x -> match box(x) with :? System.IDisposable as id -> id.Dispose() | _ -> ()) + + // A family of enumerators that can have additional 'finally' actions added to the enumerator through + // the use of mutation. This is used to 'push' the disposal action for a 'use' into the next enumerator. + // For example, + // seq { use x = ... + // while ... } + // results in the 'while' loop giving an adjustable enumerator. This is then adjusted by adding the disposal action + // from the 'use' into the enumerator. This means that we avoid constructing a two-deep enumerator chain in this + // common case. + type IFinallyEnumerator = + abstract AppendFinallyAction : (unit -> unit) -> unit + + /// A concrete implementation of IEnumerable that adds the given compensation to the "Dispose" chain of any + /// enumerators returned by the enumerable. + [] + type FinallyEnumerable<'T>(compensation: unit -> unit, restf: unit -> seq<'T>) = + interface IEnumerable<'T> with + member _.GetEnumerator() = + try + let ie = restf().GetEnumerator() + match ie with + | :? IFinallyEnumerator as a -> + a.AppendFinallyAction(compensation) + ie + | _ -> + IEnumerator.EnumerateThenFinally compensation ie + with e -> + compensation() + reraise() + interface IEnumerable with + member x.GetEnumerator() = ((x :> IEnumerable<'T>).GetEnumerator() :> IEnumerator) + + /// An optimized object for concatenating a sequence of enumerables + [] + type ConcatEnumerator<'T,'U when 'U :> seq<'T>>(sources: seq<'U>) = + let mutable outerEnum = sources.GetEnumerator() + let mutable currInnerEnum = IEnumerator.Empty() + + let mutable started = false + let mutable finished = false + let mutable compensations = [] + + [] // false = unchecked + val mutable private currElement : 'T + + member _.Finish() = + finished <- true + try + match currInnerEnum with + | null -> () + | _ -> + try + currInnerEnum.Dispose() + finally + currInnerEnum <- null + finally + try + match outerEnum with + | null -> () + | _ -> + try + outerEnum.Dispose() + finally + outerEnum <- null + finally + let rec iter comps = + match comps with + | [] -> () + | h :: t -> + try h() finally iter t + try + compensations |> List.rev |> iter + finally + compensations <- [] + + member x.GetCurrent() = + IEnumerator.check started + if finished then IEnumerator.alreadyFinished() else x.currElement + + interface IFinallyEnumerator with + member _.AppendFinallyAction(f) = + compensations <- f :: compensations + + interface IEnumerator<'T> with + member x.Current = x.GetCurrent() + + interface IEnumerator with + member x.Current = box (x.GetCurrent()) + + [] + member x.MoveNext() = + if not started then started <- true + if finished then false + else + let rec takeInner () = + // check the inner list + if currInnerEnum.MoveNext() then + x.currElement <- currInnerEnum.Current + true + else + // check the outer list + let rec takeOuter() = + if outerEnum.MoveNext() then + let ie = outerEnum.Current + // Optimization to detect the statically-allocated empty IEnumerables + match box ie with + | :? EmptyEnumerable<'T> -> + // This one is empty, just skip, don't call GetEnumerator, try again + takeOuter() + | _ -> + // OK, this one may not be empty. + // Don't forget to dispose of the enumerator for the inner list now we're done with it + currInnerEnum.Dispose() + currInnerEnum <- ie.GetEnumerator() + takeInner () + else + // We're done + x.Finish() + false + takeOuter() + takeInner () + + member _.Reset() = IEnumerator.noReset() + + interface System.IDisposable with + + [] + member x.Dispose() = + if not finished then + x.Finish() + + module doIt = + open System + open Microsoft.FSharp.Core.CompilerServices + open Microsoft.FSharp.Collections + + let x = seq { ArraySegment([|1uy; 2uy; 3uy|]); ArraySegment([|1uy; 2uy; 3uy|]); ArraySegment([|1uy; 2uy; 3uy|]); } + let enumerator = new RuntimeHelpers.ConcatEnumerator<_,_>(x) :> IEnumerator + let rec loop () = + if enumerator.MoveNext() then + printfn $"{enumerator.Current}" + loop () + loop () +""" + |> asExe + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> withOptimize + |> compileAndRun + |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs new file mode 100644 index 00000000000..2d299616b6a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs @@ -0,0 +1,3291 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ClassTypeVisibilityModuleRoot = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + [] // RealSig + [] // Regular + [] + let ``public type - various constructors`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TypeOne public () = class end +type public TypeTwo internal () = class end +type public TypeThree private () = class end +type public TypeFour () = class end +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + """ .class auto ansi serializable nested public TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - various constructors`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TypeOne public () = class end +type private TypeTwo internal () = class end +type private TypeThree private () = class end +type private TypeFour () = class end +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + //type private TypeOne public () = class end + """.class auto ansi serializable nested private TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + //type private TypeTwo internal () = class end + """.class auto ansi serializable nested private TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + //type private TypeThree private () = class end + """.class auto ansi serializable nested private TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + //type private TypeFour () = class end + """.class auto ansi serializable nested private TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + else + + //type private TypeOne public () = class end + """.class auto ansi serializable nested assembly TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + //type private TypeTwo internal () = class end + """.class auto ansi serializable nested assembly TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + //type private TypeThree private () = class end + """.class auto ansi serializable nested assembly TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + //type private TypeFour () = class end + """.class auto ansi serializable nested assembly TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - various methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member public _.PublicMethod() = () + member internal _.InternalMethod() = () + member private _.PrivateMethod() = () + member _.DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - various methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member public _.PublicMethod() = () + member internal _.InternalMethod() = () + member private _.PrivateMethod() = () + member _.DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - various properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member val public PublicProperty = 0 with get, set + member val internal InternalProperty = 0 with get, set + member val private PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig specialname + instance int32 get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0007: ret + } + + .method private hidebysig specialname + instance int32 get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0006: ret + } + + .method private hidebysig specialname + instance void set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0007: ret + } + + .method public hidebysig specialname + instance int32 get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0007: ret + } +""" + else + """ + .method public hidebysig specialname + instance int32 get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0007: ret + } + + .method public hidebysig specialname + instance int32 get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0007: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - various properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member val public PublicProperty = 0 with get, set + member val internal InternalProperty = 0 with get, set + member val private PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig specialname + instance int32 get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0007: ret + } + + .method private hidebysig specialname + instance int32 get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0006: ret + } + + .method private hidebysig specialname + instance void set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0007: ret + } + + .method public hidebysig specialname + instance int32 get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0007: ret + } +""" + else + """ + .method public hidebysig specialname + instance int32 get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0007: ret + } + + .method public hidebysig specialname + instance int32 get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0007: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - various mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member _.MixedPropertyOne with public get() = 0 and internal set (_:int) = () + member _.MixedPropertyTwo with public get() = 0 and private set (_:int) = () + member _.MixedPropertyThree with private get() = 0 and public set (_:int) = () + member _.MixedPropertyFour with private get() = 0 and internal set (_:int) = () + member _.MixedPropertyFive with internal get() = 0 and public set (_:int) = () + member _.MixedPropertySix with internal get() = 0 and private set (_:int) = () + member _.MixedPropertySeven with get() = 0 and public set (_:int) = () + member _.MixedPropertyEight with get() = 0 and internal set (_:int) = () + member _.MixedPropertyNine with get() = 0 and private set (_:int) = () + member _.MixedPropertyTen with public get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with internal get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method public hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - various mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TestType () = + member _.MixedPropertyOne with public get() = 0 and internal set (_:int) = () + member _.MixedPropertyTwo with public get() = 0 and private set (_:int) = () + member _.MixedPropertyThree with private get() = 0 and public set (_:int) = () + member _.MixedPropertyFour with private get() = 0 and internal set (_:int) = () + member _.MixedPropertyFive with internal get() = 0 and public set (_:int) = () + member _.MixedPropertySix with internal get() = 0 and private set (_:int) = () + member _.MixedPropertySeven with get() = 0 and public set (_:int) = () + member _.MixedPropertyEight with get() = 0 and internal set (_:int) = () + member _.MixedPropertyNine with get() = 0 and private set (_:int) = () + member _.MixedPropertyTen with public get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with internal get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method assembly hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method assembly hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - various static methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - various static methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method public hidebysig instance void + PublicMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + InternalMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig instance void + PrivateMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig instance void + DefaultMethod() cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - various static properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member val public PublicProperty = 0 with get, set + static member val internal InternalProperty = 0 with get, set + static member val private PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .me thod public specialname static int32 + get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0016: ret + } + + .method public specialname static void + set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0017: ret + } + + .method assembly specialname static int32 + get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.2 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0016: ret + } + + .method assembly specialname static void + set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.2 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0017: ret + } + + .method private specialname static int32 + get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.3 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0016: ret + } + + .method private specialname static void + set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.3 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0017: ret + } + + .method public specialname static int32 + get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.4 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0016: ret + } + + .method public specialname static void + set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.4 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0017: ret + } +""" + else + """ + .method public specialname static int32 + get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0016: ret + } + + .method public specialname static void + set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0017: ret + } + + .method assembly specialname static int32 + get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.2 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0016: ret + } + + .method assembly specialname static void + set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.2 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0017: ret + } + + .method assembly specialname static int32 + get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.3 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0016: ret + } + + .method assembly specialname static void + set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.3 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0017: ret + } + + .method public specialname static int32 + get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.4 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0016: ret + } + + .method public specialname static void + set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 RealInternalSignature/TestType::init@4 + IL_0007: ldc.i4.4 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0017: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - various static properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TestType () = + static member val public PublicProperty = 0 with get, set + static member val internal InternalProperty = 0 with get, set + static member val private PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig specialname + instance int32 get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0007: ret + } + + .method private hidebysig specialname + instance int32 get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0006: ret + } + + .method private hidebysig specialname + instance void set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0007: ret + } + + .method public hidebysig specialname + instance int32 get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0007: ret + } +""" + else + """ + .method public hidebysig specialname + instance int32 get_PublicProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_PublicProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PublicProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_InternalProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_InternalProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::InternalProperty@ + IL_0007: ret + } + + .method assembly hidebysig specialname + instance int32 get_PrivateProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0006: ret + } + + .method assembly hidebysig specialname + instance void set_PrivateProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::PrivateProperty@ + IL_0007: ret + } + + .method public hidebysig specialname + instance int32 get_DefaultProperty() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0006: ret + } + + .method public hidebysig specialname + instance void set_DefaultProperty(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 RealInternalSignature/TestType::DefaultProperty@ + IL_0007: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - various static mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method public hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method public hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method public hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method public hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - various static mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .method assembly hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method private hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method private hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + else + """ + .method assembly hidebysig specialname + instance int32 get_MixedPropertyOne() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyOne(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwo() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwo(int32 _arg2) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyThree() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyThree(int32 _arg3) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFour() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFour(int32 _arg4) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyFive() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyFive(int32 _arg5) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySix() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySix(int32 _arg6) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertySeven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertySeven(int32 _arg7) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEight() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEight(int32 _arg8) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyNine() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyNine(int32 _arg9) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTen() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTen(int32 _arg10) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyEleven() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyEleven(int32 _arg11) cil managed + { + + .maxstack 8 + IL_0000: ret + } + + .method assembly hidebysig specialname + instance int32 get_MixedPropertyTwelve() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ret + } + + .method assembly hidebysig specialname + instance void set_MixedPropertyTwelve(int32 _arg12) cil managed + { + + .maxstack 8 + IL_0000: ret + } +""" + + ] + |> shouldSucceed + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs new file mode 100644 index 00000000000..786f0a930b9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs @@ -0,0 +1,880 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ClassTypeVisibilityModuleRoot = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + [] // RealSig + [] // Regular + [] + let ``public type - constructors`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TypeOne public () = class end +type public TypeTwo internal () = class end +type public TypeThree private () = class end +type public TypeFour () = class end +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ .class auto ansi serializable nested public TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method private specialname rtspecialname instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed""" + + else + """ .class auto ansi serializable nested public TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed""" + + """ .class auto ansi serializable nested public TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``Private Type - constructors`` (realSig) = + FSharp """ +module MyLibrary +type private TypeOne public () = class end +type private TypeTwo internal () = class end +type private TypeThree private () = class end +type private TypeFour () = class end""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .class auto ansi serializable nested private TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + }""" + + """ + .class auto ansi serializable nested private TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + + """ + .class auto ansi serializable nested private TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + """ + .class auto ansi serializable nested private TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + else + """ + .class auto ansi serializable nested assembly TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + }""" + + """ + .class auto ansi serializable nested assembly TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + + """ + .class auto ansi serializable nested assembly TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + """ + .class auto ansi serializable nested assembly TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member public _.PublicMethod() = () + member internal _.InternalMethod() = () + member private _.PrivateMethod() = () + member _.DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + else + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member public _.PublicMethod() = () + member internal _.InternalMethod() = () + member private _.PrivateMethod() = () + member _.DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + else + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member val public PublicProperty = 0 with get, set + member val internal InternalProperty = 0 with get, set + member val private PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member val public PublicProperty = 0 with get, set + member val internal InternalProperty = 0 with get, set + member val private PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + member _.MixedPropertyOne with public get() = 0 and internal set (_:int) = () + member _.MixedPropertyTwo with public get() = 0 and private set (_:int) = () + member _.MixedPropertyThree with private get() = 0 and public set (_:int) = () + member _.MixedPropertyFour with private get() = 0 and internal set (_:int) = () + member _.MixedPropertyFive with internal get() = 0 and public set (_:int) = () + member _.MixedPropertySix with internal get() = 0 and private set (_:int) = () + member _.MixedPropertySeven with get() = 0 and public set (_:int) = () + member _.MixedPropertyEight with get() = 0 and internal set (_:int) = () + member _.MixedPropertyNine with get() = 0 and private set (_:int) = () + member _.MixedPropertyTen with public get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with internal get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TestType () = + member _.MixedPropertyOne with public get() = 0 and internal set (_:int) = () + member _.MixedPropertyTwo with public get() = 0 and private set (_:int) = () + member _.MixedPropertyThree with private get() = 0 and public set (_:int) = () + member _.MixedPropertyFour with private get() = 0 and internal set (_:int) = () + member _.MixedPropertyFive with internal get() = 0 and public set (_:int) = () + member _.MixedPropertySix with internal get() = 0 and private set (_:int) = () + member _.MixedPropertySeven with get() = 0 and public set (_:int) = () + member _.MixedPropertyEight with get() = 0 and internal set (_:int) = () + member _.MixedPropertyNine with get() = 0 and private set (_:int) = () + member _.MixedPropertyTen with public get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with internal get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method assembly hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + else + ".method assembly static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method assembly static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member val public PublicProperty = 0 with get, set + static member val internal InternalProperty = 0 with get, set + static member val private PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + else + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TestType () = + static member val public PublicProperty = 0 with get, set + static member val internal InternalProperty = 0 with get, set + static member val private PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + else + ".method assembly specialname static int32 get_PublicProperty() cil managed" + ".method assembly specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_DefaultProperty() cil managed" + ".method assembly specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static mixed properties`` (realSig) = + FSharp """ +module RealInternalSignature + +type private TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method assembly specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method assembly specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method assembly specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly specialname static int32 get_MixedPropertySeven() cil managed" + ".method assembly specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTen() cil managed" + ".method assembly specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method assembly specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method assembly specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] // RealSig + [] // Regular + [] // RealSig + [] // Regular + [] + let ``lazy operation - member with various visibilities`` (realSig, scope) = + FSharp $""" +module internal SR = + let {scope} lazyThing = lazy ( () ) + let getLazyThing () = lazyThing.Force() +SR.getLazyThing () +""" + |> asExe + |> withLangVersionPreview + |> withOptimize + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs new file mode 100644 index 00000000000..1615106a3d3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs @@ -0,0 +1,1158 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test.Compiler + +module ClassTypeVisibilityModuleRootWithFsi = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + [] // RealSig + [] // Regular + [] + let ``public type - constructors`` (realSig) = + Fsi """ +module RealInternalSignature + +type public TypeOne = public new: unit -> TypeOne +type public TypeTwo = internal new: unit -> TypeTwo +type public TypeThree = private new: unit -> TypeThree +type public TypeFour = public new: unit -> TypeFour +""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TypeOne () = class end +type TypeTwo () = class end +type TypeThree () = class end +type TypeFour () = class end + """)) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ +.class auto ansi serializable nested public TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + """ +.class auto ansi serializable nested public TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + """ +.class auto ansi serializable nested public TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method private specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + """ +.class auto ansi serializable nested public TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + else + """ +.class auto ansi serializable nested public TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + """ +.class auto ansi serializable nested public TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + """ +.class auto ansi serializable nested public TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + """ +.class auto ansi serializable nested public TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +} +""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - constructors`` (realSig) = + Fsi """ +module RealInternalSignature + +type private TypeOne = public new: unit -> TypeOne +type private TypeTwo = internal new: unit -> TypeTwo +type private TypeThree = private new: unit -> TypeThree +type private TypeFour = public new: unit -> TypeFour +""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TypeOne () = class end +type TypeTwo () = class end +type TypeThree () = class end +type TypeFour () = class end + """)) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ + .class auto ansi serializable nested private TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + }""" + + """ + .class auto ansi serializable nested private TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + + """ + .class auto ansi serializable nested private TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + """ + .class auto ansi serializable nested private TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + else + """ + .class auto ansi serializable nested assembly TypeOne + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + }""" + + """ + .class auto ansi serializable nested assembly TypeTwo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + + """ + .class auto ansi serializable nested assembly TypeThree + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + """ + .class auto ansi serializable nested assembly TypeFour + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance methods`` (realSig) = + Fsi """ +module RealInternalSignature + type public TestType = + new: unit -> TestType + member DefaultMethod: unit -> unit + member internal InternalMethod: unit -> unit + member private PrivateMethod: unit -> unit + member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TestType () = + member _.PublicMethod() = () + member _.InternalMethod() = () + member _.PrivateMethod() = () + member _.DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + else + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance methods`` (realSig) = + Fsi """ +module RealInternalSignature + type private TestType = + new: unit -> TestType + member DefaultMethod: unit -> unit + member internal InternalMethod: unit -> unit + member private PrivateMethod: unit -> unit + member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TestType () = + member _.PublicMethod() = () + member _.InternalMethod() = () + member _.PrivateMethod() = () + member _.DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + else + ".method assembly hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method assembly hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance properties`` (realSig) = + Fsi """ +module RealInternalSignature +type public TestType = + new: unit -> TestType + member public PublicProperty: int with get + member public PublicProperty: int with set + member internal InternalProperty: int with get + member internal InternalProperty: int with set + member private PrivateProperty: int with get + member private PrivateProperty: int with set + member DefaultProperty: int with get + member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TestType () = + member val PublicProperty = 0 with get, set + member val InternalProperty = 0 with get, set + member val PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance properties`` (realSig) = + Fsi """ +module RealInternalSignature +type private TestType = + new: unit -> TestType + member public PublicProperty: int with get + member public PublicProperty: int with set + member internal InternalProperty: int with get + member internal InternalProperty: int with set + member private PrivateProperty: int with get + member private PrivateProperty: int with set + member DefaultProperty: int with get + member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TestType () = + member val PublicProperty = 0 with get, set + member val InternalProperty = 0 with get, set + member val PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method assembly hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method assembly hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance mixed properties`` (realSig) = + Fsi """ +module RealInternalSignature + type TestType = + new: unit -> TestType + member public MixedPropertyOne: int with get + member internal MixedPropertyOne: int with set + member public MixedPropertyTwo: int with get + member private MixedPropertyTwo: int with set + member private MixedPropertyThree: int with get + member public MixedPropertyThree: int with set + member private MixedPropertyFour: int with get + member internal MixedPropertyFour: int with set + member internal MixedPropertyFive: int with get + member public MixedPropertyFive: int with set + member internal MixedPropertySix: int with get + member private MixedPropertySix: int with set + member public MixedPropertySeven: int with get + member public MixedPropertySeven: int with set + member public MixedPropertyEight: int with get + member internal MixedPropertyEight: int with set + member public MixedPropertyNine: int with get + member private MixedPropertyNine: int with set + member MixedPropertyTen: int with get + member MixedPropertyTen: int with set + member internal MixedPropertyEleven: int with get + member public MixedPropertyEleven: int with set + member private MixedPropertyTwelve: int with get + member public MixedPropertyTwelve: int with set""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type public TestType () = + member _.MixedPropertyOne with get() = 0 and set (_:int) = () + member _.MixedPropertyTwo with get() = 0 and set (_:int) = () + member _.MixedPropertyThree with get() = 0 and set (_:int) = () + member _.MixedPropertyFour with get() = 0 and set (_:int) = () + member _.MixedPropertyFive with get() = 0 and set (_:int) = () + member _.MixedPropertySix with get() = 0 and set (_:int) = () + member _.MixedPropertySeven with get() = 0 and set (_:int) = () + member _.MixedPropertyEight with get() = 0 and set (_:int) = () + member _.MixedPropertyNine with get() = 0 and set (_:int) = () + member _.MixedPropertyTen with get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance mixed properties`` (realSig) = + Fsi """ +module RealInternalSignature + type private TestType = + new: unit -> TestType + member public MixedPropertyOne: int with get + member internal MixedPropertyOne: int with set + member public MixedPropertyTwo: int with get + member private MixedPropertyTwo: int with set + member private MixedPropertyThree: int with get + member public MixedPropertyThree: int with set + member private MixedPropertyFour: int with get + member internal MixedPropertyFour: int with set + member internal MixedPropertyFive: int with get + member public MixedPropertyFive: int with set + member internal MixedPropertySix: int with get + member private MixedPropertySix: int with set + member public MixedPropertySeven: int with get + member public MixedPropertySeven: int with set + member public MixedPropertyEight: int with get + member internal MixedPropertyEight: int with set + member public MixedPropertyNine: int with get + member private MixedPropertyNine: int with set + member public MixedPropertyTen: int with get + member public MixedPropertyTen: int with set + member internal MixedPropertyEleven: int with get + member public MixedPropertyEleven: int with set + member private MixedPropertyTwelve: int with get + member public MixedPropertyTwelve: int with set""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type public TestType () = + member _.MixedPropertyOne with get() = 0 and set (_:int) = () + member _.MixedPropertyTwo with get() = 0 and set (_:int) = () + member _.MixedPropertyThree with get() = 0 and set (_:int) = () + member _.MixedPropertyFour with get() = 0 and set (_:int) = () + member _.MixedPropertyFive with get() = 0 and set (_:int) = () + member _.MixedPropertySix with get() = 0 and set (_:int) = () + member _.MixedPropertySeven with get() = 0 and set (_:int) = () + member _.MixedPropertyEight with get() = 0 and set (_:int) = () + member _.MixedPropertyNine with get() = 0 and set (_:int) = () + member _.MixedPropertyTen with get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + else + ".method assembly hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static methods`` (realSig) = + Fsi """ +module RealInternalSignature + type public TestType = + new: unit -> TestType + static member DefaultMethod: unit -> unit + static member internal InternalMethod: unit -> unit + static member private PrivateMethod: unit -> unit + static member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TestType () = + static member PublicMethod() = () + static member InternalMethod() = () + static member PrivateMethod() = () + static member DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static methods`` (realSig) = + FSharp """ +module RealInternalSignature + +type public TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static properties`` (realSig) = + Fsi """ +module RealInternalSignature +type public TestType = + new: unit -> TestType + static member public PublicProperty: int with get + static member public PublicProperty: int with set + static member internal InternalProperty: int with get + static member internal InternalProperty: int with set + static member private PrivateProperty: int with get + static member private PrivateProperty: int with set + static member DefaultProperty: int with get + static member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TestType () = + static member val PublicProperty = 0 with get, set + static member val InternalProperty = 0 with get, set + static member val PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + else + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static properties`` (realSig) = + Fsi """ +module RealInternalSignature +type private TestType = + new: unit -> TestType + static member PublicProperty: int with get + static member PublicProperty: int with set + static member internal InternalProperty: int with get + static member internal InternalProperty: int with set + static member private PrivateProperty: int with get + static member private PrivateProperty: int with set + static member DefaultProperty: int with get + static member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type TestType () = + static member val PublicProperty = 0 with get, set + static member val InternalProperty = 0 with get, set + static member val PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + else + ".method assembly specialname static int32 get_PublicProperty() cil managed" + ".method assembly specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_DefaultProperty() cil managed" + ".method assembly specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static mixed properties`` (realSig) = + Fsi """ +module RealInternalSignature + type public TestType = + new: unit -> TestType + static member public MixedPropertyOne: int with get + static member internal MixedPropertyOne: int with set + static member public MixedPropertyTwo: int with get + static member private MixedPropertyTwo: int with set + static member private MixedPropertyThree: int with get + static member public MixedPropertyThree: int with set + static member private MixedPropertyFour: int with get + static member internal MixedPropertyFour: int with set + static member internal MixedPropertyFive: int with get + static member public MixedPropertyFive: int with set + static member internal MixedPropertySix: int with get + static member private MixedPropertySix: int with set + static member public MixedPropertySeven: int with get + static member public MixedPropertySeven: int with set + static member MixedPropertyEight: int with get + static member internal MixedPropertyEight: int with set + static member MixedPropertyNine: int with get + static member private MixedPropertyNine: int with set + static member MixedPropertyTen: int with get + static member MixedPropertyTen: int with set + static member internal MixedPropertyEleven: int with get + static member MixedPropertyEleven: int with set + static member private MixedPropertyTwelve: int with get + static member MixedPropertyTwelve: int with set +""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type public TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static mixed properties`` (realSig) = + Fsi """ +module RealInternalSignature +type private TestType = + new: unit -> TestType + static member public MixedPropertyOne: int with get + static member internal MixedPropertyOne: int with set + static member public MixedPropertyTwo: int with get + static member private MixedPropertyTwo: int with set + static member private MixedPropertyThree: int with get + static member public MixedPropertyThree: int with set + static member private MixedPropertyFour: int with get + static member internal MixedPropertyFour: int with set + static member internal MixedPropertyFive: int with get + static member public MixedPropertyFive: int with set + static member internal MixedPropertySix: int with get + static member private MixedPropertySix: int with set + static member MixedPropertySeven: int with get + static member MixedPropertySeven: int with set + static member public MixedPropertySeven: int with set + static member MixedPropertyEight: int with get + static member internal MixedPropertyEight: int with set + static member MixedPropertyNine: int with get + static member private MixedPropertyNine: int with set + static member MixedPropertyTen: int with get + static member MixedPropertyTen: int with set + static member internal MixedPropertyEleven: int with get + static member MixedPropertyEleven: int with set + static member private MixedPropertyTwelve: int with get + static member MixedPropertyTwelve: int with set +""" + |> withAdditionalSourceFile (FsSource (""" +module RealInternalSignature + +type private TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method assembly specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method assembly specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method assembly specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly specialname static int32 get_MixedPropertySeven() cil managed" + ".method assembly specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTen() cil managed" + ".method assembly specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method assembly specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method assembly specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs new file mode 100644 index 00000000000..5211a913085 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs @@ -0,0 +1,890 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ClassTypeVisibilityNamespaceRoot = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + [] // RealSig + [] // Regular + [] + let ``public type - constructors`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TypeOne public () = class end +type public TypeTwo internal () = class end +type public TypeThree private () = class end +type public TypeFour () = class end +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ +.class public auto ansi serializable RealInternalSignature.TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + + """ +.class public auto ansi serializable RealInternalSignature.TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method private specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + else + """ +.class public auto ansi serializable RealInternalSignature.TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + + """ +.class public auto ansi serializable RealInternalSignature.TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - constructors`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type private TypeOne public () = class end +type private TypeTwo internal () = class end +type private TypeThree private () = class end +type private TypeFour () = class end +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + """ +.class private auto ansi serializable RealInternalSignature.TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class private auto ansi serializable RealInternalSignature.TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class private auto ansi serializable RealInternalSignature.TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class private auto ansi serializable RealInternalSignature.TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + ] + |> shouldSucceed + + + [] // RealSig + [] // Regular + [] + let ``public type - instance methods`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + member public _.PublicMethod() = () + member internal _.InternalMethod() = () + member private _.PrivateMethod() = () + member _.DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + else + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance methods`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type private TestType () = + member public _.PublicMethod() = () + member internal _.InternalMethod() = () + member private _.PrivateMethod() = () + member _.DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + else + ".method assembly hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method assembly hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + member val public PublicProperty = 0 with get, set + member val internal InternalProperty = 0 with get, set + member val private PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + member val public PublicProperty = 0 with get, set + member val internal InternalProperty = 0 with get, set + member val private PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance mixed properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + member _.MixedPropertyOne with public get() = 0 and internal set (_:int) = () + member _.MixedPropertyTwo with public get() = 0 and private set (_:int) = () + member _.MixedPropertyThree with private get() = 0 and public set (_:int) = () + member _.MixedPropertyFour with private get() = 0 and internal set (_:int) = () + member _.MixedPropertyFive with internal get() = 0 and public set (_:int) = () + member _.MixedPropertySix with internal get() = 0 and private set (_:int) = () + member _.MixedPropertySeven with get() = 0 and public set (_:int) = () + member _.MixedPropertyEight with get() = 0 and internal set (_:int) = () + member _.MixedPropertyNine with get() = 0 and private set (_:int) = () + member _.MixedPropertyTen with public get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with internal get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname rtspecialname instance void .ctor() cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public specialname rtspecialname instance void .ctor() cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance mixed properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type private TestType () = + member _.MixedPropertyOne with public get() = 0 and internal set (_:int) = () + member _.MixedPropertyTwo with public get() = 0 and private set (_:int) = () + member _.MixedPropertyThree with private get() = 0 and public set (_:int) = () + member _.MixedPropertyFour with private get() = 0 and internal set (_:int) = () + member _.MixedPropertyFive with internal get() = 0 and public set (_:int) = () + member _.MixedPropertySix with internal get() = 0 and private set (_:int) = () + member _.MixedPropertySeven with get() = 0 and public set (_:int) = () + member _.MixedPropertyEight with get() = 0 and internal set (_:int) = () + member _.MixedPropertyNine with get() = 0 and private set (_:int) = () + member _.MixedPropertyTen with public get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with internal get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + else + ".method assembly hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static methods`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static methods`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + static member val public PublicProperty = 0 with get, set + static member val internal InternalProperty = 0 with get, set + static member val private PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + else + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type private TestType () = + static member val public PublicProperty = 0 with get, set + static member val internal InternalProperty = 0 with get, set + static member val private PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + else + ".method assembly specialname static int32 get_PublicProperty() cil managed" + ".method assembly specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_DefaultProperty() cil managed" + ".method assembly specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static mixed properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static mixed properties`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type private TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method assembly specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method assembly specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method assembly specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly specialname static int32 get_MixedPropertySeven() cil managed" + ".method assembly specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTen() cil managed" + ".method assembly specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method assembly specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method assembly specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs new file mode 100644 index 00000000000..e4e2ae6cedb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs @@ -0,0 +1,1161 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test.Compiler + +module ClassTypeVisibilityNamespaceRootWithFsi = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + [] // RealSig + [] // Regular + [] + let ``public type - constructors`` (realSig) = + Fsi """ +namespace RealInternalSignature + +type public TypeOne = public new: unit -> TypeOne +type public TypeTwo = internal new: unit -> TypeTwo +type public TypeThree = private new: unit -> TypeThree +type public TypeFour = public new: unit -> TypeFour +""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TypeOne () = class end +type TypeTwo () = class end +type TypeThree () = class end +type TypeFour () = class end + """)) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + """ +.class public auto ansi serializable RealInternalSignature.TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + + """ +.class public auto ansi serializable RealInternalSignature.TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method private specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + else + """ +.class public auto ansi serializable RealInternalSignature.TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + + """ +.class public auto ansi serializable RealInternalSignature.TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class public auto ansi serializable RealInternalSignature.TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - constructors`` (realSig) = + Fsi """ +namespace RealInternalSignature + +type private TypeOne = public new: unit -> TypeOne +type private TypeTwo = internal new: unit -> TypeTwo +type private TypeThree = private new: unit -> TypeThree +type private TypeFour = public new: unit -> TypeFour +""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TypeOne () = class end +type TypeTwo () = class end +type TypeThree () = class end +type TypeFour () = class end + """)) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + """ +.class private auto ansi serializable RealInternalSignature.TypeOne + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class private auto ansi serializable RealInternalSignature.TypeTwo + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class private auto ansi serializable RealInternalSignature.TypeThree + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + """ +.class private auto ansi serializable RealInternalSignature.TypeFour + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance methods`` (realSig) = + Fsi """ +namespace RealInternalSignature + type public TestType = + new: unit -> TestType + member DefaultMethod: unit -> unit + member internal InternalMethod: unit -> unit + member private PrivateMethod: unit -> unit + member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + member _.PublicMethod() = () + member _.InternalMethod() = () + member _.PrivateMethod() = () + member _.DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + else + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance methods`` (realSig) = + Fsi """ +namespace RealInternalSignature + type private TestType = + new: unit -> TestType + member DefaultMethod: unit -> unit + member internal InternalMethod: unit -> unit + member private PrivateMethod: unit -> unit + member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + member _.PublicMethod() = () + member _.InternalMethod() = () + member _.PrivateMethod() = () + member _.DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method private hidebysig instance void PrivateMethod() cil managed" + ".method public hidebysig instance void DefaultMethod() cil managed" + + else + ".method assembly hidebysig instance void PublicMethod() cil managed" + ".method assembly hidebysig instance void InternalMethod() cil managed" + ".method assembly hidebysig instance void PrivateMethod() cil managed" + ".method assembly hidebysig instance void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance properties`` (realSig) = + Fsi """ +namespace RealInternalSignature +type public TestType = + new: unit -> TestType + member public PublicProperty: int with get + member public PublicProperty: int with set + member internal InternalProperty: int with get + member internal InternalProperty: int with set + member private PrivateProperty: int with get + member private PrivateProperty: int with set + member DefaultProperty: int with get + member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + member val PublicProperty = 0 with get, set + member val InternalProperty = 0 with get, set + member val PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance properties`` (realSig) = + Fsi """ +namespace RealInternalSignature +type private TestType = + new: unit -> TestType + member public PublicProperty: int with get + member public PublicProperty: int with set + member internal InternalProperty: int with get + member internal InternalProperty: int with set + member private PrivateProperty: int with get + member private PrivateProperty: int with set + member DefaultProperty: int with get + member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + member val PublicProperty = 0 with get, set + member val InternalProperty = 0 with get, set + member val PrivateProperty = 0 with get, set + member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method public hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method private hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + else + ".method assembly hidebysig specialname instance int32 get_PublicProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PublicProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_InternalProperty() cil managed" + ".method assembly hidebysig specialname instance void set_InternalProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_PrivateProperty() cil managed" + ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_DefaultProperty() cil managed" + ".method assembly hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - instance mixed properties`` (realSig) = + Fsi """ +namespace RealInternalSignature + type TestType = + new: unit -> TestType + member public MixedPropertyOne: int with get + member internal MixedPropertyOne: int with set + member public MixedPropertyTwo: int with get + member private MixedPropertyTwo: int with set + member private MixedPropertyThree: int with get + member public MixedPropertyThree: int with set + member private MixedPropertyFour: int with get + member internal MixedPropertyFour: int with set + member internal MixedPropertyFive: int with get + member public MixedPropertyFive: int with set + member internal MixedPropertySix: int with get + member private MixedPropertySix: int with set + member public MixedPropertySeven: int with get + member public MixedPropertySeven: int with set + member public MixedPropertyEight: int with get + member internal MixedPropertyEight: int with set + member public MixedPropertyNine: int with get + member private MixedPropertyNine: int with set + member MixedPropertyTen: int with get + member MixedPropertyTen: int with set + member internal MixedPropertyEleven: int with get + member public MixedPropertyEleven: int with set + member private MixedPropertyTwelve: int with get + member public MixedPropertyTwelve: int with set""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type public TestType () = + member _.MixedPropertyOne with get() = 0 and set (_:int) = () + member _.MixedPropertyTwo with get() = 0 and set (_:int) = () + member _.MixedPropertyThree with get() = 0 and set (_:int) = () + member _.MixedPropertyFour with get() = 0 and set (_:int) = () + member _.MixedPropertyFive with get() = 0 and set (_:int) = () + member _.MixedPropertySix with get() = 0 and set (_:int) = () + member _.MixedPropertySeven with get() = 0 and set (_:int) = () + member _.MixedPropertyEight with get() = 0 and set (_:int) = () + member _.MixedPropertyNine with get() = 0 and set (_:int) = () + member _.MixedPropertyTen with get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname rtspecialname instance void .ctor() cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public specialname rtspecialname instance void .ctor() cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - instance mixed properties`` (realSig) = + Fsi """ +namespace RealInternalSignature + type private TestType = + new: unit -> TestType + member public MixedPropertyOne: int with get + member internal MixedPropertyOne: int with set + member public MixedPropertyTwo: int with get + member private MixedPropertyTwo: int with set + member private MixedPropertyThree: int with get + member public MixedPropertyThree: int with set + member private MixedPropertyFour: int with get + member internal MixedPropertyFour: int with set + member internal MixedPropertyFive: int with get + member public MixedPropertyFive: int with set + member internal MixedPropertySix: int with get + member private MixedPropertySix: int with set + member public MixedPropertySeven: int with get + member public MixedPropertySeven: int with set + member public MixedPropertyEight: int with get + member internal MixedPropertyEight: int with set + member public MixedPropertyNine: int with get + member private MixedPropertyNine: int with set + member public MixedPropertyTen: int with get + member public MixedPropertyTen: int with set + member internal MixedPropertyEleven: int with get + member public MixedPropertyEleven: int with set + member private MixedPropertyTwelve: int with get + member public MixedPropertyTwelve: int with set""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type public TestType () = + member _.MixedPropertyOne with get() = 0 and set (_:int) = () + member _.MixedPropertyTwo with get() = 0 and set (_:int) = () + member _.MixedPropertyThree with get() = 0 and set (_:int) = () + member _.MixedPropertyFour with get() = 0 and set (_:int) = () + member _.MixedPropertyFive with get() = 0 and set (_:int) = () + member _.MixedPropertySix with get() = 0 and set (_:int) = () + member _.MixedPropertySeven with get() = 0 and set (_:int) = () + member _.MixedPropertyEight with get() = 0 and set (_:int) = () + member _.MixedPropertyNine with get() = 0 and set (_:int) = () + member _.MixedPropertyTen with get() = 0 and set (_:int) = () + member _.MixedPropertyEleven with get() = 0 and set (_:int) = () + member _.MixedPropertyTwelve with get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method private hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method public hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + else + ".method assembly hidebysig specialname instance int32 get_MixedPropertyOne() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwo() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyThree() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFour() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyFive() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySix() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertySeven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEight() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyNine() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTen() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyEleven() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly hidebysig specialname instance int32 get_MixedPropertyTwelve() cil managed" + ".method assembly hidebysig specialname instance void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static methods`` (realSig) = + Fsi """ +namespace RealInternalSignature + type public TestType = + new: unit -> TestType + static member DefaultMethod: unit -> unit + static member internal InternalMethod: unit -> unit + static member private PrivateMethod: unit -> unit + static member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + static member PublicMethod() = () + static member InternalMethod() = () + static member PrivateMethod() = () + static member DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static methods`` (realSig) = + FSharp """ +namespace RealInternalSignature + +type public TestType () = + static member public PublicMethod() = () + static member internal InternalMethod() = () + static member private PrivateMethod() = () + static member DefaultMethod() = () +""" + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method private static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method public static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static properties`` (realSig) = + Fsi """ +namespace RealInternalSignature +type public TestType = + new: unit -> TestType + static member public PublicProperty: int with get + static member public PublicProperty: int with set + static member internal InternalProperty: int with get + static member internal InternalProperty: int with set + static member private PrivateProperty: int with get + static member private PrivateProperty: int with set + static member DefaultProperty: int with get + static member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + static member val PublicProperty = 0 with get, set + static member val InternalProperty = 0 with get, set + static member val PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + else + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static properties`` (realSig) = + Fsi """ +namespace RealInternalSignature +type private TestType = + new: unit -> TestType + static member PublicProperty: int with get + static member PublicProperty: int with set + static member internal InternalProperty: int with get + static member internal InternalProperty: int with set + static member private PrivateProperty: int with get + static member private PrivateProperty: int with set + static member DefaultProperty: int with get + static member DefaultProperty: int with set""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + static member val PublicProperty = 0 with get, set + static member val InternalProperty = 0 with get, set + static member val PrivateProperty = 0 with get, set + static member val DefaultProperty = 0 with get, set""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_PublicProperty() cil managed" + ".method public specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method private specialname static int32 get_PrivateProperty() cil managed" + ".method private specialname static void set_PrivateProperty(int32 v) cil managed" + ".method public specialname static int32 get_DefaultProperty() cil managed" + ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + + else + ".method assembly specialname static int32 get_PublicProperty() cil managed" + ".method assembly specialname static void set_PublicProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_InternalProperty() cil managed" + ".method assembly specialname static void set_InternalProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_PrivateProperty() cil managed" + ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_DefaultProperty() cil managed" + ".method assembly specialname static void set_DefaultProperty(int32 v) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``public type - static mixed properties`` (realSig) = + Fsi """ +namespace RealInternalSignature + type public TestType = + new: unit -> TestType + static member public MixedPropertyOne: int with get + static member internal MixedPropertyOne: int with set + static member public MixedPropertyTwo: int with get + static member private MixedPropertyTwo: int with set + static member private MixedPropertyThree: int with get + static member public MixedPropertyThree: int with set + static member private MixedPropertyFour: int with get + static member internal MixedPropertyFour: int with set + static member internal MixedPropertyFive: int with get + static member public MixedPropertyFive: int with set + static member internal MixedPropertySix: int with get + static member private MixedPropertySix: int with set + static member public MixedPropertySeven: int with get + static member public MixedPropertySeven: int with set + static member MixedPropertyEight: int with get + static member internal MixedPropertyEight: int with set + static member MixedPropertyNine: int with get + static member private MixedPropertyNine: int with set + static member MixedPropertyTen: int with get + static member MixedPropertyTen: int with set + static member internal MixedPropertyEleven: int with get + static member MixedPropertyEleven: int with set + static member private MixedPropertyTwelve: int with get + static member MixedPropertyTwelve: int with set +""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type public TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + [] // RealSig + [] // Regular + [] + let ``private type - static mixed properties`` (realSig) = + Fsi """ +namespace RealInternalSignature +type private TestType = + new: unit -> TestType + static member public MixedPropertyOne: int with get + static member internal MixedPropertyOne: int with set + static member public MixedPropertyTwo: int with get + static member private MixedPropertyTwo: int with set + static member private MixedPropertyThree: int with get + static member public MixedPropertyThree: int with set + static member private MixedPropertyFour: int with get + static member internal MixedPropertyFour: int with set + static member internal MixedPropertyFive: int with get + static member public MixedPropertyFive: int with set + static member internal MixedPropertySix: int with get + static member private MixedPropertySix: int with set + static member MixedPropertySeven: int with get + static member MixedPropertySeven: int with set + static member public MixedPropertySeven: int with set + static member MixedPropertyEight: int with get + static member internal MixedPropertyEight: int with set + static member MixedPropertyNine: int with get + static member private MixedPropertyNine: int with set + static member MixedPropertyTen: int with get + static member MixedPropertyTen: int with set + static member internal MixedPropertyEleven: int with get + static member MixedPropertyEleven: int with set + static member private MixedPropertyTwelve: int with get + static member MixedPropertyTwelve: int with set +""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type private TestType () = + static member MixedPropertyOne with public get() = 0 and internal set (_:int) = () + static member MixedPropertyTwo with public get() = 0 and private set (_:int) = () + static member MixedPropertyThree with private get() = 0 and public set (_:int) = () + static member MixedPropertyFour with private get() = 0 and internal set (_:int) = () + static member MixedPropertyFive with internal get() = 0 and public set (_:int) = () + static member MixedPropertySix with internal get() = 0 and private set (_:int) = () + static member MixedPropertySeven with get() = 0 and public set (_:int) = () + static member MixedPropertyEight with get() = 0 and internal set (_:int) = () + static member MixedPropertyNine with get() = 0 and private set (_:int) = () + static member MixedPropertyTen with public get() = 0 and set (_:int) = () + static member MixedPropertyEleven with internal get() = 0 and set (_:int) = () + static member MixedPropertyTwelve with private get() = 0 and set (_:int) = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method public specialname static int32 get_MixedPropertyTwo() cil managed" + ".method private specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method private specialname static int32 get_MixedPropertyThree() cil managed" + ".method public specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method private specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method public specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method private specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method public specialname static int32 get_MixedPropertySeven() cil managed" + ".method public specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method public specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method public specialname static int32 get_MixedPropertyNine() cil managed" + ".method private specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method public specialname static int32 get_MixedPropertyTen() cil managed" + ".method public specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method public specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method private specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method public specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + else + ".method assembly specialname static int32 get_MixedPropertyOne() cil managed" + ".method assembly specialname static void set_MixedPropertyOne(int32 _arg1) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwo() cil managed" + ".method assembly specialname static void set_MixedPropertyTwo(int32 _arg2) cil managed" + ".method assembly specialname static int32 get_MixedPropertyThree() cil managed" + ".method assembly specialname static void set_MixedPropertyThree(int32 _arg3) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFour() cil managed" + ".method assembly specialname static void set_MixedPropertyFour(int32 _arg4) cil managed" + ".method assembly specialname static int32 get_MixedPropertyFive() cil managed" + ".method assembly specialname static void set_MixedPropertyFive(int32 _arg5) cil managed" + ".method assembly specialname static int32 get_MixedPropertySix() cil managed" + ".method assembly specialname static void set_MixedPropertySix(int32 _arg6) cil managed" + ".method assembly specialname static int32 get_MixedPropertySeven() cil managed" + ".method assembly specialname static void set_MixedPropertySeven(int32 _arg7) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEight() cil managed" + ".method assembly specialname static void set_MixedPropertyEight(int32 _arg8) cil managed" + ".method assembly specialname static int32 get_MixedPropertyNine() cil managed" + ".method assembly specialname static void set_MixedPropertyNine(int32 _arg9) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTen() cil managed" + ".method assembly specialname static void set_MixedPropertyTen(int32 _arg10) cil managed" + ".method assembly specialname static int32 get_MixedPropertyEleven() cil managed" + ".method assembly specialname static void set_MixedPropertyEleven(int32 _arg11) cil managed" + ".method assembly specialname static int32 get_MixedPropertyTwelve() cil managed" + ".method assembly specialname static void set_MixedPropertyTwelve(int32 _arg12) cil managed" + + ] + |> shouldSucceed + + + [] // RealSig + [] // Regular + [] + let ``public type - static methods - hide by omission`` (realSig) = + Fsi """ +namespace RealInternalSignature + type public TestType = + new: unit -> TestType + static member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + static member PublicMethod() = () + static member InternalMethod() = () + static member PrivateMethod() = () + static member DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method assembly static void DefaultMethod() cil managed" + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method assembly static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + + + [] // RealSig + [] // Regular + [] + let ``public type - public nested type - hide by omission`` (realSig) = + Fsi """ +namespace RealInternalSignature + type public TestType = + new: unit -> TestType + type public NestedTestType = + new: unit -> NestedTestType + static member PublicMethod: unit -> unit""" + |> withAdditionalSourceFile (FsSource (""" +namespace RealInternalSignature + +type TestType () = + static member PublicMethod() = () + type NestedTestType () = + static member PublicMethod() = () + static member InternalMethod() = () + static member PrivateMethod() = () + static member DefaultMethod() = ()""")) + |> asLibrary + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compile + |> withILContains [ + if realSig then + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method assembly static void DefaultMethod() cil managed" + else + ".method public static void PublicMethod() cil managed" + ".method assembly static void InternalMethod() cil managed" + ".method assembly static void PrivateMethod() cil managed" + ".method assembly static void DefaultMethod() cil managed" + + ] + |> shouldSucceed + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs new file mode 100644 index 00000000000..f34294aa1b4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -0,0 +1,588 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ModuleInitialization = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + let simplePublicModule = + FSharp """ +namespace MyLibraryNamespace +module FirstModule = + let public x1 = 1100 + System.Random().Next(0) + let internal y1 = 1200 + System.Random().Next(0) + let private z1 = 1300 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + """ + + [] // RealSig + [] // Regular + [] + let ``Simple module in library`` (realSig) = + + let SimplePublicModule = + simplePublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.x1}" + """ + |> withReferences [ SimplePublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder ["Hello, World from FirstModule"] + + let nestedPublicModule = + FSharp """ +namespace MyLibraryNamespace +module FirstModule = + let public x1 = 1100 + System.Random().Next(0) + let internal y1 = 1200 + System.Random().Next(0) + let private z1 = 1300 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + + module FirstNestedModule = + let public x11 = 11100 + System.Random().Next(0) + let internal y12 = 11200 + System.Random().Next(0) + let private z13 = 11300 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule" + """ + + let wideNestedPublicModule = + FSharp """ +namespace MyLibraryNamespace + + module FirstModule = + let x1 = 1101 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + + module public FirstNestedModule = + let x11 = 1104 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule" + + module private FirstDeepNestedModule = + let x111 = 1107 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + + module internal SecondNestedModule = + let secondNestedDoIt() = () + module private SecondDeepNestedModule = + let secondNestedDoIt() = () + + printfn "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + + module private ThirdNestedModule = + let x13 = 1113 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule" + + module public ThirdDeepNestedModule = + let x132 = 1116 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + + module SecondModule = + let x2 = 2101 + System.Random().Next(0) + printfn "Hello, World from SecondModule" + + module public FirstNestedModule = + let x21 = 2104 + System.Random().Next(0) + printfn "Hello, World from SecondModule:FirstNestedModule" + + module private FirstDeepNestedModule = + let x211 = 2107 + System.Random().Next(0) + printfn "Hello, World from SecondModule:FirstNestedModule:FirstDeepNestedModule" + + module internal SecondNestedModule = + let secondNestedDoIt() = () + module private SecondDeepNestedModule = + let secondNestedDoIt() = () + + printfn "Hello, World from between SecondModule:SecondNested and FirstModule:ThirdNestedModule" + + module private ThirdNestedModule = + let x23 = 2113 + System.Random().Next(0) + + module private ThirdDeepNestedModule = + let x233 = 2116 + System.Random().Next(0) + printfn "Hello, World from SecondModule:ThirdNestedModule:ThirdDeepNestedModule" + """ + + [] // RealSig + [] // Regular + [] + let ``Wide Nested module in library`` (realSig) = + + let WideNestedPublicModule = + wideNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.x1}" + """ + |> withReferences [ WideNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + "Hello, World from SecondModule" + "Hello, World from SecondModule:FirstNestedModule" + "Hello, World from SecondModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from between SecondModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from SecondModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + [] // RealSig + [] // Regular + [] + let ``Nested module in library`` (realSig) = + + let NestedPublicModule = + nestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.FirstNestedModule.x11}" + """ + |> withReferences [ NestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + ] + + let deeplyNestedPublicModule = + FSharp """ +namespace MyLibraryNamespace + + module FirstModule = + let public x1 = 1101 + System.Random().Next(0) + let internal y1 = 1102 + System.Random().Next(0) + let private z1 = 1103 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + + module FirstNestedModule = + let x11 = 1104 + System.Random().Next(0) + let y11 = 1105 + System.Random().Next(0) + let z11 = 1106 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule" + + module FirstDeepNestedModule = + let x111 = 1107 + System.Random().Next(0) + let y111 = 1108+ System.Random().Next(0) + let z111 = 1109 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + + module internal SecondNestedModule = + module private SecondDeepNestedModule = + let x121 = 1110 + System.Random().Next(0) + let y121 = 1111 + System.Random().Next(0) + let z121 = 1112 + System.Random().Next(0) + printfn "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + + printfn "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + + module private ThirdNestedModule = + let x13 = 1113 + System.Random().Next(0) + let y13 = 1114 + System.Random().Next(0) + let z13 = 1115 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule" + + module private ThirdDeepNestedModule = + let x132 = 1116 + System.Random().Next(0) + let y132 = 1117 + System.Random().Next(0) + let z132 = 1118 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + """ + + [] // RealSig + [] // Regular + [] + let ``Deeply Nested module in library - Deep Activation`` (realSig) = + + let DeeplyNestedPublicModule = + deeplyNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.FirstNestedModule.FirstDeepNestedModule.x111}" + """ + |> withReferences [ DeeplyNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + + [] // RealSig + [] // Regular + [] + let ``Nested module in library - Nested Activation`` (realSig) = + + let DeeplyNestedPublicModule = + deeplyNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.FirstNestedModule.x11}" + """ + |> withReferences [ DeeplyNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + + [] // RealSig + [] // Regular + [] + let ``Deeply Nested module in library - Shallow Activation`` (realSig) = + + let DeeplyNestedPublicModule = + deeplyNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.x1}" + """ + |> withReferences [ DeeplyNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + [] // RealSig + [] // Regular + [] + let ``Simple MyLibrary`` (realSig) = + + FSharp """ +module MyLibrary +let x1 = 1100 + System.Random().Next(0) +let y1 = 1200 + System.Random().Next(0) +let z1 = 1300 + System.Random().Next(0) +printfn "Hello, World from MyLibrary" + """ + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder ["Hello, World from MyLibrary"] + + [] // RealSig + [] // Regular + [] + let ``Simple MyLibrary with nested types`` (realSig) = + + FSharp """ +module MyLibrary +let x1 = 1100 + System.Random().Next(0) +let y1 = 1200 + System.Random().Next(0) +let z1 = 1300 + System.Random().Next(0) +printfn "Hello, World from MyLibrary" + +type MyType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MyType" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyLibrary" + "Hello, World from MyLibrary.MyType" + ] + + [] // RealSig, recursive module + [] // Regular, recursive module + [] // RealSig, module + [] // Regular, module + [] + let ``Simple MyLibrary with nested types and ref fields`` (realSig) recursiveModule = + let recursive = if recursiveModule then "rec" else "" + FSharp $""" + namespace {recursive} testns + module StaticInitializerTest3 = + let x = ref 2 + do x := 3 + + type C() = + static let mutable v = x.Value + 1 + static do v <- 3 + + member x.P = v + static member P2 = v+x.Value + + printfn $"{{(new C()).P}}" + printfn $"{{C.P2}}" + if C.P2 <> 6 then failwith $"Invalid result: C.P2 <> 6 - actual: {{C.P2}}" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> withOptions [ "--nowarn:3370"; "--debug+"; "--optimize-" ] + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ "3"; "6" ] + + [] // RealSig, recursive module + [] // Regular, recursive module + [] // RealSig, module + [] // Regular, module + [] + let ``Simple TypeOne and TypeTwo and TypeThree in module`` (realSig, recursiveModule) = + + let recursive = if recursiveModule then "rec" else "" + FSharp $""" +module {recursive} MyModule = + + type public MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MyFirstType" + + and internal MySecondType = + static let x2 = 2100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MySecondType" + + and private MyThirdType = + static let x3 = 3100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MyThirdType" + + printfn "Hello from main method" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyModule.MyFirstType" + "Hello, World from MyModule.MySecondType" + "Hello, World from MyModule.MyThirdType" + "Hello from main method" + ] + + [] // RealSig, recursive module + [] // Regular, recursive module + [] // RealSig, module + [] // Regular, module + [] + let ``Simple TypeOne and TypeTwo in nested module`` (realSig, recursiveModule) = + + let recursive = if recursiveModule then "rec" else "" + FSharp $$""" +module {{recursive}} MyModule = + + do printfn $"Do start MyModule" + + module private MyNestedModule = + + do printfn $"Do start MyNestedModule" + + type internal MyFirstType = + static let _ = printfn "Hello, World from MyModule.MyNestedModule.MyFirstType" + static let _ = printfn $"{MyFirstType.DoSomething}" + static member DoSomething = "My goodness I'm 'MyFirstType'" + + do printfn $"between types in MyNestedModule" + + type private MySecondType = + static let x11 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MyNestedModule.MySecondType" + static let _ = printfn $"{MySecondType.DoSomething}" + static member DoSomething = "My goodness I'm 'MySecondType'" + + do printfn $"Do end MyNestedModule" + + do printfn $"Do end MyModule" + + [] + let main args = + printfn "Hello from main method" + 0 + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Do start MyModule" + "Do start MyNestedModule" + "Hello, World from MyModule.MyNestedModule.MyFirstType" + "My goodness I'm 'MyFirstType'" + "between types in MyNestedModule" + "Hello, World from MyModule.MyNestedModule.MySecondType" + "My goodness I'm 'MySecondType'" + "Do end MyNestedModule" + "Do end MyModule" + ] + + [] // RealSig + [] // Regular + [] + let ``Module Nested Type visibility`` (realSig) = + + FSharp """ +module internal PrintfImpl + + module private FormatString = + let x = 0 + let findNextFormatSpecifier () = $"FormatString.findNextFormatSpecifier () - {x}" + + type FormatParser () = + let parseAndCreateStepsForCapturedFormat () = + $"FormatParser.prefix : " + FormatString.findNextFormatSpecifier() + member _.GetStepsForCapturedFormat() = + parseAndCreateStepsForCapturedFormat () + + printfn $"FormatParser.prefix: {FormatParser().GetStepsForCapturedFormat()}" + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "FormatParser.prefix: FormatParser.prefix : FormatString.findNextFormatSpecifier ()" + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility in module - public type - private ctor`` (realSig) = + + FSharp """ +module FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type public FSharpSourceFromFile internal (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +let createFromFile filePath = FSharpSourceFromFile (filePath) :> FSharpSource + +module doit = + createFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Lazy nested module - private`` (realSig) = + + FSharp """ +module private TestReferences = + + [] + module NetStandard20 = + module Files = + let netStandard = lazy "Hello, World!!!" + +module doSomething = + printfn $"{TestReferences.NetStandard20.Files.netStandard.Value}" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World" + ] + + [] // RealSig + [] // Regular + [] + let ``module visibility - Datum`` (realSig) = + + FSharp """ +module Test6 + module internal HelperModule = + + type public Data = + private + { + Datum: int + } + + let internal handle (data:Data): int = data.Datum + + module public Module = + + type public Data = + private + { + Thing: HelperModule.Data + } + + let public getInt (data:Data): int = HelperModule.handle data.Thing + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> asLibrary + |> compile + |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleVisibility.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleVisibility.fs new file mode 100644 index 00000000000..f382ec2c971 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleVisibility.fs @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL.RealInternalSignature + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ModuleVisibility = + () diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs new file mode 100644 index 00000000000..0b8bb2e98dc --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs @@ -0,0 +1,1255 @@ +// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. + +namespace EmittedIL + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module RealInternalSignature = + + let withRealInternalSignature realSig compilation = + compilation + |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + + let simplePublicModule = + FSharp """ +namespace MyLibraryNamespace +module FirstModule = + let public x1 = 1100 + System.Random().Next(0) + let internal y1 = 1200 + System.Random().Next(0) + let private z1 = 1300 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + """ + + [] // RealSig + [] // Regular + [] + let ``Simple module in library`` (realSig) = + + let SimplePublicModule = + simplePublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.x1}" + """ + |> withReferences [ SimplePublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder ["Hello, World from FirstModule"] + + let nestedPublicModule = + FSharp """ +namespace MyLibraryNamespace +module FirstModule = + let public x1 = 1100 + System.Random().Next(0) + let internal y1 = 1200 + System.Random().Next(0) + let private z1 = 1300 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + + module FirstNestedModule = + let public x11 = 11100 + System.Random().Next(0) + let internal y12 = 11200 + System.Random().Next(0) + let private z13 = 11300 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule" + """ + + let wideNestedPublicModule = + FSharp """ +namespace MyLibraryNamespace + + module FirstModule = + let x1 = 1101 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + + module public FirstNestedModule = + let x11 = 1104 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule" + + module private FirstDeepNestedModule = + let x111 = 1107 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + + module internal SecondNestedModule = + let secondNestedDoIt() = () + module private SecondDeepNestedModule = + let secondNestedDoIt() = () + + printfn "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + + module private ThirdNestedModule = + let x13 = 1113 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule" + + module public ThirdDeepNestedModule = + let x132 = 1116 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + + module SecondModule = + let x2 = 2101 + System.Random().Next(0) + printfn "Hello, World from SecondModule" + + module public FirstNestedModule = + let x21 = 2104 + System.Random().Next(0) + printfn "Hello, World from SecondModule:FirstNestedModule" + + module private FirstDeepNestedModule = + let x211 = 2107 + System.Random().Next(0) + printfn "Hello, World from SecondModule:FirstNestedModule:FirstDeepNestedModule" + + module internal SecondNestedModule = + let secondNestedDoIt() = () + module private SecondDeepNestedModule = + let secondNestedDoIt() = () + + printfn "Hello, World from between SecondModule:SecondNested and FirstModule:ThirdNestedModule" + + module private ThirdNestedModule = + let x23 = 2113 + System.Random().Next(0) + + module private ThirdDeepNestedModule = + let x233 = 2116 + System.Random().Next(0) + printfn "Hello, World from SecondModule:ThirdNestedModule:ThirdDeepNestedModule" + """ + + [] // RealSig + [] // Regular + [] + let ``Wide Nested module in library`` (realSig) = + + let WideNestedPublicModule = + wideNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.x1}" + """ + |> withReferences [ WideNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + "Hello, World from SecondModule" + "Hello, World from SecondModule:FirstNestedModule" + "Hello, World from SecondModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from between SecondModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from SecondModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + [] // RealSig + [] // Regular + [] + let ``Nested module in library`` (realSig) = + + let NestedPublicModule = + nestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.FirstNestedModule.x11}" + """ + |> withReferences [ NestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + ] + + let deeplyNestedPublicModule = + FSharp """ +namespace MyLibraryNamespace + + module FirstModule = + let public x1 = 1101 + System.Random().Next(0) + let internal y1 = 1102 + System.Random().Next(0) + let private z1 = 1103 + System.Random().Next(0) + printfn "Hello, World from FirstModule" + + module FirstNestedModule = + let x11 = 1104 + System.Random().Next(0) + let y11 = 1105 + System.Random().Next(0) + let z11 = 1106 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule" + + module FirstDeepNestedModule = + let x111 = 1107 + System.Random().Next(0) + let y111 = 1108+ System.Random().Next(0) + let z111 = 1109 + System.Random().Next(0) + printfn "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + + module internal SecondNestedModule = + module private SecondDeepNestedModule = + let x121 = 1110 + System.Random().Next(0) + let y121 = 1111 + System.Random().Next(0) + let z121 = 1112 + System.Random().Next(0) + printfn "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + + printfn "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + + module private ThirdNestedModule = + let x13 = 1113 + System.Random().Next(0) + let y13 = 1114 + System.Random().Next(0) + let z13 = 1115 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule" + + module private ThirdDeepNestedModule = + let x132 = 1116 + System.Random().Next(0) + let y132 = 1117 + System.Random().Next(0) + let z132 = 1118 + System.Random().Next(0) + printfn "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + """ + + [] // RealSig + [] // Regular + [] + let ``Deeply Nested module in library - Deep Activation`` (realSig) = + + let DeeplyNestedPublicModule = + deeplyNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.FirstNestedModule.FirstDeepNestedModule.x111}" + """ + |> withReferences [ DeeplyNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + + [] // RealSig + [] // Regular + [] + let ``Nested module in library - Nested Activation`` (realSig) = + + let DeeplyNestedPublicModule = + deeplyNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.FirstNestedModule.x11}" + """ + |> withReferences [ DeeplyNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + + [] // RealSig + [] // Regular + [] + let ``Deeply Nested module in library - Shallow Activation`` (realSig) = + + let DeeplyNestedPublicModule = + deeplyNestedPublicModule + |> withRealInternalSignature realSig + |> asLibrary + + FSharp """ +open MyLibraryNamespace +printfn $"Hello, World!!!! {FirstModule.x1}" + """ + |> withReferences [ DeeplyNestedPublicModule ] + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from FirstModule" + "Hello, World from FirstModule:FirstNestedModule" + "Hello, World from FirstModule:FirstNestedModule:FirstDeepNestedModule" + "Hello, World from FirstModule:SecondNestedModule:SecondDeepNestedModule" + "Hello, World from between FirstModule:SecondNested and FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule" + "Hello, World from FirstModule:ThirdNestedModule:ThirdDeepNestedModule" + ] + + [] // RealSig + [] // Regular + [] + let ``Simple MyLibrary`` (realSig) = + + FSharp """ +module MyLibrary +let x1 = 1100 + System.Random().Next(0) +let y1 = 1200 + System.Random().Next(0) +let z1 = 1300 + System.Random().Next(0) +printfn "Hello, World from MyLibrary" + """ + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder ["Hello, World from MyLibrary"] + + [] // RealSig + [] // Regular + [] + let ``Simple MyLibrary with nested types`` (realSig) = + + FSharp """ +module MyLibrary +let x1 = 1100 + System.Random().Next(0) +let y1 = 1200 + System.Random().Next(0) +let z1 = 1300 + System.Random().Next(0) +printfn "Hello, World from MyLibrary" + +type MyType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MyType" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyLibrary" + "Hello, World from MyLibrary.MyType" + ] + + + [] // RealSig + [] // Regular + [] + let ``Simple MyType in namespace`` (realSig) = + + FSharp """ +namespace MyLibrary +type MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MyFirstType" + +type MySecondType = + static let x2 = 2100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MySecondType" + +module MyModule = + [] + let main args = + printfn "Hello from main method" + 0 + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyLibrary.MyFirstType" + "Hello, World from MyLibrary.MySecondType" + "Hello from main method" + ] + + [] // RealSig + [] // Regular + [] + let ``Simple TypeOne and TypeTwo in namespace`` (realSig) = + + FSharp """ +namespace MyLibrary +type MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MyFirstType" + +and MySecondType = + static let x2 = 2100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyLibrary.MySecondType" + +module MyModule = + [] + let main args = + printfn "Hello from main method" + 0 + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyLibrary.MyFirstType" + "Hello, World from MyLibrary.MySecondType" + "Hello from main method" + ] + + [] // RealSig + [] // Regular + [] + let ``Simple TypeOne and TypeTwo in module`` (realSig) = + + FSharp """ +module MyModule = + + type public MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MyFirstType" + + and internal MySecondType = + static let x2 = 2100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MySecondType" + + and private MyThirdType = + static let x3 = 3100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MyThirdType" + + printfn "Hello from main method" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyModule.MyFirstType" + "Hello, World from MyModule.MySecondType" + "Hello, World from MyModule.MyThirdType" + "Hello from main method" + ] + + [] // RealSig + [] // Regular + [] + let ``Simple TypeOne and TypeTwo in nested module`` (realSig) = + + FSharp """ +module MyModule = + + module private MyNestedModule = + type internal MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MyNestedModule.MyFirstType" + static let _ = printfn $"{MyFirstType.DoSomething}" + static member DoSomething = "My goodness" + + and private MySecondType = + static let x11 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyModule.MyNestedModule.MySecondType" + + [] + let main args = + printfn "Hello from main method" + 0 + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyModule.MyNestedModule.MyFirstType" + "My goodness" + "Hello, World from MyModule.MyNestedModule.MySecondType" + "Hello from main method" + ] + + [] // RealSig + [] // Regular + [] + let ``Module Nested Type visibility`` (realSig) = + + FSharp """ +module internal PrintfImpl + + module private FormatString = + let x = 0 + let findNextFormatSpecifier () = $"FormatString.findNextFormatSpecifier () - {x}" + + type FormatParser () = + let parseAndCreateStepsForCapturedFormat () = + $"FormatParser.prefix : " + FormatString.findNextFormatSpecifier() + member _.GetStepsForCapturedFormat() = + parseAndCreateStepsForCapturedFormat () + + printfn $"FormatParser.prefix: {FormatParser().GetStepsForCapturedFormat()}" + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "FormatParser.prefix: FormatParser.prefix : FormatString.findNextFormatSpecifier ()" + "Main program" + ] + + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - public type - public ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile public (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - public type - internal ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile internal (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile(filePath: string) = + FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - public type - private ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile private (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - public type - unspecified ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type FSharpSourceFromFile (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - private type - public ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type private FSharpSourceFromFile public (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + () //FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - private type - internal ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type private FSharpSourceFromFile internal (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile(filePath: string) = + FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> verifyIL [ + if realSig = false then + // Initialization + """ +.class private abstract auto ansi sealed ''.$Test + extends [runtime]System.Object +{ + .field static assembly class FSharp.Compiler.CodeAnalysis.FSharpSource arg@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldstr "Hello" + IL_0005: newobj instance void FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::.ctor(string) + IL_000a: stsfld class FSharp.Compiler.CodeAnalysis.FSharpSource ''.$Test::arg@1 + IL_000f: ldstr "Main program" + IL_0014: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001e: pop + IL_001f: ret + }""" + + // FSharpSource visibility + """.class public abstract auto ansi serializable FSharp.Compiler.CodeAnalysis.FSharpSource + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig specialname abstract virtual + instance string get_FilePath() cil managed + { + } + + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public static class FSharp.Compiler.CodeAnalysis.FSharpSource + CreateFromFile(string filePath) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::.ctor(string) + IL_0006: ret + } + + .property instance string FilePath() + { + .get instance string FSharp.Compiler.CodeAnalysis.FSharpSource::get_FilePath() + } +}""" + + /// FSharpSourceFromFile + """.class private auto ansi serializable FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile + extends FSharp.Compiler.CodeAnalysis.FSharpSource +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string filePath + .method public specialname rtspecialname + instance void .ctor(string filePath) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void FSharp.Compiler.CodeAnalysis.FSharpSource::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::filePath + IL_000f: ret + } + + .method public hidebysig specialname virtual + instance string get_FilePath() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::filePath + IL_0006: ret + } + + .property instance string FilePath() + { + .get instance string FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::get_FilePath() + } +}""" + //doit + """.class public abstract auto ansi sealed FSharp.Compiler.CodeAnalysis.doit + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method assembly specialname static class FSharp.Compiler.CodeAnalysis.FSharpSource + get_arg@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class FSharp.Compiler.CodeAnalysis.FSharpSource ''.$Test::arg@1 + IL_0005: ret + } + + .property class FSharp.Compiler.CodeAnalysis.FSharpSource + arg@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class FSharp.Compiler.CodeAnalysis.FSharpSource FSharp.Compiler.CodeAnalysis.doit::get_arg@1() + } +}""" + else + // Initialization + """.class private abstract auto ansi sealed ''.$Test + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void FSharp.Compiler.CodeAnalysis.doit::staticInitialization@() + IL_0005: ret + }""" + + // FSharpSource visibility + """.class public abstract auto ansi serializable FSharp.Compiler.CodeAnalysis.FSharpSource + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.AbstractClassAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public hidebysig specialname abstract virtual + instance string get_FilePath() cil managed + { + } + + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public static class FSharp.Compiler.CodeAnalysis.FSharpSource + CreateFromFile(string filePath) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::.ctor(string) + IL_0006: ret + } + + .property instance string FilePath() + { + .get instance string FSharp.Compiler.CodeAnalysis.FSharpSource::get_FilePath() + } +}""" + + // FSharpSourceFromFile + """.class private auto ansi serializable FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile + extends FSharp.Compiler.CodeAnalysis.FSharpSource +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string filePath + .method assembly specialname rtspecialname + instance void .ctor(string filePath) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void FSharp.Compiler.CodeAnalysis.FSharpSource::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::filePath + IL_000f: ret + } + + .method public hidebysig specialname virtual + instance string get_FilePath() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::filePath + IL_0006: ret + } + + .property instance string FilePath() + { + .get instance string FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::get_FilePath() + } +}""" + + // doit + """.class public abstract auto ansi sealed FSharp.Compiler.CodeAnalysis.doit + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly class FSharp.Compiler.CodeAnalysis.FSharpSource arg@1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method assembly specialname static class FSharp.Compiler.CodeAnalysis.FSharpSource + get_arg@1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class FSharp.Compiler.CodeAnalysis.FSharpSource FSharp.Compiler.CodeAnalysis.doit::arg@1 + IL_0005: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Test::init@ + IL_0006: ldsfld int32 ''.$Test::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "Hello" + IL_0005: newobj instance void FSharp.Compiler.CodeAnalysis.FSharpSourceFromFile::.ctor(string) + IL_000a: stsfld class FSharp.Compiler.CodeAnalysis.FSharpSource FSharp.Compiler.CodeAnalysis.doit::arg@1 + IL_000f: ldstr "Main program" + IL_0014: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0019: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001e: pop + IL_001f: ret + } + + .property class FSharp.Compiler.CodeAnalysis.FSharpSource + arg@1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class FSharp.Compiler.CodeAnalysis.FSharpSource FSharp.Compiler.CodeAnalysis.doit::get_arg@1() + } +}""" + ] + //|> withStdOutContainsAllInOrder [ + // "Main program" + //] + + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - private type - private ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type public FSharpSourcePublic () = + abstract PublicFilePath: string + +[] +type internal FSharpSource () = + inherit FSharpSourcePublic() + abstract InternalFilePath: string + +type private FSharpSourceFromFile private (filePath: string) = + inherit FSharpSource() + + override _.PublicFilePath = filePath + override _.InternalFilePath = filePath + member _.PrivateFilePath = filePath + +type FSharpSource with + + static member public PublicCreateFromFile (filePath: string) = () + static member internal InternalCreateFromFile (filePath: string) = () + static member private PrivateCreateFromFile (filePath: string) = () + +module doit = + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility - private type - unspecified ctor`` (realSig) = + + FSharp """ +namespace FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type private FSharpSourceFromFile (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +type FSharpSource with + + static member CreateFromFile (filePath: string) = + FSharpSourceFromFile(filePath) :> FSharpSource + +module doit = + FSharpSource.CreateFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility in module - public type - private ctor`` (realSig) = + + FSharp """ +module FSharp.Compiler.CodeAnalysis + +open System +open System.IO + + +[] +type FSharpSource () = + abstract FilePath: string + +type public FSharpSourceFromFile internal (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + +let createFromFile filePath = FSharpSourceFromFile (filePath) :> FSharpSource + +module doit = + createFromFile("Hello") |> ignore + printfn "Main program" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Main program" + ] + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility with computation expressions - private ctor`` (realSig) = + + FSharp """ +module FSharp.Compiler.CodeAnalysis + +open System +open System.IO + +type MyBuilder() = + member this.Bind(x, f) = f x + member this.Return(x) = x + +let my = new MyBuilder() + +[] +type FSharpSource () = + abstract FilePath: string + +type public FSharpSourceFromFile private (filePath: string) = + inherit FSharpSource() + + override _.FilePath = filePath + + static public MakeOne() = + my { + let! file = new FSharpSourceFromFile ("Hello, World") + return file + } + +let makeOne() = FSharpSourceFromFile.MakeOne() + +printfn $"{makeOne().FilePath}" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World" + ] + + [] // RealSig + [] // Regular + [] + let ``Class Type visibility with lazy nested module - private`` (realSig) = + + FSharp """ +module private TestReferences = + + [] + module NetStandard20 = + module Files = + let netStandard = lazy "Hello, World!!!" + +module doSomething = + printfn $"{TestReferences.NetStandard20.Files.netStandard.Value}" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World" + ] + + [] // RealSig + [] // Regular + [] + let ``module visibility - various`` (realSig) = + + FSharp """ +module outer_default = + printfn $"outer_outer_default" + +module public outer_public = + printfn $"outer_public" + +module internal outer_internal = + printfn $"outer_internal" + +module private outer_private = + printfn $"outer_private" + +module doSomething = + printfn "Hello, World!" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World" + ] + + + [] // RealSig + [] // Regular + [] + let ``module visibility - Datum`` (realSig) = + + FSharp """ +module Test6 + module internal HelperModule = + + type public Data = + private + { + Datum: int + } + + let internal handle (data:Data): int = data.Datum + + module public Module = + + type public Data = + private + { + Thing: HelperModule.Data + } + + let public getInt (data:Data): int = HelperModule.handle data.Thing + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> asLibrary + |> compile + |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs new file mode 100644 index 00000000000..5a9f6ac2865 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs @@ -0,0 +1,61 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module SeqExpressionSteppingRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withRealInternalSignatureOff + |> ignoreWarnings + |> verifyILBaseline + + //Retry SOURCE=SeqExpressionSteppingTest01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest1.exe" # SeqExpressionSteppingTest1.fs - + [] + let ``SeqExpressionSteppingTest01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest2.exe" # SeqExpressionSteppingTest2.fs - + [] + let ``SeqExpressionSteppingTest02_fs`` compilation = + compilation + |> verifyCompilation + + //SOURCE=SeqExpressionSteppingTest03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest3.exe" # SeqExpressionSteppingTest3.fs - + [] + let ``SeqExpressionSteppingTest03_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest4.exe" # SeqExpressionSteppingTest4.fs - + [] + let ``SeqExpressionSteppingTest04_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest05.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest5.exe" # SeqExpressionSteppingTest5.fs - + [] + let ``SeqExpressionSteppingTest05_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest06.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest6.exe" # SeqExpressionSteppingTest6.fs - + [] + let ``SeqExpressionSteppingTest06_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest07.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest7.exe" # SeqExpressionSteppingTest7.fs - + [] + let ``SeqExpressionSteppingTest07_fs`` compilation = + compilation + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionStepping.fs similarity index 95% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionStepping.fs index b11679b96a6..bd5e4548803 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionStepping.fs @@ -1,11 +1,11 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO open FSharp.Test open FSharp.Test.Compiler -module SeqExpressionStepping = +module SeqExpressionSteppingRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -14,6 +14,7 @@ module SeqExpressionStepping = |> withNoOptimize |> withEmbeddedPdb |> withEmbedAllSource + |> withRealInternalSignatureOn |> ignoreWarnings |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs new file mode 100644 index 00000000000..d0b9589d64f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs @@ -0,0 +1,8 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Sequences +module SeqExpressionSteppingTest1 // Regression test for FSHARP1.0:4058 +module SeqExpressionSteppingTest1 = + + let f0 () = + seq { yield 1 } + + let _ = f0()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs.il.bsl new file mode 100644 index 00000000000..4d2536d2b2e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs.il.bsl @@ -0,0 +1,263 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest1 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public SeqExpressionSteppingTest1 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname f0@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current + IL_000e: ldarg.0 + IL_000f: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0014: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_0017, + IL_001a) + IL_0015: br.s IL_001d + + IL_0017: nop + IL_0018: br.s IL_002e + + IL_001a: nop + IL_001b: br.s IL_0035 + + IL_001d: nop + IL_001e: ldarg.0 + IL_001f: ldc.i4.1 + IL_0020: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc + IL_0025: ldarg.0 + IL_0026: ldc.i4.1 + IL_0027: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current + IL_002c: ldc.i4.1 + IL_002d: ret + + IL_002e: ldarg.0 + IL_002f: ldc.i4.2 + IL_0030: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc + IL_0035: ldarg.0 + IL_0036: ldc.i4.0 + IL_0037: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current + IL_003c: ldc.i4.0 + IL_003d: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc + IL_0007: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc + IL_0006: switch ( + IL_0019, + IL_001c, + IL_001f) + IL_0017: br.s IL_0022 + + IL_0019: nop + IL_001a: br.s IL_0025 + + IL_001c: nop + IL_001d: br.s IL_0023 + + IL_001f: nop + IL_0020: br.s IL_0025 + + IL_0022: nop + IL_0023: ldc.i4.0 + IL_0024: ret + + IL_0025: ldc.i4.0 + IL_0026: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ldc.i4.0 + IL_0002: newobj instance void SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::.ctor(int32, + int32) + IL_0007: ret + } + + } + + .method public static class [runtime]System.Collections.Generic.IEnumerable`1 f0() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ldc.i4.0 + IL_0002: newobj instance void SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::.ctor(int32, + int32) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest1::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest1::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) + IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1::f0() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest1::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest1::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest1/SeqExpressionSteppingTest1::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest1 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest1::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs new file mode 100644 index 00000000000..b78badf05dc --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs @@ -0,0 +1,10 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Sequences +module SeqExpressionSteppingTest2 // Regression test for FSHARP1.0:4058 +module SeqExpressionSteppingTest2 = + let f1 () = + seq { printfn "hello" + yield 1 + printfn "goodbye" + yield 2 } + + let _ = f1()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs.il.bsl new file mode 100644 index 00000000000..21eb5bfba91 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs.il.bsl @@ -0,0 +1,291 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest2 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public SeqExpressionSteppingTest2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname f1@5 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current + IL_000e: ldarg.0 + IL_000f: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0014: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0021) + IL_0019: br.s IL_0024 + + IL_001b: nop + IL_001c: br.s IL_0045 + + IL_001e: nop + IL_001f: br.s IL_0065 + + IL_0021: nop + IL_0022: br.s IL_006c + + IL_0024: nop + IL_0025: ldstr "hello" + IL_002a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_002f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0034: pop + IL_0035: ldarg.0 + IL_0036: ldc.i4.1 + IL_0037: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc + IL_003c: ldarg.0 + IL_003d: ldc.i4.1 + IL_003e: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldstr "goodbye" + IL_004a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_004f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0054: pop + IL_0055: ldarg.0 + IL_0056: ldc.i4.2 + IL_0057: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc + IL_005c: ldarg.0 + IL_005d: ldc.i4.2 + IL_005e: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current + IL_0063: ldc.i4.1 + IL_0064: ret + + IL_0065: ldarg.0 + IL_0066: ldc.i4.3 + IL_0067: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc + IL_006c: ldarg.0 + IL_006d: ldc.i4.0 + IL_006e: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current + IL_0073: ldc.i4.0 + IL_0074: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc + IL_0007: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.0 + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ldc.i4.0 + IL_0002: newobj instance void SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::.ctor(int32, + int32) + IL_0007: ret + } + + } + + .method public static class [runtime]System.Collections.Generic.IEnumerable`1 f1() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: ldc.i4.0 + IL_0002: newobj instance void SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::.ctor(int32, + int32) + IL_0007: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest2::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest2::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) + IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2::f1() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest2::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest2::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest2/SeqExpressionSteppingTest2::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest2 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest2::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs new file mode 100644 index 00000000000..c32385c071e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs @@ -0,0 +1,13 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Sequences +module SeqExpressionSteppingTest3 // Regression test for FSHARP1.0:4058 +module SeqExpressionSteppingTest3 = + let f2 () = + let mutable x = 0 + seq { + while x < 4 do + x <- x + 1 + printfn "hello" + yield x + } + + let _ = f2()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs.il.bsl new file mode 100644 index 00000000000..a11ee38e685 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs.il.bsl @@ -0,0 +1,299 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest3 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public SeqExpressionSteppingTest3 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname f2@7 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current + IL_0015: ldarg.0 + IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_001b: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_0017, + IL_001a) + IL_0015: br.s IL_001d + + IL_0017: nop + IL_0018: br.s IL_0062 + + IL_001a: nop + IL_001b: br.s IL_0077 + + IL_001d: nop + IL_001e: br.s IL_0062 + + IL_0020: ldarg.0 + IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x + IL_0026: ldarg.0 + IL_0027: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x + IL_002c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0031: ldc.i4.1 + IL_0032: add + IL_0033: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_0038: ldstr "hello" + IL_003d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0042: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0047: pop + IL_0048: ldarg.0 + IL_0049: ldc.i4.1 + IL_004a: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc + IL_004f: ldarg.0 + IL_0050: ldarg.0 + IL_0051: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x + IL_0056: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_005b: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current + IL_0060: ldc.i4.1 + IL_0061: ret + + IL_0062: ldarg.0 + IL_0063: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x + IL_0068: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_006d: ldc.i4.4 + IL_006e: blt.s IL_0020 + + IL_0070: ldarg.0 + IL_0071: ldc.i4.2 + IL_0072: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc + IL_0077: ldarg.0 + IL_0078: ldc.i4.0 + IL_0079: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current + IL_007e: ldc.i4.0 + IL_007f: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc + IL_0007: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc + IL_0006: switch ( + IL_0019, + IL_001c, + IL_001f) + IL_0017: br.s IL_0022 + + IL_0019: nop + IL_001a: br.s IL_0025 + + IL_001c: nop + IL_001d: br.s IL_0023 + + IL_001f: nop + IL_0020: br.s IL_0025 + + IL_0022: nop + IL_0023: ldc.i4.0 + IL_0024: ret + + IL_0025: ldc.i4.0 + IL_0026: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x + IL_0006: ldc.i4.0 + IL_0007: ldc.i4.0 + IL_0008: newobj instance void SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + int32, + int32) + IL_000d: ret + } + + } + + .method public static class [runtime]System.Collections.Generic.IEnumerable`1 f2() cil managed + { + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0) + IL_0000: ldc.i4.0 + IL_0001: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldc.i4.0 + IL_0009: ldc.i4.0 + IL_000a: newobj instance void SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + int32, + int32) + IL_000f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest3::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest3::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) + IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3::f2() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest3::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest3::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest3/SeqExpressionSteppingTest3::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest3 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest3::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs new file mode 100644 index 00000000000..88140eb7691 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs @@ -0,0 +1,15 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Sequences +module SeqExpressionSteppingTest4 // Regression test for FSHARP1.0:4058 +module SeqExpressionSteppingTest4 = + let f3 () = + seq { + let mutable x = 0 + x <- x + 1 + let mutable y = 0 + y <- y + 1 + yield x + let mutable z = x + y + yield z + } + + let _ = f3()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs.il.bsl new file mode 100644 index 00000000000..ee137e733a2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs.il.bsl @@ -0,0 +1,342 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest4 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public SeqExpressionSteppingTest4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname f3@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y, + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001b, + IL_001e, + IL_0024) + IL_0019: br.s IL_002a + + IL_001b: nop + IL_001c: br.s IL_008d + + IL_001e: nop + IL_001f: br IL_00b5 + + IL_0024: nop + IL_0025: br IL_00ca + + IL_002a: nop + IL_002b: ldarg.0 + IL_002c: ldc.i4.0 + IL_002d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0032: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x + IL_0037: ldarg.0 + IL_0038: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x + IL_003d: ldarg.0 + IL_003e: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x + IL_0043: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0048: ldc.i4.1 + IL_0049: add + IL_004a: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_004f: ldarg.0 + IL_0050: ldc.i4.0 + IL_0051: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0056: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y + IL_005b: ldarg.0 + IL_005c: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y + IL_0061: ldarg.0 + IL_0062: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y + IL_0067: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_006c: ldc.i4.1 + IL_006d: add + IL_006e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_0073: ldarg.0 + IL_0074: ldc.i4.1 + IL_0075: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc + IL_007a: ldarg.0 + IL_007b: ldarg.0 + IL_007c: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x + IL_0081: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0086: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current + IL_008b: ldc.i4.1 + IL_008c: ret + + IL_008d: ldarg.0 + IL_008e: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x + IL_0093: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0098: ldarg.0 + IL_0099: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y + IL_009e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_00a3: add + IL_00a4: stloc.0 + IL_00a5: ldarg.0 + IL_00a6: ldc.i4.2 + IL_00a7: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc + IL_00ac: ldarg.0 + IL_00ad: ldloc.0 + IL_00ae: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current + IL_00b3: ldc.i4.1 + IL_00b4: ret + + IL_00b5: ldarg.0 + IL_00b6: ldnull + IL_00b7: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y + IL_00bc: ldarg.0 + IL_00bd: ldnull + IL_00be: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x + IL_00c3: ldarg.0 + IL_00c4: ldc.i4.3 + IL_00c5: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc + IL_00ca: ldarg.0 + IL_00cb: ldc.i4.0 + IL_00cc: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current + IL_00d1: ldc.i4.0 + IL_00d2: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc + IL_0007: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc + IL_0006: switch ( + IL_001d, + IL_0020, + IL_0023, + IL_0026) + IL_001b: br.s IL_0029 + + IL_001d: nop + IL_001e: br.s IL_002e + + IL_0020: nop + IL_0021: br.s IL_002c + + IL_0023: nop + IL_0024: br.s IL_002a + + IL_0026: nop + IL_0027: br.s IL_002e + + IL_0029: nop + IL_002a: ldc.i4.0 + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldnull + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: newobj instance void SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + int32, + int32) + IL_0009: ret + } + + } + + .method public static class [runtime]System.Collections.Generic.IEnumerable`1 f3() cil managed + { + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldnull + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: newobj instance void SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + int32, + int32) + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest4::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest4::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) + IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4::f3() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest4::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest4::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest4/SeqExpressionSteppingTest4::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest4 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest4::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs new file mode 100644 index 00000000000..cad7a56c0c5 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs @@ -0,0 +1,18 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Sequences +module SeqExpressionSteppingTest5 // Regression test for FSHARP1.0:4058 +module SeqExpressionSteppingTest5 = + let f4 () = + seq { + let mutable x = 0 + try + let mutable y = 0 + y <- y + 1 + yield x + let z = x + y + yield z + finally + x <- x + 1 + printfn "done" + } + + let _ = f4()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs.il.bsl new file mode 100644 index 00000000000..246b86af987 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs.il.bsl @@ -0,0 +1,449 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest5 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public SeqExpressionSteppingTest5 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname f4@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y, + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_001f, + IL_0025, + IL_0028, + IL_002e) + IL_001d: br.s IL_0034 + + IL_001f: nop + IL_0020: br IL_00b5 + + IL_0025: nop + IL_0026: br.s IL_0086 + + IL_0028: nop + IL_0029: br IL_00ae + + IL_002e: nop + IL_002f: br IL_00f2 + + IL_0034: nop + IL_0035: ldarg.0 + IL_0036: ldc.i4.0 + IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_003c: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_0041: ldarg.0 + IL_0042: ldc.i4.1 + IL_0043: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0048: ldarg.0 + IL_0049: ldc.i4.0 + IL_004a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_004f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y + IL_0054: ldarg.0 + IL_0055: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y + IL_005a: ldarg.0 + IL_005b: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y + IL_0060: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0065: ldc.i4.1 + IL_0066: add + IL_0067: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_006c: ldarg.0 + IL_006d: ldc.i4.2 + IL_006e: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0073: ldarg.0 + IL_0074: ldarg.0 + IL_0075: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_007a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_007f: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current + IL_0084: ldc.i4.1 + IL_0085: ret + + IL_0086: ldarg.0 + IL_0087: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_008c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0091: ldarg.0 + IL_0092: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y + IL_0097: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_009c: add + IL_009d: stloc.0 + IL_009e: ldarg.0 + IL_009f: ldc.i4.3 + IL_00a0: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_00a5: ldarg.0 + IL_00a6: ldloc.0 + IL_00a7: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current + IL_00ac: ldc.i4.1 + IL_00ad: ret + + IL_00ae: ldarg.0 + IL_00af: ldnull + IL_00b0: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y + IL_00b5: ldarg.0 + IL_00b6: ldc.i4.4 + IL_00b7: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_00bc: ldarg.0 + IL_00bd: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_00c2: ldarg.0 + IL_00c3: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_00c8: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_00cd: ldc.i4.1 + IL_00ce: add + IL_00cf: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_00d4: ldstr "done" + IL_00d9: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_00de: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00e3: pop + IL_00e4: ldarg.0 + IL_00e5: ldnull + IL_00e6: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_00eb: ldarg.0 + IL_00ec: ldc.i4.4 + IL_00ed: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_00f2: ldarg.0 + IL_00f3: ldc.i4.0 + IL_00f4: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current + IL_00f9: ldc.i4.0 + IL_00fa: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 7 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0006: ldc.i4.4 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0019 + + IL_0013: nop + IL_0014: br IL_009f + + IL_0019: nop + .try + { + IL_001a: ldarg.0 + IL_001b: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0020: switch ( + IL_003b, + IL_003e, + IL_0041, + IL_0044, + IL_0047) + IL_0039: br.s IL_004a + + IL_003b: nop + IL_003c: br.s IL_007f + + IL_003e: nop + IL_003f: br.s IL_004f + + IL_0041: nop + IL_0042: br.s IL_004e + + IL_0044: nop + IL_0045: br.s IL_004b + + IL_0047: nop + IL_0048: br.s IL_007f + + IL_004a: nop + IL_004b: nop + IL_004c: br.s IL_004f + + IL_004e: nop + IL_004f: ldarg.0 + IL_0050: ldc.i4.4 + IL_0051: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0056: ldarg.0 + IL_0057: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_005c: ldarg.0 + IL_005d: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x + IL_0062: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0067: ldc.i4.1 + IL_0068: add + IL_0069: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_006e: ldstr "done" + IL_0073: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0078: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_007d: pop + IL_007e: nop + IL_007f: ldarg.0 + IL_0080: ldc.i4.4 + IL_0081: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0086: ldarg.0 + IL_0087: ldc.i4.0 + IL_0088: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current + IL_008d: leave.s IL_0099 + + } + catch [runtime]System.Object + { + IL_008f: castclass [runtime]System.Exception + IL_0094: stloc.1 + IL_0095: ldloc.1 + IL_0096: stloc.0 + IL_0097: leave.s IL_0099 + + } + IL_0099: nop + IL_009a: br IL_0000 + + IL_009f: ldloc.0 + IL_00a0: brfalse.s IL_00a4 + + IL_00a2: ldloc.0 + IL_00a3: throw + + IL_00a4: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc + IL_0006: switch ( + IL_0021, + IL_0024, + IL_0027, + IL_002a, + IL_002d) + IL_001f: br.s IL_0030 + + IL_0021: nop + IL_0022: br.s IL_0037 + + IL_0024: nop + IL_0025: br.s IL_0035 + + IL_0027: nop + IL_0028: br.s IL_0033 + + IL_002a: nop + IL_002b: br.s IL_0031 + + IL_002d: nop + IL_002e: br.s IL_0037 + + IL_0030: nop + IL_0031: ldc.i4.1 + IL_0032: ret + + IL_0033: ldc.i4.1 + IL_0034: ret + + IL_0035: ldc.i4.1 + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldnull + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: newobj instance void SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + int32, + int32) + IL_0009: ret + } + + } + + .method public static class [runtime]System.Collections.Generic.IEnumerable`1 f4() cil managed + { + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldnull + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: newobj instance void SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, + int32, + int32) + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest5::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest5::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) + IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5::f4() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000c: pop + IL_000d: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest5::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest5::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest5/SeqExpressionSteppingTest5::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest5 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest5::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs new file mode 100644 index 00000000000..225694e0359 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs @@ -0,0 +1,15 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Sequences +module SeqExpressionSteppingTest6 // Regression test for FSHARP1.0:4058 +module SeqExpressionSteppingTest6 = + let es = [1;2;3] + let f7 () = + seq { for x in es do + printfn "hello" + yield x + for x in es do + printfn "goodbye" + yield x } + + let _ = f7() |> Seq.length + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs.il.bsl new file mode 100644 index 00000000000..0558f9c4ea1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs.il.bsl @@ -0,0 +1,512 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest6 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public SeqExpressionSteppingTest6 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname f7@6 + extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [runtime]System.Collections.Generic.IEnumerator`1 enum0 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 pc + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public int32 current + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', + class [runtime]System.Collections.Generic.IEnumerator`1 enum0, + int32 pc, + int32 current) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' + IL_0007: ldarg.0 + IL_0008: ldarg.2 + IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 + IL_000e: ldarg.0 + IL_000f: ldarg.3 + IL_0010: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0015: ldarg.0 + IL_0016: ldarg.s current + IL_0018: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current + IL_001d: ldarg.0 + IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() + IL_0023: ret + } + + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0006: ldc.i4.1 + IL_0007: sub + IL_0008: switch ( + IL_0023, + IL_0026, + IL_0029, + IL_002f, + IL_0035) + IL_0021: br.s IL_003b + + IL_0023: nop + IL_0024: br.s IL_008e + + IL_0026: nop + IL_0027: br.s IL_0081 + + IL_0029: nop + IL_002a: br IL_00fa + + IL_002f: nop + IL_0030: br IL_00ed + + IL_0035: nop + IL_0036: br IL_011b + + IL_003b: nop + IL_003c: ldarg.0 + IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::get_es() + IL_0042: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0047: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' + IL_004c: ldarg.0 + IL_004d: ldc.i4.1 + IL_004e: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0053: br.s IL_0081 + + IL_0055: ldarg.0 + IL_0056: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' + IL_005b: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0060: stloc.0 + IL_0061: ldstr "hello" + IL_0066: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_006b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0070: pop + IL_0071: ldarg.0 + IL_0072: ldc.i4.2 + IL_0073: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0078: ldarg.0 + IL_0079: ldloc.0 + IL_007a: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current + IL_007f: ldc.i4.1 + IL_0080: ret + + IL_0081: ldarg.0 + IL_0082: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' + IL_0087: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_008c: brtrue.s IL_0055 + + IL_008e: ldarg.0 + IL_008f: ldc.i4.5 + IL_0090: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0095: ldarg.0 + IL_0096: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' + IL_009b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_00a0: nop + IL_00a1: ldarg.0 + IL_00a2: ldnull + IL_00a3: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' + IL_00a8: ldarg.0 + IL_00a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::get_es() + IL_00ae: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_00b3: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 + IL_00b8: ldarg.0 + IL_00b9: ldc.i4.3 + IL_00ba: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_00bf: br.s IL_00ed + + IL_00c1: ldarg.0 + IL_00c2: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 + IL_00c7: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_00cc: stloc.1 + IL_00cd: ldstr "goodbye" + IL_00d2: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_00d7: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00dc: pop + IL_00dd: ldarg.0 + IL_00de: ldc.i4.4 + IL_00df: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_00e4: ldarg.0 + IL_00e5: ldloc.1 + IL_00e6: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current + IL_00eb: ldc.i4.1 + IL_00ec: ret + + IL_00ed: ldarg.0 + IL_00ee: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 + IL_00f3: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_00f8: brtrue.s IL_00c1 + + IL_00fa: ldarg.0 + IL_00fb: ldc.i4.5 + IL_00fc: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0101: ldarg.0 + IL_0102: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 + IL_0107: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_010c: nop + IL_010d: ldarg.0 + IL_010e: ldnull + IL_010f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 + IL_0114: ldarg.0 + IL_0115: ldc.i4.5 + IL_0116: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_011b: ldarg.0 + IL_011c: ldc.i4.0 + IL_011d: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current + IL_0122: ldc.i4.0 + IL_0123: ret + } + + .method public strict virtual instance void Close() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1) + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0006: ldc.i4.5 + IL_0007: sub + IL_0008: switch ( + IL_0013) + IL_0011: br.s IL_0019 + + IL_0013: nop + IL_0014: br IL_009e + + IL_0019: nop + .try + { + IL_001a: ldarg.0 + IL_001b: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0020: switch ( + IL_003f, + IL_0042, + IL_0045, + IL_0048, + IL_004b, + IL_004e) + IL_003d: br.s IL_0051 + + IL_003f: nop + IL_0040: br.s IL_007e + + IL_0042: nop + IL_0043: br.s IL_006a + + IL_0045: nop + IL_0046: br.s IL_0069 + + IL_0048: nop + IL_0049: br.s IL_0053 + + IL_004b: nop + IL_004c: br.s IL_0052 + + IL_004e: nop + IL_004f: br.s IL_007e + + IL_0051: nop + IL_0052: nop + IL_0053: ldarg.0 + IL_0054: ldc.i4.5 + IL_0055: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_005a: ldarg.0 + IL_005b: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 + IL_0060: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_0065: nop + IL_0066: nop + IL_0067: br.s IL_007e + + IL_0069: nop + IL_006a: ldarg.0 + IL_006b: ldc.i4.5 + IL_006c: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0071: ldarg.0 + IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' + IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) + IL_007c: nop + IL_007d: nop + IL_007e: ldarg.0 + IL_007f: ldc.i4.5 + IL_0080: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0085: ldarg.0 + IL_0086: ldc.i4.0 + IL_0087: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current + IL_008c: leave.s IL_0098 + + } + catch [runtime]System.Object + { + IL_008e: castclass [runtime]System.Exception + IL_0093: stloc.1 + IL_0094: ldloc.1 + IL_0095: stloc.0 + IL_0096: leave.s IL_0098 + + } + IL_0098: nop + IL_0099: br IL_0000 + + IL_009e: ldloc.0 + IL_009f: brfalse.s IL_00a3 + + IL_00a1: ldloc.0 + IL_00a2: throw + + IL_00a3: ret + } + + .method public strict virtual instance bool get_CheckClose() cil managed + { + + .maxstack 5 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc + IL_0006: switch ( + IL_0025, + IL_0028, + IL_002b, + IL_002e, + IL_0031, + IL_0034) + IL_0023: br.s IL_0037 + + IL_0025: nop + IL_0026: br.s IL_0040 + + IL_0028: nop + IL_0029: br.s IL_003e + + IL_002b: nop + IL_002c: br.s IL_003c + + IL_002e: nop + IL_002f: br.s IL_003a + + IL_0031: nop + IL_0032: br.s IL_0038 + + IL_0034: nop + IL_0035: br.s IL_0040 + + IL_0037: nop + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldc.i4.1 + IL_003b: ret + + IL_003c: ldc.i4.1 + IL_003d: ret + + IL_003e: ldc.i4.1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public strict virtual instance int32 get_LastGenerated() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current + IL_0006: ret + } + + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 GetFreshEnumerator() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldnull + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: newobj instance void SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0009: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_es() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::es@4 + IL_0005: ret + } + + .method public static class [runtime]System.Collections.Generic.IEnumerable`1 f7() cil managed + { + + .maxstack 8 + IL_0000: ldnull + IL_0001: ldnull + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: newobj instance void SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, + class [runtime]System.Collections.Generic.IEnumerator`1, + int32, + int32) + IL_0009: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest6::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest6::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::es@4 + IL_001c: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::f7() + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0028: pop + IL_0029: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + es() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::get_es() + } + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest6::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest6::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest6 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest6::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs new file mode 100644 index 00000000000..8a4d7cc8e15 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs @@ -0,0 +1,75 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Sequences +module SeqExpressionSteppingTest7 // Regression test for FSHARP1.0:4454 +// "Stepping into sequence expression pops up a dialog trying to located an unknown file" +let mutable r = 0 +let f () = [ if (r <- r + 1; true) then yield! failwith "" ] +printfn "res = %A" (try f () with Failure _ -> [r]) + + +let testSimpleForEachSeqLoopWithOneStatement inp = + for x in inp do + System.Console.WriteLine("{0}", x) + +let testSimpleForEachSeqLoopWithTwoStatements inp = + for x in inp do + System.Console.WriteLine("{0}", x) + System.Console.WriteLine("{0}", x) + +let testSimpleForEachArrayLoopWithOneStatement (inp:int array) = + for x in inp do + System.Console.WriteLine("{0}", x) + +let testSimpleForEachArrayLoopWithTwoStatements (inp:int array) = + for x in inp do + System.Console.WriteLine("{0}", x) + System.Console.WriteLine("{0}", x) + +let testSimpleForEachListLoopWithOneStatement (inp:int list) = + for x in inp do + System.Console.WriteLine("{0}", x) + +let testSimpleForEachListLoopWithTwoStatements (inp:int list) = + for x in inp do + System.Console.WriteLine("{0}", x) + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntRangeLoopWithOneStatement (start, stop) = + for x in start .. stop do + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntRangeLoopWithTwoStatements (start, stop) = + for x in start .. stop do + System.Console.WriteLine("{0}", x) + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntRangeLoopDownWithOneStatement (start, stop) = + for x in start .. -1 .. stop do + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntRangeLoopDownWithTwoStatements (start, stop) = + for x in start .. -1 .. stop do + System.Console.WriteLine("{0}", x) + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntLoopWithOneStatement (start, stop) = + for x = start to stop do + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntLoopWithTwoStatements (start, stop) = + for x = start to stop do + System.Console.WriteLine("{0}", x) + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntLoopDownWithOneStatement (start, stop) = + for x = stop downto start do + System.Console.WriteLine("{0}", x) + +let testSimpleForEachIntLoopDownWithTwoStatements (start, stop) = + for x = stop downto start do + System.Console.WriteLine("{0}", x) + System.Console.WriteLine("{0}", x) + +let ListExpressionSteppingTest7 () = + [ for x in 1..4 do + printfn "hello" + yield x ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..a9c75cd06b9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl @@ -0,0 +1,830 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32 r@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0005: ret + } + + .method public specialname static void set_r(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + string V_1) + IL_0000: nop + IL_0001: nop + IL_0002: call int32 SeqExpressionSteppingTest7::get_r() + IL_0007: ldc.i4.1 + IL_0008: add + IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) + IL_000e: ldc.i4.1 + IL_000f: brfalse.s IL_0034 + + IL_0011: ldstr "" + IL_0016: stloc.1 + IL_0017: ldloca.s V_0 + IL_0019: ldc.i4.0 + IL_001a: brfalse.s IL_0024 + + IL_001c: ldnull + IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 + IL_0022: br.s IL_002b + + IL_0024: ldloc.1 + IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_002a: throw + + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0030: nop + IL_0031: nop + IL_0032: br.s IL_0035 + + IL_0034: nop + IL_0035: ldloca.s V_0 + IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_003c: ret + } + + .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_001d + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldloc.1 + IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0023: brtrue.s IL_000b + + IL_0025: leave.s IL_0039 + + } + finally + { + IL_0027: ldloc.1 + IL_0028: isinst [runtime]System.IDisposable + IL_002d: stloc.3 + IL_002e: ldloc.3 + IL_002f: brfalse.s IL_0038 + + IL_0031: ldloc.3 + IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0037: endfinally + IL_0038: endfinally + } + IL_0039: ret + } + + .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_0028 + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldstr "{0}" + IL_0022: ldloc.2 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_0028: ldloc.1 + IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002e: brtrue.s IL_000b + + IL_0030: leave.s IL_0044 + + } + finally + { + IL_0032: ldloc.1 + IL_0033: isinst [runtime]System.IDisposable + IL_0038: stloc.3 + IL_0039: ldloc.3 + IL_003a: brfalse.s IL_0043 + + IL_003c: ldloc.3 + IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0042: endfinally + IL_0043: endfinally + } + IL_0044: ret + } + + .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0022 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldloc.1 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldloc.0 + IL_0024: ldlen + IL_0025: conv.i4 + IL_0026: blt.s IL_0006 + + IL_0028: ret + } + + .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0032 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldstr "{0}" + IL_0023: ldloc.2 + IL_0024: box [runtime]System.Int32 + IL_0029: call void [runtime]System.Console::WriteLine(string, + object) + IL_002e: ldloc.1 + IL_002f: ldc.i4.1 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.1 + IL_0033: ldloc.0 + IL_0034: ldlen + IL_0035: conv.i4 + IL_0036: blt.s IL_0006 + + IL_0038: ret + } + + .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_002b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldloc.1 + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002a: stloc.1 + IL_002b: ldloc.1 + IL_002c: brtrue.s IL_000b + + IL_002e: ret + } + + .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_003b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldstr "{0}" + IL_0027: ldloc.2 + IL_0028: box [runtime]System.Int32 + IL_002d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0032: ldloc.1 + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.1 + IL_003b: ldloc.1 + IL_003c: brtrue.s IL_000b + + IL_003e: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0029 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldloc.1 + IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002f: brtrue.s IL_0012 + + IL_0031: leave.s IL_0045 + + } + finally + { + IL_0033: ldloc.1 + IL_0034: isinst [runtime]System.IDisposable + IL_0039: stloc.3 + IL_003a: ldloc.3 + IL_003b: brfalse.s IL_0044 + + IL_003d: ldloc.3 + IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0043: endfinally + IL_0044: endfinally + } + IL_0045: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0039 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldstr "{0}" + IL_002e: ldloc.2 + IL_002f: box [runtime]System.Int32 + IL_0034: call void [runtime]System.Console::WriteLine(string, + object) + IL_0039: ldloc.1 + IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_003f: brtrue.s IL_0012 + + IL_0041: leave.s IL_0055 + + } + finally + { + IL_0043: ldloc.1 + IL_0044: isinst [runtime]System.IDisposable + IL_0049: stloc.3 + IL_004a: ldloc.3 + IL_004b: brfalse.s IL_0054 + + IL_004d: ldloc.3 + IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0053: endfinally + IL_0054: endfinally + } + IL_0055: ret + } + + .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: sub + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: sub + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: sub + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: sub + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest7() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + int32 V_3, + class [runtime]System.IDisposable V_4) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.4 + IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000e: stloc.1 + .try + { + IL_000f: br.s IL_0031 + + IL_0011: ldloc.1 + IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0017: stloc.3 + IL_0018: ldstr "hello" + IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0027: pop + IL_0028: ldloca.s V_0 + IL_002a: ldloc.3 + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0030: nop + IL_0031: ldloc.1 + IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0037: brtrue.s IL_0011 + + IL_0039: ldnull + IL_003a: stloc.2 + IL_003b: leave.s IL_0052 + + } + finally + { + IL_003d: ldloc.1 + IL_003e: isinst [runtime]System.IDisposable + IL_0043: stloc.s V_4 + IL_0045: ldloc.s V_4 + IL_0047: brfalse.s IL_0051 + + IL_0049: ldloc.s V_4 + IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0050: endfinally + IL_0051: endfinally + } + IL_0052: ldloc.2 + IL_0053: pop + IL_0054: ldloca.s V_0 + IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_005b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [runtime]System.Exception V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ldstr "res = %A" + IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0015: stloc.0 + .try + { + IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() + IL_001b: stloc.1 + IL_001c: leave.s IL_004b + + } + catch [runtime]System.Object + { + IL_001e: castclass [runtime]System.Exception + IL_0023: stloc.2 + IL_0024: ldloc.2 + IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) + IL_002a: stloc.3 + IL_002b: ldloc.3 + IL_002c: brfalse.s IL_0040 + + IL_002e: call int32 SeqExpressionSteppingTest7::get_r() + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: stloc.1 + IL_003e: leave.s IL_004b + + IL_0040: rethrow + IL_0042: ldnull + IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + IL_0048: stloc.1 + IL_0049: leave.s IL_004b + + } + IL_004b: ldloc.0 + IL_004c: ldloc.1 + IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0052: pop + IL_0053: ret + } + + .property int32 r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void SeqExpressionSteppingTest7::set_r(int32) + .get int32 SeqExpressionSteppingTest7::get_r() + } +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest7::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.release.bsl new file mode 100644 index 00000000000..a9c75cd06b9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.release.bsl @@ -0,0 +1,830 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32 r@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0005: ret + } + + .method public specialname static void set_r(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + string V_1) + IL_0000: nop + IL_0001: nop + IL_0002: call int32 SeqExpressionSteppingTest7::get_r() + IL_0007: ldc.i4.1 + IL_0008: add + IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) + IL_000e: ldc.i4.1 + IL_000f: brfalse.s IL_0034 + + IL_0011: ldstr "" + IL_0016: stloc.1 + IL_0017: ldloca.s V_0 + IL_0019: ldc.i4.0 + IL_001a: brfalse.s IL_0024 + + IL_001c: ldnull + IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 + IL_0022: br.s IL_002b + + IL_0024: ldloc.1 + IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_002a: throw + + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0030: nop + IL_0031: nop + IL_0032: br.s IL_0035 + + IL_0034: nop + IL_0035: ldloca.s V_0 + IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_003c: ret + } + + .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_001d + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldloc.1 + IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0023: brtrue.s IL_000b + + IL_0025: leave.s IL_0039 + + } + finally + { + IL_0027: ldloc.1 + IL_0028: isinst [runtime]System.IDisposable + IL_002d: stloc.3 + IL_002e: ldloc.3 + IL_002f: brfalse.s IL_0038 + + IL_0031: ldloc.3 + IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0037: endfinally + IL_0038: endfinally + } + IL_0039: ret + } + + .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_0028 + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldstr "{0}" + IL_0022: ldloc.2 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_0028: ldloc.1 + IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002e: brtrue.s IL_000b + + IL_0030: leave.s IL_0044 + + } + finally + { + IL_0032: ldloc.1 + IL_0033: isinst [runtime]System.IDisposable + IL_0038: stloc.3 + IL_0039: ldloc.3 + IL_003a: brfalse.s IL_0043 + + IL_003c: ldloc.3 + IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0042: endfinally + IL_0043: endfinally + } + IL_0044: ret + } + + .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0022 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldloc.1 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldloc.0 + IL_0024: ldlen + IL_0025: conv.i4 + IL_0026: blt.s IL_0006 + + IL_0028: ret + } + + .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0032 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldstr "{0}" + IL_0023: ldloc.2 + IL_0024: box [runtime]System.Int32 + IL_0029: call void [runtime]System.Console::WriteLine(string, + object) + IL_002e: ldloc.1 + IL_002f: ldc.i4.1 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.1 + IL_0033: ldloc.0 + IL_0034: ldlen + IL_0035: conv.i4 + IL_0036: blt.s IL_0006 + + IL_0038: ret + } + + .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_002b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldloc.1 + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002a: stloc.1 + IL_002b: ldloc.1 + IL_002c: brtrue.s IL_000b + + IL_002e: ret + } + + .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_003b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldstr "{0}" + IL_0027: ldloc.2 + IL_0028: box [runtime]System.Int32 + IL_002d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0032: ldloc.1 + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.1 + IL_003b: ldloc.1 + IL_003c: brtrue.s IL_000b + + IL_003e: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0029 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldloc.1 + IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002f: brtrue.s IL_0012 + + IL_0031: leave.s IL_0045 + + } + finally + { + IL_0033: ldloc.1 + IL_0034: isinst [runtime]System.IDisposable + IL_0039: stloc.3 + IL_003a: ldloc.3 + IL_003b: brfalse.s IL_0044 + + IL_003d: ldloc.3 + IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0043: endfinally + IL_0044: endfinally + } + IL_0045: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0039 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldstr "{0}" + IL_002e: ldloc.2 + IL_002f: box [runtime]System.Int32 + IL_0034: call void [runtime]System.Console::WriteLine(string, + object) + IL_0039: ldloc.1 + IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_003f: brtrue.s IL_0012 + + IL_0041: leave.s IL_0055 + + } + finally + { + IL_0043: ldloc.1 + IL_0044: isinst [runtime]System.IDisposable + IL_0049: stloc.3 + IL_004a: ldloc.3 + IL_004b: brfalse.s IL_0054 + + IL_004d: ldloc.3 + IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0053: endfinally + IL_0054: endfinally + } + IL_0055: ret + } + + .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: sub + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: sub + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: sub + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: sub + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest7() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + int32 V_3, + class [runtime]System.IDisposable V_4) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.4 + IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000e: stloc.1 + .try + { + IL_000f: br.s IL_0031 + + IL_0011: ldloc.1 + IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0017: stloc.3 + IL_0018: ldstr "hello" + IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0027: pop + IL_0028: ldloca.s V_0 + IL_002a: ldloc.3 + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0030: nop + IL_0031: ldloc.1 + IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0037: brtrue.s IL_0011 + + IL_0039: ldnull + IL_003a: stloc.2 + IL_003b: leave.s IL_0052 + + } + finally + { + IL_003d: ldloc.1 + IL_003e: isinst [runtime]System.IDisposable + IL_0043: stloc.s V_4 + IL_0045: ldloc.s V_4 + IL_0047: brfalse.s IL_0051 + + IL_0049: ldloc.s V_4 + IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0050: endfinally + IL_0051: endfinally + } + IL_0052: ldloc.2 + IL_0053: pop + IL_0054: ldloca.s V_0 + IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_005b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [runtime]System.Exception V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ldstr "res = %A" + IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0015: stloc.0 + .try + { + IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() + IL_001b: stloc.1 + IL_001c: leave.s IL_004b + + } + catch [runtime]System.Object + { + IL_001e: castclass [runtime]System.Exception + IL_0023: stloc.2 + IL_0024: ldloc.2 + IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) + IL_002a: stloc.3 + IL_002b: ldloc.3 + IL_002c: brfalse.s IL_0040 + + IL_002e: call int32 SeqExpressionSteppingTest7::get_r() + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: stloc.1 + IL_003e: leave.s IL_004b + + IL_0040: rethrow + IL_0042: ldnull + IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + IL_0048: stloc.1 + IL_0049: leave.s IL_004b + + } + IL_004b: ldloc.0 + IL_004c: ldloc.1 + IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0052: pop + IL_0053: ret + } + + .property int32 r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void SeqExpressionSteppingTest7::set_r(int32) + .get int32 SeqExpressionSteppingTest7::get_r() + } +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest7::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..33cb4361953 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl @@ -0,0 +1,831 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32 r@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0005: ret + } + + .method public specialname static void set_r(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + string V_1) + IL_0000: nop + IL_0001: nop + IL_0002: call int32 SeqExpressionSteppingTest7::get_r() + IL_0007: ldc.i4.1 + IL_0008: add + IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) + IL_000e: ldc.i4.1 + IL_000f: brfalse.s IL_0034 + + IL_0011: ldstr "" + IL_0016: stloc.1 + IL_0017: ldloca.s V_0 + IL_0019: ldc.i4.0 + IL_001a: brfalse.s IL_0024 + + IL_001c: ldnull + IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 + IL_0022: br.s IL_002b + + IL_0024: ldloc.1 + IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_002a: throw + + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0030: nop + IL_0031: nop + IL_0032: br.s IL_0035 + + IL_0034: nop + IL_0035: ldloca.s V_0 + IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_003c: ret + } + + .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_001d + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldloc.1 + IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0023: brtrue.s IL_000b + + IL_0025: leave.s IL_0039 + + } + finally + { + IL_0027: ldloc.1 + IL_0028: isinst [runtime]System.IDisposable + IL_002d: stloc.3 + IL_002e: ldloc.3 + IL_002f: brfalse.s IL_0038 + + IL_0031: ldloc.3 + IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0037: endfinally + IL_0038: endfinally + } + IL_0039: ret + } + + .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_0028 + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldstr "{0}" + IL_0022: ldloc.2 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_0028: ldloc.1 + IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002e: brtrue.s IL_000b + + IL_0030: leave.s IL_0044 + + } + finally + { + IL_0032: ldloc.1 + IL_0033: isinst [runtime]System.IDisposable + IL_0038: stloc.3 + IL_0039: ldloc.3 + IL_003a: brfalse.s IL_0043 + + IL_003c: ldloc.3 + IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0042: endfinally + IL_0043: endfinally + } + IL_0044: ret + } + + .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0022 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldloc.1 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldloc.0 + IL_0024: ldlen + IL_0025: conv.i4 + IL_0026: blt.s IL_0006 + + IL_0028: ret + } + + .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0032 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldstr "{0}" + IL_0023: ldloc.2 + IL_0024: box [runtime]System.Int32 + IL_0029: call void [runtime]System.Console::WriteLine(string, + object) + IL_002e: ldloc.1 + IL_002f: ldc.i4.1 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.1 + IL_0033: ldloc.0 + IL_0034: ldlen + IL_0035: conv.i4 + IL_0036: blt.s IL_0006 + + IL_0038: ret + } + + .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_002b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldloc.1 + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002a: stloc.1 + IL_002b: ldloc.1 + IL_002c: brtrue.s IL_000b + + IL_002e: ret + } + + .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_003b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldstr "{0}" + IL_0027: ldloc.2 + IL_0028: box [runtime]System.Int32 + IL_002d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0032: ldloc.1 + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.1 + IL_003b: ldloc.1 + IL_003c: brtrue.s IL_000b + + IL_003e: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0029 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldloc.1 + IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002f: brtrue.s IL_0012 + + IL_0031: leave.s IL_0045 + + } + finally + { + IL_0033: ldloc.1 + IL_0034: isinst [runtime]System.IDisposable + IL_0039: stloc.3 + IL_003a: ldloc.3 + IL_003b: brfalse.s IL_0044 + + IL_003d: ldloc.3 + IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0043: endfinally + IL_0044: endfinally + } + IL_0045: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0039 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldstr "{0}" + IL_002e: ldloc.2 + IL_002f: box [runtime]System.Int32 + IL_0034: call void [runtime]System.Console::WriteLine(string, + object) + IL_0039: ldloc.1 + IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_003f: brtrue.s IL_0012 + + IL_0041: leave.s IL_0055 + + } + finally + { + IL_0043: ldloc.1 + IL_0044: isinst [runtime]System.IDisposable + IL_0049: stloc.3 + IL_004a: ldloc.3 + IL_004b: brfalse.s IL_0054 + + IL_004d: ldloc.3 + IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0053: endfinally + IL_0054: endfinally + } + IL_0055: ret + } + + .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: sub + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: sub + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: sub + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: sub + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest7() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + int32 V_3, + class [runtime]System.IDisposable V_4) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.4 + IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000e: stloc.1 + .try + { + IL_000f: br.s IL_0031 + + IL_0011: ldloc.1 + IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0017: stloc.3 + IL_0018: ldstr "hello" + IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0027: pop + IL_0028: ldloca.s V_0 + IL_002a: ldloc.3 + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0030: nop + IL_0031: ldloc.1 + IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0037: brtrue.s IL_0011 + + IL_0039: ldnull + IL_003a: stloc.2 + IL_003b: leave.s IL_0052 + + } + finally + { + IL_003d: ldloc.1 + IL_003e: isinst [runtime]System.IDisposable + IL_0043: stloc.s V_4 + IL_0045: ldloc.s V_4 + IL_0047: brfalse.s IL_0051 + + IL_0049: ldloc.s V_4 + IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0050: endfinally + IL_0051: endfinally + } + IL_0052: ldloc.2 + IL_0053: pop + IL_0054: ldloca.s V_0 + IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_005b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [runtime]System.Exception V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ldstr "res = %A" + IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0015: stloc.0 + .try + { + IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() + IL_001b: stloc.1 + IL_001c: leave.s IL_004b + + } + catch [runtime]System.Object + { + IL_001e: castclass [runtime]System.Exception + IL_0023: stloc.2 + IL_0024: ldloc.2 + IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) + IL_002a: stloc.3 + IL_002b: ldloc.3 + IL_002c: brfalse.s IL_0040 + + IL_002e: call int32 SeqExpressionSteppingTest7::get_r() + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: stloc.1 + IL_003e: leave.s IL_004b + + IL_0040: rethrow + IL_0042: ldnull + IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + IL_0048: stloc.1 + IL_0049: leave.s IL_004b + + } + IL_004b: ldloc.0 + IL_004c: ldloc.1 + IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0052: pop + IL_0053: ret + } + + .property int32 r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void SeqExpressionSteppingTest7::set_r(int32) + .get int32 SeqExpressionSteppingTest7::get_r() + } +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest7::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..33cb4361953 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl @@ -0,0 +1,831 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32 r@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0005: ret + } + + .method public specialname static void set_r(int32 'value') cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 f() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + string V_1) + IL_0000: nop + IL_0001: nop + IL_0002: call int32 SeqExpressionSteppingTest7::get_r() + IL_0007: ldc.i4.1 + IL_0008: add + IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) + IL_000e: ldc.i4.1 + IL_000f: brfalse.s IL_0034 + + IL_0011: ldstr "" + IL_0016: stloc.1 + IL_0017: ldloca.s V_0 + IL_0019: ldc.i4.0 + IL_001a: brfalse.s IL_0024 + + IL_001c: ldnull + IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 + IL_0022: br.s IL_002b + + IL_0024: ldloc.1 + IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_002a: throw + + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0030: nop + IL_0031: nop + IL_0032: br.s IL_0035 + + IL_0034: nop + IL_0035: ldloca.s V_0 + IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_003c: ret + } + + .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_001d + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldloc.1 + IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0023: brtrue.s IL_000b + + IL_0025: leave.s IL_0039 + + } + finally + { + IL_0027: ldloc.1 + IL_0028: isinst [runtime]System.IDisposable + IL_002d: stloc.3 + IL_002e: ldloc.3 + IL_002f: brfalse.s IL_0038 + + IL_0031: ldloc.3 + IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0037: endfinally + IL_0038: endfinally + } + IL_0039: ret + } + + .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + object[] V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_0008: stloc.1 + .try + { + IL_0009: br.s IL_0028 + + IL_000b: ldloc.1 + IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_001d: ldstr "{0}" + IL_0022: ldloc.2 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object[]) + IL_0028: ldloc.1 + IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002e: brtrue.s IL_000b + + IL_0030: leave.s IL_0044 + + } + finally + { + IL_0032: ldloc.1 + IL_0033: isinst [runtime]System.IDisposable + IL_0038: stloc.3 + IL_0039: ldloc.3 + IL_003a: brfalse.s IL_0043 + + IL_003c: ldloc.3 + IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0042: endfinally + IL_0043: endfinally + } + IL_0044: ret + } + + .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0022 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldloc.1 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.1 + IL_0022: ldloc.1 + IL_0023: ldloc.0 + IL_0024: ldlen + IL_0025: conv.i4 + IL_0026: blt.s IL_0006 + + IL_0028: ret + } + + .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed + { + + .maxstack 4 + .locals init (int32[] V_0, + int32 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_0032 + + IL_0006: ldloc.0 + IL_0007: ldloc.1 + IL_0008: ldelem [runtime]System.Int32 + IL_000d: stloc.2 + IL_000e: ldstr "{0}" + IL_0013: ldloc.2 + IL_0014: box [runtime]System.Int32 + IL_0019: call void [runtime]System.Console::WriteLine(string, + object) + IL_001e: ldstr "{0}" + IL_0023: ldloc.2 + IL_0024: box [runtime]System.Int32 + IL_0029: call void [runtime]System.Console::WriteLine(string, + object) + IL_002e: ldloc.1 + IL_002f: ldc.i4.1 + IL_0030: add + IL_0031: stloc.1 + IL_0032: ldloc.1 + IL_0033: ldloc.0 + IL_0034: ldlen + IL_0035: conv.i4 + IL_0036: blt.s IL_0006 + + IL_0038: ret + } + + .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_002b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldloc.1 + IL_0023: stloc.0 + IL_0024: ldloc.0 + IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_002a: stloc.1 + IL_002b: ldloc.1 + IL_002c: brtrue.s IL_000b + + IL_002e: ret + } + + .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + int32 V_2) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: stloc.1 + IL_0009: br.s IL_003b + + IL_000b: ldloc.0 + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0011: stloc.2 + IL_0012: ldstr "{0}" + IL_0017: ldloc.2 + IL_0018: box [runtime]System.Int32 + IL_001d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0022: ldstr "{0}" + IL_0027: ldloc.2 + IL_0028: box [runtime]System.Int32 + IL_002d: call void [runtime]System.Console::WriteLine(string, + object) + IL_0032: ldloc.1 + IL_0033: stloc.0 + IL_0034: ldloc.0 + IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_003a: stloc.1 + IL_003b: ldloc.1 + IL_003c: brtrue.s IL_000b + + IL_003e: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0029 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldloc.1 + IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_002f: brtrue.s IL_0012 + + IL_0031: leave.s IL_0045 + + } + finally + { + IL_0033: ldloc.1 + IL_0034: isinst [runtime]System.IDisposable + IL_0039: stloc.3 + IL_003a: ldloc.3 + IL_003b: brfalse.s IL_0044 + + IL_003d: ldloc.3 + IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0043: endfinally + IL_0044: endfinally + } + IL_0045: ret + } + + .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + int32 V_2, + class [runtime]System.IDisposable V_3) + IL_0000: ldarg.0 + IL_0001: ldc.i4.m1 + IL_0002: ldarg.1 + IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0008: stloc.0 + IL_0009: ldloc.0 + IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000f: stloc.1 + .try + { + IL_0010: br.s IL_0039 + + IL_0012: ldloc.1 + IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0018: stloc.2 + IL_0019: ldstr "{0}" + IL_001e: ldloc.2 + IL_001f: box [runtime]System.Int32 + IL_0024: call void [runtime]System.Console::WriteLine(string, + object) + IL_0029: ldstr "{0}" + IL_002e: ldloc.2 + IL_002f: box [runtime]System.Int32 + IL_0034: call void [runtime]System.Console::WriteLine(string, + object) + IL_0039: ldloc.1 + IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_003f: brtrue.s IL_0012 + + IL_0041: leave.s IL_0055 + + } + finally + { + IL_0043: ldloc.1 + IL_0044: isinst [runtime]System.IDisposable + IL_0049: stloc.3 + IL_004a: ldloc.3 + IL_004b: brfalse.s IL_0054 + + IL_004d: ldloc.3 + IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0053: endfinally + IL_0054: endfinally + } + IL_0055: ret + } + + .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: add + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.0 + IL_0001: stloc.1 + IL_0002: ldarg.1 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: blt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: add + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0022 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldloc.1 + IL_0019: ldc.i4.1 + IL_001a: sub + IL_001b: stloc.1 + IL_001c: ldloc.1 + IL_001d: ldloc.0 + IL_001e: ldc.i4.1 + IL_001f: sub + IL_0020: bne.un.s IL_0008 + + IL_0022: ret + } + + .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, + int32 stop) cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.1 + IL_0002: ldarg.0 + IL_0003: stloc.0 + IL_0004: ldloc.0 + IL_0005: ldloc.1 + IL_0006: bgt.s IL_0032 + + IL_0008: ldstr "{0}" + IL_000d: ldloc.1 + IL_000e: box [runtime]System.Int32 + IL_0013: call void [runtime]System.Console::WriteLine(string, + object) + IL_0018: ldstr "{0}" + IL_001d: ldloc.1 + IL_001e: box [runtime]System.Int32 + IL_0023: call void [runtime]System.Console::WriteLine(string, + object) + IL_0028: ldloc.1 + IL_0029: ldc.i4.1 + IL_002a: sub + IL_002b: stloc.1 + IL_002c: ldloc.1 + IL_002d: ldloc.0 + IL_002e: ldc.i4.1 + IL_002f: sub + IL_0030: bne.un.s IL_0008 + + IL_0032: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ListExpressionSteppingTest7() cil managed + { + + .maxstack 5 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, + class [runtime]System.Collections.Generic.IEnumerator`1 V_1, + class [runtime]System.Collections.Generic.IEnumerable`1 V_2, + int32 V_3, + class [runtime]System.IDisposable V_4) + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.1 + IL_0003: ldc.i4.4 + IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() + IL_000e: stloc.1 + .try + { + IL_000f: br.s IL_0031 + + IL_0011: ldloc.1 + IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() + IL_0017: stloc.3 + IL_0018: ldstr "hello" + IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0027: pop + IL_0028: ldloca.s V_0 + IL_002a: ldloc.3 + IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) + IL_0030: nop + IL_0031: ldloc.1 + IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() + IL_0037: brtrue.s IL_0011 + + IL_0039: ldnull + IL_003a: stloc.2 + IL_003b: leave.s IL_0052 + + } + finally + { + IL_003d: ldloc.1 + IL_003e: isinst [runtime]System.IDisposable + IL_0043: stloc.s V_4 + IL_0045: ldloc.s V_4 + IL_0047: brfalse.s IL_0051 + + IL_0049: ldloc.s V_4 + IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_0050: endfinally + IL_0051: endfinally + } + IL_0052: ldloc.2 + IL_0053: pop + IL_0054: ldloca.s V_0 + IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() + IL_005b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_0006: ldsfld int32 ''.$SeqExpressionSteppingTest7::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [runtime]System.Exception V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 SeqExpressionSteppingTest7::r@4 + IL_0006: ldstr "res = %A" + IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0015: stloc.0 + .try + { + IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() + IL_001b: stloc.1 + IL_001c: leave.s IL_004b + + } + catch [runtime]System.Object + { + IL_001e: castclass [runtime]System.Exception + IL_0023: stloc.2 + IL_0024: ldloc.2 + IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) + IL_002a: stloc.3 + IL_002b: ldloc.3 + IL_002c: brfalse.s IL_0040 + + IL_002e: call int32 SeqExpressionSteppingTest7::get_r() + IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: stloc.1 + IL_003e: leave.s IL_004b + + IL_0040: rethrow + IL_0042: ldnull + IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + IL_0048: stloc.1 + IL_0049: leave.s IL_004b + + } + IL_004b: ldloc.0 + IL_004c: ldloc.1 + IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0052: pop + IL_0053: ret + } + + .property int32 r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .set void SeqExpressionSteppingTest7::set_r(int32) + .get int32 SeqExpressionSteppingTest7::get_r() + } +} + +.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void SeqExpressionSteppingTest7::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs new file mode 100644 index 00000000000..29a7a81a32c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs @@ -0,0 +1,45 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module SerializableAttributeRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> withRealInternalSignatureOff + |> verifyILBaseline + + // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --out:TopLevelModule.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule.dll" # ToplevelModule.fs - Desktop + [] + let ``ToplevelModule_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --out:ToplevelNamespace.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace.dll" # ToplevelNamespace.fs - Desktop + [] + let ``ToplevelNamespace_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --langversion:6.0 --out:TopLevelModule-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule-preview.dll" # ToplevelModule.fs - Desktop preview + [] + let ``ToplevelModule_LangVersion60_fs`` compilation = + compilation + |> withLangVersion60 + |> verifyCompilation + + // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --langversion:6.0 --out:ToplevelNamespace-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace-preview.dll" # ToplevelNamespace.fs - Desktop preview + [] + let ``ToplevelNamespace_LangVersion60_fs`` compilation = + compilation + |> withLangVersion60 + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/SerializableAttribute.fs similarity index 93% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/SerializableAttribute.fs index 0dd543a2eef..c54132e677f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/SerializableAttribute.fs @@ -1,11 +1,11 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO open FSharp.Test open FSharp.Test.Compiler -module SerializableAttribute = +module SerializableAttributeRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -15,6 +15,7 @@ module SerializableAttribute = |> withEmbeddedPdb |> withEmbedAllSource |> ignoreWarnings + |> withRealInternalSignatureOn |> verifyILBaseline // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --out:TopLevelModule.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule.dll" # ToplevelModule.fs - Desktop diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs new file mode 100644 index 00000000000..2be0deda8ea --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs @@ -0,0 +1,22 @@ +// Regression test for DevDiv:327356 +// top-level module + +module ABC + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" + + module ABC = + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..3a5e5b10025 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.debug.bsl @@ -0,0 +1,1639 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/MyExn + IL_0031: call instance int32 ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/ABC/MyExn + IL_0031: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.release.bsl new file mode 100644 index 00000000000..9fcc461f28d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.release.bsl @@ -0,0 +1,1543 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/MyExn + IL_002f: call instance int32 ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/ABC/MyExn + IL_002f: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..2ba585e199a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.debug.bsl @@ -0,0 +1,1547 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/MyExn + IL_0031: call instance int32 ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/ABC/MyExn + IL_0031: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..13b2cef620c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.release.bsl @@ -0,0 +1,1451 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/MyExn + IL_002f: call instance int32 ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/ABC/MyExn + IL_002f: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs new file mode 100644 index 00000000000..2be0deda8ea --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs @@ -0,0 +1,22 @@ +// Regression test for DevDiv:327356 +// top-level module + +module ABC + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" + + module ABC = + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..0f51d627320 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.debug.bsl @@ -0,0 +1,1613 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/MyExn + IL_0031: call instance int32 ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/ABC/MyExn + IL_0031: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.release.bsl new file mode 100644 index 00000000000..26beffa3381 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.release.bsl @@ -0,0 +1,1517 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/MyExn + IL_002f: call instance int32 ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/ABC/MyExn + IL_002f: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..61decc2a571 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.debug.bsl @@ -0,0 +1,1521 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/MyExn + IL_0031: call instance int32 ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass ABC/ABC/MyExn + IL_0031: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..6ebfb734de4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.release.bsl @@ -0,0 +1,1425 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 41 42 43 2B 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/Expr + IL_0007: callvirt instance int32 ABC/Expr::CompareTo(class ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1, + class ABC/Expr V_2, + class ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0, + class ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/Expr::Equals(class ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/MyExn + IL_0012: call instance int32 ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/MyExn + IL_002f: call instance int32 ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/MyExn + IL_0019: call instance int32 ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/MyExn + IL_0024: call instance int32 ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 41 42 43 2B 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any ABC/ABC/Expr + IL_0007: callvirt instance int32 ABC/ABC/Expr::CompareTo(class ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1, + class ABC/ABC/Expr V_2, + class ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0, + class ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/Expr::Equals(class ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass ABC/ABC/MyExn + IL_0012: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass ABC/ABC/MyExn + IL_002f: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass ABC/ABC/MyExn + IL_0019: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass ABC/ABC/MyExn + IL_0024: call instance int32 ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$ABC + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs new file mode 100644 index 00000000000..17c641d2dbd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs @@ -0,0 +1,29 @@ +// Regression test for DevDiv:327356 +// top-level namespace + +namespace XYZ + + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + module ABC = + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" + + module ABC = + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..04222059db2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.debug.bsl @@ -0,0 +1,2351 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.MyExn + IL_0031: call instance int32 XYZ.MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.release.bsl new file mode 100644 index 00000000000..ebdd0bcea99 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.release.bsl @@ -0,0 +1,2207 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.MyExn + IL_002f: call instance int32 XYZ.MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..91efa2ba6b5 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.debug.bsl @@ -0,0 +1,2259 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.MyExn + IL_0031: call instance int32 XYZ.MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..2d15f5a89d6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.release.bsl @@ -0,0 +1,2115 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.MyExn + IL_002f: call instance int32 XYZ.MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public strict virtual instance string get_Message() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/MyExn>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs new file mode 100644 index 00000000000..17c641d2dbd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs @@ -0,0 +1,29 @@ +// Regression test for DevDiv:327356 +// top-level namespace + +namespace XYZ + + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + module ABC = + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" + + module ABC = + (* type *) + type Expr = Num of int + exception MyExn of int + type A(x:string) = member __.X = x + + (* value *) + let add x y = x + y + let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..755a63232ef --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.debug.bsl @@ -0,0 +1,2312 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.MyExn + IL_0031: call instance int32 XYZ.MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.release.bsl new file mode 100644 index 00000000000..aa3fff8667d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.release.bsl @@ -0,0 +1,2168 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.MyExn + IL_002f: call instance int32 XYZ.MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + +.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + extends [runtime]System.Enum +{ + .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public specialname rtspecialname int32 value__ + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) + .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) +} + +.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute + extends [runtime]System.Attribute +{ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field private class [runtime]System.Type Type@ + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, + class [runtime]System.Type Type) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0014: ret + } + + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ + IL_0006: ret + } + + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ + IL_0006: ret + } + + .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes + MemberType() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() + } + .property instance class [runtime]System.Type + Type() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() + } +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..0fe76543a75 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.debug.bsl @@ -0,0 +1,2220 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.MyExn + IL_0031: call instance int32 XYZ.MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4, + class [runtime]System.Collections.IComparer V_5, + int32 V_6, + int32 V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_0039 + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: stloc.s V_5 + IL_0024: ldloc.3 + IL_0025: stloc.s V_6 + IL_0027: ldloc.s V_4 + IL_0029: stloc.s V_7 + IL_002b: ldloc.s V_6 + IL_002d: ldloc.s V_7 + IL_002f: cgt + IL_0031: ldloc.s V_6 + IL_0033: ldloc.s V_7 + IL_0035: clt + IL_0037: sub + IL_0038: ret + + IL_0039: ldc.i4.1 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: brfalse.s IL_0040 + + IL_003e: ldc.i4.m1 + IL_003f: ret + + IL_0040: ldc.i4.0 + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IComparer V_6, + int32 V_7, + int32 V_8) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_0045 + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0043 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.3 + IL_002b: stloc.s V_6 + IL_002d: ldloc.s V_4 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_5 + IL_0033: stloc.s V_8 + IL_0035: ldloc.s V_7 + IL_0037: ldloc.s V_8 + IL_0039: cgt + IL_003b: ldloc.s V_7 + IL_003d: ldloc.s V_8 + IL_003f: clt + IL_0041: sub + IL_0042: ret + + IL_0043: ldc.i4.1 + IL_0044: ret + + IL_0045: ldarg.1 + IL_0046: unbox.any XYZ.ABC/ABC/Expr + IL_004b: brfalse.s IL_004f + + IL_004d: ldc.i4.m1 + IL_004e: ret + + IL_004f: ldc.i4.0 + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2, + int32 V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.2 + IL_001a: stloc.s V_4 + IL_001c: ldloc.3 + IL_001d: ldloc.0 + IL_001e: ldc.i4.6 + IL_001f: shl + IL_0020: ldloc.0 + IL_0021: ldc.i4.2 + IL_0022: shr + IL_0023: add + IL_0024: add + IL_0025: add + IL_0026: stloc.0 + IL_0027: ldloc.0 + IL_0028: ret + + IL_0029: ldc.i4.0 + IL_002a: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4, + int32 V_5, + int32 V_6, + class [runtime]System.Collections.IEqualityComparer V_7) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0035 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0033 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: stloc.s V_5 + IL_0020: ldloc.3 + IL_0021: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0026: stloc.s V_6 + IL_0028: ldloc.s V_4 + IL_002a: stloc.s V_7 + IL_002c: ldloc.s V_5 + IL_002e: ldloc.s V_6 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + + IL_0035: ldarg.1 + IL_0036: ldnull + IL_0037: cgt.un + IL_0039: ldc.i4.0 + IL_003a: ceq + IL_003c: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1, + int32 V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0027 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: stloc.2 + IL_0018: ldloc.1 + IL_0019: stloc.3 + IL_001a: ldloc.2 + IL_001b: ldloc.0 + IL_001c: ldc.i4.6 + IL_001d: shl + IL_001e: ldloc.0 + IL_001f: ldc.i4.2 + IL_0020: shr + IL_0021: add + IL_0022: add + IL_0023: add + IL_0024: stloc.0 + IL_0025: ldloc.0 + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + int32 V_4, + int32 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0046 + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0044 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0042 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: stloc.s V_4 + IL_002b: ldloc.1 + IL_002c: castclass XYZ.ABC/ABC/MyExn + IL_0031: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0036: stloc.s V_5 + IL_0038: ldloc.3 + IL_0039: stloc.s V_6 + IL_003b: ldloc.s V_4 + IL_003d: ldloc.s V_5 + IL_003f: ceq + IL_0041: ret + + IL_0042: ldc.i4.0 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + + IL_0046: ldarg.1 + IL_0047: ldnull + IL_0048: cgt.un + IL_004a: ldc.i4.0 + IL_004b: ceq + IL_004d: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..34f7be115da --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.release.bsl @@ -0,0 +1,2076 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public auto autochar serializable sealed beforefieldinit XYZ.Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable +{ + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 08 58 59 5A 2E 45 78 70 72 00 + 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.Expr + IL_0007: callvirt instance int32 XYZ.Expr::CompareTo(class XYZ.Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1, + class XYZ.Expr V_2, + class XYZ.Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0, + class XYZ.Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.Expr::Equals(class XYZ.Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.Expr::get_Item() + } +} + +.class public auto ansi serializable beforefieldinit XYZ.MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.MyExn + IL_0012: call instance int32 XYZ.MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.MyExn + IL_002f: call instance int32 XYZ.MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.MyExn + IL_0019: call instance int32 XYZ.MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.MyExn + IL_0024: call instance int32 XYZ.MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.MyExn::get_Data0() + } +} + +.class public auto ansi serializable XYZ.A + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.A::get_X() + } +} + +.class public abstract auto ansi sealed XYZ.ABC + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 0C 58 59 5A 2E 41 42 43 2B 45 + 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/Expr::CompareTo(class XYZ.ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1, + class XYZ.ABC/Expr V_2, + class XYZ.ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0, + class XYZ.ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/Expr::Equals(class XYZ.ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/A::get_X() + } + } + + .class abstract auto ansi sealed nested public ABC + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested public beforefieldinit Expr + extends [runtime]System.Object + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C + 61 79 28 29 2C 6E 71 7D 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) + .field assembly initonly int32 item + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static class XYZ.ABC/ABC/Expr NewNum(int32 item) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void XYZ.ABC/ABC/Expr::.ctor(int32) + IL_0006: ret + } + + .method assembly specialname rtspecialname instance void .ctor(int32 item) cil managed + { + .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, + class [runtime]System.Type) = ( 01 00 60 06 00 00 10 58 59 5A 2E 41 42 43 2B 41 + 42 43 2B 45 78 70 72 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/Expr::item + IL_000d: ret + } + + .method public hidebysig instance int32 get_Item() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0006: ret + } + + .method public hidebysig instance int32 get_Tag() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: pop + IL_0002: ldc.i4.0 + IL_0003: ret + } + + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+0.8A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public strict virtual instance string ToString() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "%+A" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class XYZ.ABC/ABC/Expr>::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: ldarg.0 + IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0015: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IComparer V_2, + int32 V_3, + int32 V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_002f + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002d + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0011: stloc.2 + IL_0012: ldloc.0 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: stloc.3 + IL_0019: ldloc.1 + IL_001a: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001f: stloc.s V_4 + IL_0021: ldloc.3 + IL_0022: ldloc.s V_4 + IL_0024: cgt + IL_0026: ldloc.3 + IL_0027: ldloc.s V_4 + IL_0029: clt + IL_002b: sub + IL_002c: ret + + IL_002d: ldc.i4.1 + IL_002e: ret + + IL_002f: ldarg.1 + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.m1 + IL_0033: ret + + IL_0034: ldc.i4.0 + IL_0035: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any XYZ.ABC/ABC/Expr + IL_0007: callvirt instance int32 XYZ.ABC/ABC/Expr::CompareTo(class XYZ.ABC/ABC/Expr) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class [runtime]System.Collections.IComparer V_3, + int32 V_4, + int32 V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: brfalse.s IL_003a + + IL_000a: ldarg.1 + IL_000b: unbox.any XYZ.ABC/ABC/Expr + IL_0010: brfalse.s IL_0038 + + IL_0012: ldarg.0 + IL_0013: pop + IL_0014: ldarg.0 + IL_0015: stloc.1 + IL_0016: ldloc.0 + IL_0017: stloc.2 + IL_0018: ldarg.2 + IL_0019: stloc.3 + IL_001a: ldloc.1 + IL_001b: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0020: stloc.s V_4 + IL_0022: ldloc.2 + IL_0023: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0028: stloc.s V_5 + IL_002a: ldloc.s V_4 + IL_002c: ldloc.s V_5 + IL_002e: cgt + IL_0030: ldloc.s V_4 + IL_0032: ldloc.s V_5 + IL_0034: clt + IL_0036: sub + IL_0037: ret + + IL_0038: ldc.i4.1 + IL_0039: ret + + IL_003a: ldarg.1 + IL_003b: unbox.any XYZ.ABC/ABC/Expr + IL_0040: brfalse.s IL_0044 + + IL_0042: ldc.i4.m1 + IL_0043: ret + + IL_0044: ldc.i4.0 + IL_0045: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class XYZ.ABC/ABC/Expr V_1, + class [runtime]System.Collections.IEqualityComparer V_2) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0024 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldarg.0 + IL_0006: pop + IL_0007: ldarg.0 + IL_0008: stloc.1 + IL_0009: ldc.i4.0 + IL_000a: stloc.0 + IL_000b: ldc.i4 0x9e3779b9 + IL_0010: ldarg.1 + IL_0011: stloc.2 + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ldloc.0 + IL_0019: ldc.i4.6 + IL_001a: shl + IL_001b: ldloc.0 + IL_001c: ldc.i4.2 + IL_001d: shr + IL_001e: add + IL_001f: add + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloc.0 + IL_0023: ret + + IL_0024: ldc.i4.0 + IL_0025: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/Expr::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1, + class XYZ.ABC/ABC/Expr V_2, + class XYZ.ABC/ABC/Expr V_3, + class [runtime]System.Collections.IEqualityComparer V_4) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0029 + + IL_0003: ldarg.1 + IL_0004: isinst XYZ.ABC/ABC/Expr + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0027 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldarg.0 + IL_0010: pop + IL_0011: ldarg.0 + IL_0012: stloc.2 + IL_0013: ldloc.1 + IL_0014: stloc.3 + IL_0015: ldarg.2 + IL_0016: stloc.s V_4 + IL_0018: ldloc.2 + IL_0019: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_001e: ldloc.3 + IL_001f: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0024: ceq + IL_0026: ret + + IL_0027: ldc.i4.0 + IL_0028: ret + + IL_0029: ldarg.1 + IL_002a: ldnull + IL_002b: cgt.un + IL_002d: ldc.i4.0 + IL_002e: ceq + IL_0030: ret + } + + .method public hidebysig virtual final instance bool Equals(class XYZ.ABC/ABC/Expr obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0, + class XYZ.ABC/ABC/Expr V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_001d + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_001b + + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: stloc.0 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldloc.0 + IL_000d: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0012: ldloc.1 + IL_0013: ldfld int32 XYZ.ABC/ABC/Expr::item + IL_0018: ceq + IL_001a: ret + + IL_001b: ldc.i4.0 + IL_001c: ret + + IL_001d: ldarg.1 + IL_001e: ldnull + IL_001f: cgt.un + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class XYZ.ABC/ABC/Expr V_0) + IL_0000: ldarg.1 + IL_0001: isinst XYZ.ABC/ABC/Expr + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/Expr::Equals(class XYZ.ABC/ABC/Expr) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Tag() + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Tag() + } + .property instance int32 Item() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/Expr::get_Item() + } + } + + .class auto ansi serializable nested public beforefieldinit MyExn + extends [runtime]System.Exception + implements [runtime]System.Collections.IStructuralEquatable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 05 00 00 00 00 00 ) + .field assembly int32 Data0@ + .method public specialname rtspecialname instance void .ctor(int32 data0) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_000d: ret + } + + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [runtime]System.Exception::.ctor() + IL_0006: ret + } + + .method family specialname rtspecialname + instance void .ctor(class [runtime]System.Runtime.Serialization.SerializationInfo info, + valuetype [runtime]System.Runtime.Serialization.StreamingContext context) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: ldarg.2 + IL_0003: call instance void [runtime]System.Exception::.ctor(class [runtime]System.Runtime.Serialization.SerializationInfo, + valuetype [runtime]System.Runtime.Serialization.StreamingContext) + IL_0008: ret + } + + .method public hidebysig specialname instance int32 get_Data0() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 XYZ.ABC/ABC/MyExn::Data0@ + IL_0006: ret + } + + .method public hidebysig virtual instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0, + class [runtime]System.Collections.IEqualityComparer V_1) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0023 + + IL_0003: ldc.i4.0 + IL_0004: stloc.0 + IL_0005: ldc.i4 0x9e3779b9 + IL_000a: ldarg.1 + IL_000b: stloc.1 + IL_000c: ldarg.0 + IL_000d: castclass XYZ.ABC/ABC/MyExn + IL_0012: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0017: ldloc.0 + IL_0018: ldc.i4.6 + IL_0019: shl + IL_001a: ldloc.0 + IL_001b: ldc.i4.2 + IL_001c: shr + IL_001d: add + IL_001e: add + IL_001f: add + IL_0020: stloc.0 + IL_0021: ldloc.0 + IL_0022: ret + + IL_0023: ldc.i4.0 + IL_0024: ret + } + + .method public hidebysig virtual instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: callvirt instance int32 XYZ.ABC/ABC/MyExn::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual instance bool + Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.Exception V_1, + object V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_003b + + IL_0003: ldarg.1 + IL_0004: isinst [runtime]System.Exception + IL_0009: stloc.0 + IL_000a: ldloc.0 + IL_000b: brfalse.s IL_0039 + + IL_000d: ldloc.0 + IL_000e: stloc.1 + IL_000f: ldloc.0 + IL_0010: stloc.2 + IL_0011: ldloc.2 + IL_0012: isinst XYZ.ABC/ABC/MyExn + IL_0017: ldnull + IL_0018: cgt.un + IL_001a: brfalse.s IL_0037 + + IL_001c: ldarg.2 + IL_001d: stloc.3 + IL_001e: ldarg.0 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ldloc.1 + IL_002a: castclass XYZ.ABC/ABC/MyExn + IL_002f: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0034: ceq + IL_0036: ret + + IL_0037: ldc.i4.0 + IL_0038: ret + + IL_0039: ldc.i4.0 + IL_003a: ret + + IL_003b: ldarg.1 + IL_003c: ldnull + IL_003d: cgt.un + IL_003f: ldc.i4.0 + IL_0040: ceq + IL_0042: ret + } + + .method public hidebysig instance bool Equals(class [runtime]System.Exception obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0) + IL_0000: ldarg.0 + IL_0001: brfalse.s IL_0030 + + IL_0003: ldarg.1 + IL_0004: brfalse.s IL_002e + + IL_0006: ldarg.1 + IL_0007: stloc.0 + IL_0008: ldloc.0 + IL_0009: isinst XYZ.ABC/ABC/MyExn + IL_000e: ldnull + IL_000f: cgt.un + IL_0011: brfalse.s IL_002c + + IL_0013: ldarg.0 + IL_0014: castclass XYZ.ABC/ABC/MyExn + IL_0019: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_001e: ldarg.1 + IL_001f: castclass XYZ.ABC/ABC/MyExn + IL_0024: call instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + IL_0029: ceq + IL_002b: ret + + IL_002c: ldc.i4.0 + IL_002d: ret + + IL_002e: ldc.i4.0 + IL_002f: ret + + IL_0030: ldarg.1 + IL_0031: ldnull + IL_0032: cgt.un + IL_0034: ldc.i4.0 + IL_0035: ceq + IL_0037: ret + } + + .method public hidebysig virtual instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (class [runtime]System.Exception V_0) + IL_0000: ldarg.1 + IL_0001: isinst [runtime]System.Exception + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: brfalse.s IL_0012 + + IL_000a: ldarg.0 + IL_000b: ldloc.0 + IL_000c: callvirt instance bool XYZ.ABC/ABC/MyExn::Equals(class [runtime]System.Exception) + IL_0011: ret + + IL_0012: ldc.i4.0 + IL_0013: ret + } + + .property instance int32 Data0() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance int32 XYZ.ABC/ABC/MyExn::get_Data0() + } + } + + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly string x + .method public specialname rtspecialname instance void .ctor(string x) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldarg.1 + IL_000a: stfld string XYZ.ABC/ABC/A::x + IL_000f: ret + } + + .method public hidebysig specialname instance string get_X() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld string XYZ.ABC/ABC/A::x + IL_0006: ret + } + + .property instance string X() + { + .get instance string XYZ.ABC/ABC/A::get_X() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC/ABC::get_greeting() + } + } + + .method public static int32 'add'(int32 x, + int32 y) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: add + IL_0003: ret + } + + .method public specialname static string get_greeting() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: ret + } + + .property string greeting() + { + .get string XYZ.ABC::get_greeting() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/LetBinding01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/LetBinding01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/LetBinding01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/LetBinding01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit.fs new file mode 100644 index 00000000000..da45135e28a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit.fs @@ -0,0 +1,44 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module StaticInitRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> withRealInternalSignatureOff + |> verifyILBaseline + + + // SOURCE=LetBinding01.fs SCFLAGS=" -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd LetBinding01.exe" # LetBinding01.fs + [] + let ``LetBinding01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=StaticInit_Struct01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StaticInit_Struct01.dll" # StaticInit_Struct01.fs - + [] + let ``StaticInit_Struct01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=StaticInit_Class01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StaticInit_Class01.dll" # StaticInit_Class01.fs - + [] + let ``StaticInit_Class01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=StaticInit_Module01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StaticInit_Module01.dll" # StaticInit_Module01.fs - + [] + let ``StaticInit_Module01_fs`` compilation = + compilation + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Class01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Class01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Class01.fs.il.bsl similarity index 96% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Class01.fs.il.bsl index f66d450930c..ca32e90a5c8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Class01.fs.il.bsl @@ -1,131 +1,131 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed StaticInit_ClassS01 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto ansi serializable nested public C - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field static assembly int32 x - .field static assembly int32 init@4 - .method public specialname rtspecialname - instance void .ctor(valuetype [runtime]System.DateTime s) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: callvirt instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: pop - IL_0008: ret - } - - .method assembly static int32 f() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: nop - IL_0001: volatile. - IL_0003: ldsfld int32 StaticInit_ClassS01/C::init@4 - IL_0008: ldc.i4.1 - IL_0009: bge.s IL_0014 - - IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() - IL_0010: nop - IL_0011: nop - IL_0012: br.s IL_0015 - - IL_0014: nop - IL_0015: ldsfld int32 StaticInit_ClassS01/C::x - IL_001a: ldstr "2" - IL_001f: callvirt instance int32 [runtime]System.String::get_Length() - IL_0024: add - IL_0025: ret - } - - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: stsfld int32 ''.$StaticInit_ClassS01::init@ - IL_0006: ldsfld int32 ''.$StaticInit_ClassS01::init@ - IL_000b: pop - IL_000c: ret - } - - } - -} - -.class private abstract auto ansi sealed ''.$StaticInit_ClassS01 - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ldstr "1" - IL_0005: callvirt instance int32 [runtime]System.String::get_Length() - IL_000a: stsfld int32 StaticInit_ClassS01/C::x - IL_000f: ldc.i4.1 - IL_0010: volatile. - IL_0012: stsfld int32 StaticInit_ClassS01/C::init@4 - IL_0017: ret - } - -} - - - - - - + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed StaticInit_ClassS01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .method public specialname rtspecialname + instance void .ctor(valuetype [runtime]System.DateTime s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method assembly static int32 f() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 StaticInit_ClassS01/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld int32 StaticInit_ClassS01/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$StaticInit_ClassS01::init@ + IL_0006: ldsfld int32 ''.$StaticInit_ClassS01::init@ + IL_000b: pop + IL_000c: ret + } + + } + +} + +.class private abstract auto ansi sealed ''.$StaticInit_ClassS01 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 StaticInit_ClassS01/C::x + IL_000f: ldc.i4.1 + IL_0010: volatile. + IL_0012: stsfld int32 StaticInit_ClassS01/C::init@4 + IL_0017: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Module01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Module01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Module01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Module01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.netcore.release.bsl similarity index 97% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.netcore.release.bsl index f797cd82032..5dd4f4504a6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOff/StaticInit_Struct01.fs.il.netcore.release.bsl @@ -1,326 +1,326 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly extern netstandard -{ - .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) - .ver 2:1:0:0 -} -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public C - extends [runtime]System.ValueType - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field static assembly int32 x - .field static assembly int32 init@4 - .field assembly valuetype [runtime]System.DateTime s - .method public hidebysig virtual final - instance int32 CompareTo(valuetype assembly/C obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype assembly/C& V_0, - class [runtime]System.Collections.IComparer V_1) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_000f: ldloc.0 - IL_0010: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_0015: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, - valuetype [netstandard]System.DateTime) - IL_001a: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any assembly/C - IL_0007: call instance int32 assembly/C::CompareTo(valuetype assembly/C) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype assembly/C V_0, - valuetype assembly/C& V_1, - class [runtime]System.Collections.IComparer V_2) - IL_0000: ldarg.1 - IL_0001: unbox.any assembly/C - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_0012: ldloc.1 - IL_0013: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_0018: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, - valuetype [netstandard]System.DateTime) - IL_001d: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: ldarg.0 - IL_0009: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, - !!0) - IL_0013: ldloc.0 - IL_0014: ldc.i4.6 - IL_0015: shl - IL_0016: ldloc.0 - IL_0017: ldc.i4.2 - IL_0018: shr - IL_0019: add - IL_001a: add - IL_001b: add - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype assembly/C V_1, - valuetype assembly/C& V_2, - class [runtime]System.Collections.IEqualityComparer V_3) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst assembly/C - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_002b - - IL_000d: ldarg.1 - IL_000e: unbox.any assembly/C - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_001f: ldloc.2 - IL_0020: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_0025: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, - valuetype [netstandard]System.DateTime) - IL_002a: ret - - IL_002b: ldc.i4.0 - IL_002c: ret - } - - .method public specialname rtspecialname - instance void .ctor(valuetype [runtime]System.DateTime s) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld valuetype [runtime]System.DateTime assembly/C::s - IL_0007: ret - } - - .method assembly static int32 f() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: nop - IL_0001: volatile. - IL_0003: ldsfld int32 assembly/C::init@4 - IL_0008: ldc.i4.1 - IL_0009: bge.s IL_0014 - - IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() - IL_0010: nop - IL_0011: nop - IL_0012: br.s IL_0015 - - IL_0014: nop - IL_0015: ldsfld int32 assembly/C::x - IL_001a: ldstr "2" - IL_001f: callvirt instance int32 [runtime]System.String::get_Length() - IL_0024: add - IL_0025: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype assembly/C obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype assembly/C& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_0009: ldloc.0 - IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s - IL_000f: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, - valuetype [netstandard]System.DateTime) - IL_0014: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype assembly/C V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst assembly/C - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any assembly/C - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool assembly/C::Equals(valuetype assembly/C) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: stsfld int32 ''.$assembly::init@ - IL_0006: ldsfld int32 ''.$assembly::init@ - IL_000b: pop - IL_000c: ret - } - - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ldstr "1" - IL_0005: callvirt instance int32 [runtime]System.String::get_Length() - IL_000a: stsfld int32 assembly/C::x - IL_000f: ldc.i4.1 - IL_0010: volatile. - IL_0012: stsfld int32 assembly/C::init@4 - IL_0017: ret - } - -} - - - - - - + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public C + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .field assembly valuetype [runtime]System.DateTime s + .method public hidebysig virtual final + instance int32 CompareTo(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0, + class [runtime]System.Collections.IComparer V_1) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: ldloc.0 + IL_0010: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0015: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_001a: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/C + IL_0007: call instance int32 assembly/C::CompareTo(valuetype assembly/C) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C V_0, + valuetype assembly/C& V_1, + class [runtime]System.Collections.IComparer V_2) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/C + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0012: ldloc.1 + IL_0013: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0018: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_001d: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final + instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1, + valuetype assembly/C& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002b + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_001f: ldloc.2 + IL_0020: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0025: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_002a: ret + + IL_002b: ldc.i4.0 + IL_002c: ret + } + + .method public specialname rtspecialname + instance void .ctor(valuetype [runtime]System.DateTime s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld valuetype [runtime]System.DateTime assembly/C::s + IL_0007: ret + } + + .method assembly static int32 f() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 assembly/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld int32 assembly/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: ret + } + + .method public hidebysig virtual final + instance bool Equals(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0009: ldloc.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0014: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool assembly/C::Equals(valuetype assembly/C) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 assembly/C::x + IL_000f: ldc.i4.1 + IL_0010: volatile. + IL_0012: stsfld int32 assembly/C::init@4 + IL_0017: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs new file mode 100644 index 00000000000..59f22bcb140 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs @@ -0,0 +1,6 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:5651 +// + +let x = () +printfn "x = %A" x diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs.il.bsl new file mode 100644 index 00000000000..178a9449394 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/LetBinding01.fs.il.bsl @@ -0,0 +1,110 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Core.Unit get_x() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldnull + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "x = %A" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Core.Unit assembly::get_x() + IL_0015: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_001a: pop + IL_001b: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Core.Unit + x() + { + .get class [FSharp.Core]Microsoft.FSharp.Core.Unit assembly::get_x() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit.fs similarity index 93% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit.fs index 3cc63ea37e6..8e630b0b0c2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit.fs @@ -1,11 +1,11 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO open FSharp.Test open FSharp.Test.Compiler -module StaticInit = +module StaticInitRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -15,6 +15,7 @@ module StaticInit = |> withEmbeddedPdb |> withEmbedAllSource |> ignoreWarnings + |> withRealInternalSignatureOn |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs new file mode 100644 index 00000000000..01177dbce16 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs @@ -0,0 +1,8 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +// +module StaticInit_ClassS01 +type C(s:System.DateTime) = + class + static let x = "1".Length + static let f () = x + "2".Length + end diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs.il.bsl new file mode 100644 index 00000000000..f85f73782ed --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Class01.fs.il.bsl @@ -0,0 +1,156 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed StaticInit_ClassS01 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .method public specialname rtspecialname instance void .ctor(valuetype [runtime]System.DateTime s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method assembly static int32 f() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 StaticInit_ClassS01/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld int32 StaticInit_ClassS01/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$StaticInit_ClassS01::init@ + IL_0006: ldsfld int32 ''.$StaticInit_ClassS01::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 StaticInit_ClassS01/C::x + IL_000f: ldc.i4.1 + IL_0010: volatile. + IL_0012: stsfld int32 StaticInit_ClassS01/C::init@4 + IL_0017: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$StaticInit_ClassS01::init@ + IL_0006: ldsfld int32 ''.$StaticInit_ClassS01::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void StaticInit_ClassS01/C::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$StaticInit_ClassS01 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void StaticInit_ClassS01::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs new file mode 100644 index 00000000000..5a10a3d6f82 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs @@ -0,0 +1,8 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +// +module StaticInit_Module01 +module M = + let x = "1".Length + module N = + let y = x + "2".Length + let z = y + "3".Length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs.il.bsl new file mode 100644 index 00000000000..96c019ab4be --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Module01.fs.il.bsl @@ -0,0 +1,196 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public M + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public N + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly int32 y@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 z@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_y() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly/M/N::y@7 + IL_0005: ret + } + + .method public specialname static int32 get_z() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly/M/N::z@8 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call int32 assembly/M::get_x() + IL_0005: ldstr "2" + IL_000a: callvirt instance int32 [runtime]System.String::get_Length() + IL_000f: add + IL_0010: stsfld int32 assembly/M/N::y@7 + IL_0015: call int32 assembly/M/N::get_y() + IL_001a: ldstr "3" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: stsfld int32 assembly/M/N::z@8 + IL_002a: ret + } + + .property int32 y() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly/M/N::get_y() + } + .property int32 z() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly/M/N::get_z() + } + } + + .field static assembly int32 x@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_x() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 assembly/M::x@5 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 assembly/M::x@5 + IL_000f: call void assembly/M/N::staticInitialization@() + IL_0014: ret + } + + .property int32 x() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 assembly/M::get_x() + } + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/M::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs new file mode 100644 index 00000000000..e93c6e0d20f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs @@ -0,0 +1,8 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +// +module StaticInit_Struct01 +type C(s:System.DateTime) = + struct + static let x = "1".Length + static let f () = x + "2".Length + end diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..e8a8df843ff --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.debug.bsl @@ -0,0 +1,372 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public C + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .field assembly valuetype [runtime]System.DateTime s + .method public hidebysig virtual final instance int32 CompareTo(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0, + class [runtime]System.Collections.IComparer V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3, + class [runtime]System.Collections.IComparer V_4) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: ldloc.3 + IL_001c: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0021: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/C + IL_0007: call instance int32 assembly/C::CompareTo(valuetype assembly/C) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C V_0, + valuetype assembly/C& V_1, + class [runtime]System.Collections.IComparer V_2, + valuetype [runtime]System.DateTime V_3, + valuetype [runtime]System.DateTime V_4, + class [runtime]System.Collections.IComparer V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/C + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: ldloc.s V_4 + IL_0021: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0026: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1, + valuetype assembly/C& V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + valuetype [runtime]System.DateTime V_4, + valuetype [runtime]System.DateTime V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0036 + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0035: ret + + IL_0036: ldc.i4.0 + IL_0037: ret + } + + .method public specialname rtspecialname instance void .ctor(valuetype [runtime]System.DateTime s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld valuetype [runtime]System.DateTime assembly/C::s + IL_0007: ret + } + + .method assembly static int32 f() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 assembly/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld int32 assembly/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0009: ldloc.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0014: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool assembly/C::Equals(valuetype assembly/C) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 assembly/C::x + IL_000f: ldc.i4.1 + IL_0010: volatile. + IL_0012: stsfld int32 assembly/C::init@4 + IL_0017: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/C::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.release.bsl new file mode 100644 index 00000000000..e03bac00ab6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.net472.release.bsl @@ -0,0 +1,345 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public C + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .field assembly valuetype [runtime]System.DateTime s + .method public hidebysig virtual final instance int32 CompareTo(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0, + class [runtime]System.Collections.IComparer V_1) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: ldloc.0 + IL_0010: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0015: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_001a: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/C + IL_0007: call instance int32 assembly/C::CompareTo(valuetype assembly/C) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C V_0, + valuetype assembly/C& V_1, + class [runtime]System.Collections.IComparer V_2) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/C + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0012: ldloc.1 + IL_0013: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0018: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_001d: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1, + valuetype assembly/C& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002b + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_001f: ldloc.2 + IL_0020: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0025: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_002a: ret + + IL_002b: ldc.i4.0 + IL_002c: ret + } + + .method public specialname rtspecialname instance void .ctor(valuetype [runtime]System.DateTime s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld valuetype [runtime]System.DateTime assembly/C::s + IL_0007: ret + } + + .method assembly static int32 f() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 assembly/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld int32 assembly/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0009: ldloc.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0014: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool assembly/C::Equals(valuetype assembly/C) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 assembly/C::x + IL_000f: ldc.i4.1 + IL_0010: volatile. + IL_0012: stsfld int32 assembly/C::init@4 + IL_0017: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/C::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..e7782b1de3d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.debug.bsl @@ -0,0 +1,372 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public C + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .field assembly valuetype [runtime]System.DateTime s + .method public hidebysig virtual final instance int32 CompareTo(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0, + class [runtime]System.Collections.IComparer V_1, + valuetype [runtime]System.DateTime V_2, + valuetype [runtime]System.DateTime V_3, + class [runtime]System.Collections.IComparer V_4) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: ldloc.3 + IL_001c: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0021: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/C + IL_0007: call instance int32 assembly/C::CompareTo(valuetype assembly/C) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C V_0, + valuetype assembly/C& V_1, + class [runtime]System.Collections.IComparer V_2, + valuetype [runtime]System.DateTime V_3, + valuetype [runtime]System.DateTime V_4, + class [runtime]System.Collections.IComparer V_5) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/C + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: ldloc.s V_4 + IL_0021: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0026: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1, + valuetype assembly/C& V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + valuetype [runtime]System.DateTime V_4, + valuetype [runtime]System.DateTime V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0036 + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0035: ret + + IL_0036: ldc.i4.0 + IL_0037: ret + } + + .method public specialname rtspecialname instance void .ctor(valuetype [runtime]System.DateTime s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld valuetype [runtime]System.DateTime assembly/C::s + IL_0007: ret + } + + .method assembly static int32 f() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 assembly/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld int32 assembly/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0009: ldloc.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0014: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool assembly/C::Equals(valuetype assembly/C) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 assembly/C::x + IL_000f: ldc.i4.1 + IL_0010: volatile. + IL_0012: stsfld int32 assembly/C::init@4 + IL_0017: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/C::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..8dd2c0b1556 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/RealInternalSignatureOn/StaticInit_Struct01.fs.il.netcore.release.bsl @@ -0,0 +1,345 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public C + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .field assembly valuetype [runtime]System.DateTime s + .method public hidebysig virtual final instance int32 CompareTo(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0, + class [runtime]System.Collections.IComparer V_1) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: ldloc.0 + IL_0010: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0015: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_001a: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any assembly/C + IL_0007: call instance int32 assembly/C::CompareTo(valuetype assembly/C) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C V_0, + valuetype assembly/C& V_1, + class [runtime]System.Collections.IComparer V_2) + IL_0000: ldarg.1 + IL_0001: unbox.any assembly/C + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0012: ldloc.1 + IL_0013: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0018: call int32 [netstandard]System.DateTime::Compare(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_001d: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 assembly/C::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1, + valuetype assembly/C& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_002b + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_001f: ldloc.2 + IL_0020: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0025: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_002a: ret + + IL_002b: ldc.i4.0 + IL_002c: ret + } + + .method public specialname rtspecialname instance void .ctor(valuetype [runtime]System.DateTime s) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld valuetype [runtime]System.DateTime assembly/C::s + IL_0007: ret + } + + .method assembly static int32 f() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: volatile. + IL_0003: ldsfld int32 assembly/C::init@4 + IL_0008: ldc.i4.1 + IL_0009: bge.s IL_0014 + + IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_0010: nop + IL_0011: nop + IL_0012: br.s IL_0015 + + IL_0014: nop + IL_0015: ldsfld int32 assembly/C::x + IL_001a: ldstr "2" + IL_001f: callvirt instance int32 [runtime]System.String::get_Length() + IL_0024: add + IL_0025: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype assembly/C obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype assembly/C& V_0) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_0009: ldloc.0 + IL_000a: ldfld valuetype [runtime]System.DateTime assembly/C::s + IL_000f: call bool [netstandard]System.DateTime::Equals(valuetype [netstandard]System.DateTime, + valuetype [netstandard]System.DateTime) + IL_0014: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype assembly/C V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst assembly/C + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any assembly/C + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool assembly/C::Equals(valuetype assembly/C) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "1" + IL_0005: callvirt instance int32 [runtime]System.String::get_Length() + IL_000a: stsfld int32 assembly/C::x + IL_000f: ldc.i4.1 + IL_0010: volatile. + IL_0012: stsfld int32 assembly/C::init@4 + IL_0017: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/C::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_1.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_1.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_1.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_1.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_1.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_1.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs new file mode 100644 index 00000000000..01e8d833c73 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs @@ -0,0 +1,39 @@ +// =========================================================================================================================== +// Test case for GenericEqualityERFast with floats/doubles +// Ensures that matrix of values evaluate to the same values as the shipping compiler +// =========================================================================================================================== +module floatsanddoubles + +open System +open System + +type Float = + struct + val F : float + new (f:float) = { F = f } + end + +type Double = + struct + val D : double + new (d:double) = { D = d } + end + +let floats = [| Float(Double.Epsilon); Float(Double.MinValue); Float(Double.MaxValue);Float(Double.NegativeInfinity);Float(Double.PositiveInfinity);Float(Double.NaN); Float(7.1)|] +let doubles = [| Double(Double.Epsilon); Double(Double.MinValue); Double(Double.MaxValue);Double(Double.NegativeInfinity);Double(Double.PositiveInfinity);Double(Double.NaN); Double(8.1)|] +let names = [| "Epsilon"; "MinValue"; "MaxValue";"NegativeInfinity";"PositiveInfinity";"NaN";"Number" |] + +[] +let main argv = + + for i in 0 .. doubles.Length - 1 do + for j in 0 .. doubles.Length - 1 do + printfn "Doubles: %-17s = %-17s is: %-5b Values %f = %f" (names.[i]) (names.[j]) (doubles.[i].Equals(doubles.[j])) (doubles.[i].D) (doubles.[j].D) + printfn "" + + for i in 0 .. floats.Length - 1 do + for j in 0 .. floats.Length - 1 do + printfn "Floats: %-17s = %-17s is: %-5b Values %f = %f" (names.[i]) (names.[j]) (floats.[i].Equals(floats.[j])) (floats.[i].F) (floats.[j].F) + printfn "" + + 0 // return an integer exit code diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl new file mode 100644 index 00000000000..7cb7c732b1f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl @@ -0,0 +1,1449 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed floatsanddoubles + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Float + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly float64 F@ + .method public hidebysig specialname instance float64 get_F() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 floatsanddoubles/Float::F@ + IL_0006: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(valuetype floatsanddoubles/Float obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Float& V_0, + class [runtime]System.Collections.IComparer V_1, + float64 V_2, + float64 V_3, + class [runtime]System.Collections.IComparer V_4, + float64 V_5, + float64 V_6) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld float64 floatsanddoubles/Float::F@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld float64 floatsanddoubles/Float::F@ + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: stloc.s V_5 + IL_001d: ldloc.3 + IL_001e: stloc.s V_6 + IL_0020: ldloc.s V_5 + IL_0022: ldloc.s V_6 + IL_0024: clt + IL_0026: brfalse.s IL_002a + + IL_0028: ldc.i4.m1 + IL_0029: ret + + IL_002a: ldloc.s V_5 + IL_002c: ldloc.s V_6 + IL_002e: cgt + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.1 + IL_0033: ret + + IL_0034: ldloc.s V_5 + IL_0036: ldloc.s V_6 + IL_0038: ceq + IL_003a: brfalse.s IL_003e + + IL_003c: ldc.i4.0 + IL_003d: ret + + IL_003e: ldloc.s V_4 + IL_0040: ldloc.s V_5 + IL_0042: ldloc.s V_6 + IL_0044: tail. + IL_0046: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_004b: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any floatsanddoubles/Float + IL_0007: call instance int32 floatsanddoubles/Float::CompareTo(valuetype floatsanddoubles/Float) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Float V_0, + valuetype floatsanddoubles/Float& V_1, + class [runtime]System.Collections.IComparer V_2, + float64 V_3, + float64 V_4, + class [runtime]System.Collections.IComparer V_5, + float64 V_6, + float64 V_7) + IL_0000: ldarg.1 + IL_0001: unbox.any floatsanddoubles/Float + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld float64 floatsanddoubles/Float::F@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld float64 floatsanddoubles/Float::F@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: stloc.s V_6 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_7 + IL_0025: ldloc.s V_6 + IL_0027: ldloc.s V_7 + IL_0029: clt + IL_002b: brfalse.s IL_002f + + IL_002d: ldc.i4.m1 + IL_002e: ret + + IL_002f: ldloc.s V_6 + IL_0031: ldloc.s V_7 + IL_0033: cgt + IL_0035: brfalse.s IL_0039 + + IL_0037: ldc.i4.1 + IL_0038: ret + + IL_0039: ldloc.s V_6 + IL_003b: ldloc.s V_7 + IL_003d: ceq + IL_003f: brfalse.s IL_0043 + + IL_0041: ldc.i4.0 + IL_0042: ret + + IL_0043: ldloc.s V_5 + IL_0045: ldloc.s V_6 + IL_0047: ldloc.s V_7 + IL_0049: tail. + IL_004b: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld float64 floatsanddoubles/Float::F@ + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 floatsanddoubles/Float::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Float V_1, + valuetype floatsanddoubles/Float& V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + float64 V_4, + float64 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Float + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0033 + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Float + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld float64 floatsanddoubles/Float::F@ + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld float64 floatsanddoubles/Float::F@ + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + } + + .method public specialname rtspecialname instance void .ctor(float64 f) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld float64 floatsanddoubles/Float::F@ + IL_0007: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype floatsanddoubles/Float obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype floatsanddoubles/Float& V_0, + float64 V_1, + float64 V_2, + float64 V_3, + float64 V_4) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld float64 floatsanddoubles/Float::F@ + IL_0009: stloc.1 + IL_000a: ldloc.0 + IL_000b: ldfld float64 floatsanddoubles/Float::F@ + IL_0010: stloc.2 + IL_0011: ldloc.1 + IL_0012: stloc.3 + IL_0013: ldloc.2 + IL_0014: stloc.s V_4 + IL_0016: ldloc.3 + IL_0017: ldloc.s V_4 + IL_0019: ceq + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.1 + IL_001e: ret + + IL_001f: ldloc.3 + IL_0020: ldloc.3 + IL_0021: beq.s IL_002d + + IL_0023: ldloc.s V_4 + IL_0025: ldloc.s V_4 + IL_0027: ceq + IL_0029: ldc.i4.0 + IL_002a: ceq + IL_002c: ret + + IL_002d: ldc.i4.0 + IL_002e: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Float V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Float + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Float + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool floatsanddoubles/Float::Equals(valuetype floatsanddoubles/Float) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance float64 F() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance float64 floatsanddoubles/Float::get_F() + } + } + + .class sequential ansi serializable sealed nested public Double + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly float64 D@ + .method public hidebysig specialname instance float64 get_D() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 floatsanddoubles/Double::D@ + IL_0006: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(valuetype floatsanddoubles/Double obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Double& V_0, + class [runtime]System.Collections.IComparer V_1, + float64 V_2, + float64 V_3, + class [runtime]System.Collections.IComparer V_4, + float64 V_5, + float64 V_6) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld float64 floatsanddoubles/Double::D@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld float64 floatsanddoubles/Double::D@ + IL_0016: stloc.3 + IL_0017: ldloc.1 + IL_0018: stloc.s V_4 + IL_001a: ldloc.2 + IL_001b: stloc.s V_5 + IL_001d: ldloc.3 + IL_001e: stloc.s V_6 + IL_0020: ldloc.s V_5 + IL_0022: ldloc.s V_6 + IL_0024: clt + IL_0026: brfalse.s IL_002a + + IL_0028: ldc.i4.m1 + IL_0029: ret + + IL_002a: ldloc.s V_5 + IL_002c: ldloc.s V_6 + IL_002e: cgt + IL_0030: brfalse.s IL_0034 + + IL_0032: ldc.i4.1 + IL_0033: ret + + IL_0034: ldloc.s V_5 + IL_0036: ldloc.s V_6 + IL_0038: ceq + IL_003a: brfalse.s IL_003e + + IL_003c: ldc.i4.0 + IL_003d: ret + + IL_003e: ldloc.s V_4 + IL_0040: ldloc.s V_5 + IL_0042: ldloc.s V_6 + IL_0044: tail. + IL_0046: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_004b: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any floatsanddoubles/Double + IL_0007: call instance int32 floatsanddoubles/Double::CompareTo(valuetype floatsanddoubles/Double) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Double V_0, + valuetype floatsanddoubles/Double& V_1, + class [runtime]System.Collections.IComparer V_2, + float64 V_3, + float64 V_4, + class [runtime]System.Collections.IComparer V_5, + float64 V_6, + float64 V_7) + IL_0000: ldarg.1 + IL_0001: unbox.any floatsanddoubles/Double + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld float64 floatsanddoubles/Double::D@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld float64 floatsanddoubles/Double::D@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.2 + IL_001c: stloc.s V_5 + IL_001e: ldloc.3 + IL_001f: stloc.s V_6 + IL_0021: ldloc.s V_4 + IL_0023: stloc.s V_7 + IL_0025: ldloc.s V_6 + IL_0027: ldloc.s V_7 + IL_0029: clt + IL_002b: brfalse.s IL_002f + + IL_002d: ldc.i4.m1 + IL_002e: ret + + IL_002f: ldloc.s V_6 + IL_0031: ldloc.s V_7 + IL_0033: cgt + IL_0035: brfalse.s IL_0039 + + IL_0037: ldc.i4.1 + IL_0038: ret + + IL_0039: ldloc.s V_6 + IL_003b: ldloc.s V_7 + IL_003d: ceq + IL_003f: brfalse.s IL_0043 + + IL_0041: ldc.i4.0 + IL_0042: ret + + IL_0043: ldloc.s V_5 + IL_0045: ldloc.s V_6 + IL_0047: ldloc.s V_7 + IL_0049: tail. + IL_004b: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0050: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld float64 floatsanddoubles/Double::D@ + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 floatsanddoubles/Double::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Double V_1, + valuetype floatsanddoubles/Double& V_2, + class [runtime]System.Collections.IEqualityComparer V_3, + float64 V_4, + float64 V_5, + class [runtime]System.Collections.IEqualityComparer V_6) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Double + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0033 + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Double + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld float64 floatsanddoubles/Double::D@ + IL_001f: stloc.s V_4 + IL_0021: ldloc.2 + IL_0022: ldfld float64 floatsanddoubles/Double::D@ + IL_0027: stloc.s V_5 + IL_0029: ldloc.3 + IL_002a: stloc.s V_6 + IL_002c: ldloc.s V_4 + IL_002e: ldloc.s V_5 + IL_0030: ceq + IL_0032: ret + + IL_0033: ldc.i4.0 + IL_0034: ret + } + + .method public specialname rtspecialname instance void .ctor(float64 d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld float64 floatsanddoubles/Double::D@ + IL_0007: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype floatsanddoubles/Double obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype floatsanddoubles/Double& V_0, + float64 V_1, + float64 V_2, + float64 V_3, + float64 V_4) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld float64 floatsanddoubles/Double::D@ + IL_0009: stloc.1 + IL_000a: ldloc.0 + IL_000b: ldfld float64 floatsanddoubles/Double::D@ + IL_0010: stloc.2 + IL_0011: ldloc.1 + IL_0012: stloc.3 + IL_0013: ldloc.2 + IL_0014: stloc.s V_4 + IL_0016: ldloc.3 + IL_0017: ldloc.s V_4 + IL_0019: ceq + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.1 + IL_001e: ret + + IL_001f: ldloc.3 + IL_0020: ldloc.3 + IL_0021: beq.s IL_002d + + IL_0023: ldloc.s V_4 + IL_0025: ldloc.s V_4 + IL_0027: ceq + IL_0029: ldc.i4.0 + IL_002a: ceq + IL_002c: ret + + IL_002d: ldc.i4.0 + IL_002e: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Double V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Double + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Double + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool floatsanddoubles/Double::Equals(valuetype floatsanddoubles/Double) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance float64 D() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance float64 floatsanddoubles/Double::get_D() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@31-4'::clo5 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit Invoke(float64 arg50) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@31-4'::clo5 + IL_0006: ldarg.1 + IL_0007: tail. + IL_0009: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@31-3'::clo4 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Invoke(float64 arg40) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@31-3'::clo4 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@31-2'::clo3 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> Invoke(bool arg30) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@31-2'::clo3 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@31-1'::clo2 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> Invoke(string arg20) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@31-1'::clo2 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit main@31 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/main@31::clo1 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> Invoke(string arg10) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/main@31::clo1 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-9' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@36-9'::clo5 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit Invoke(float64 arg50) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@36-9'::clo5 + IL_0006: ldarg.1 + IL_0007: tail. + IL_0009: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-8' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@36-8'::clo4 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Invoke(float64 arg40) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@36-8'::clo4 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-9'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-7' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@36-7'::clo3 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> Invoke(bool arg30) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@36-7'::clo3 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-8'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@36-6'::clo2 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> Invoke(string arg20) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@36-6'::clo2 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-7'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/'main@36-5'::clo1 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> Invoke(string arg10) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/'main@36-5'::clo1 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-6'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>) + IL_0013: ret + } + + } + + .field static assembly valuetype floatsanddoubles/Float[] floats@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype floatsanddoubles/Double[] doubles@23 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly string[] names@24 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static valuetype floatsanddoubles/Float[] get_floats() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype floatsanddoubles/Float[] floatsanddoubles::floats@22 + IL_0005: ret + } + + .method public specialname static valuetype floatsanddoubles/Double[] get_doubles() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype floatsanddoubles/Double[] floatsanddoubles::doubles@23 + IL_0005: ret + } + + .method public specialname static string[] get_names() cil managed + { + + .maxstack 8 + IL_0000: ldsfld string[] floatsanddoubles::names@24 + IL_0005: ret + } + + .method public static int32 main(string[] argv) cil managed + { + .entrypoint + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 9 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> V_2, + int32 V_3, + int32 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> V_5) + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$floatsanddoubles::init@ + IL_0006: ldsfld int32 ''.$floatsanddoubles::init@ + IL_000b: pop + IL_000c: ldc.i4.0 + IL_000d: stloc.0 + IL_000e: br IL_00b4 + + IL_0013: ldc.i4.0 + IL_0014: stloc.1 + IL_0015: br.s IL_0093 + + IL_0017: ldstr "Doubles: %-17s = %-17s is: %-5b Values %f = %f" + IL_001c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.Tuple`5>::.ctor(string) + IL_0021: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0026: stloc.2 + IL_0027: ldloc.2 + IL_0028: newobj instance void floatsanddoubles/main@31::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>) + IL_002d: call string[] floatsanddoubles::get_names() + IL_0032: ldloc.0 + IL_0033: ldelem [runtime]System.String + IL_0038: call string[] floatsanddoubles::get_names() + IL_003d: ldloc.1 + IL_003e: ldelem [runtime]System.String + IL_0043: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_0048: ldloc.0 + IL_0049: ldelema floatsanddoubles/Double + IL_004e: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_0053: ldloc.1 + IL_0054: ldelem floatsanddoubles/Double + IL_0059: box floatsanddoubles/Double + IL_005e: constrained. floatsanddoubles/Double + IL_0064: callvirt instance bool [runtime]System.Object::Equals(object) + IL_0069: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_006e: ldloc.0 + IL_006f: ldelema floatsanddoubles/Double + IL_0074: ldfld float64 floatsanddoubles/Double::D@ + IL_0079: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_007e: ldloc.1 + IL_007f: ldelema floatsanddoubles/Double + IL_0084: ldfld float64 floatsanddoubles/Double::D@ + IL_0089: call !!3 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::InvokeFast(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>, + !0, + !1, + !!0, + !!1, + !!2) + IL_008e: pop + IL_008f: ldloc.1 + IL_0090: ldc.i4.1 + IL_0091: add + IL_0092: stloc.1 + IL_0093: ldloc.1 + IL_0094: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_0099: ldlen + IL_009a: conv.i4 + IL_009b: blt IL_0017 + + IL_00a0: ldstr "" + IL_00a5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_00aa: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00af: pop + IL_00b0: ldloc.0 + IL_00b1: ldc.i4.1 + IL_00b2: add + IL_00b3: stloc.0 + IL_00b4: ldloc.0 + IL_00b5: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_00ba: ldlen + IL_00bb: conv.i4 + IL_00bc: blt IL_0013 + + IL_00c1: ldc.i4.0 + IL_00c2: stloc.3 + IL_00c3: br IL_0175 + + IL_00c8: ldc.i4.0 + IL_00c9: stloc.s V_4 + IL_00cb: br IL_0153 + + IL_00d0: ldstr "Floats: %-17s = %-17s is: %-5b Values %f = %f" + IL_00d5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.Tuple`5>::.ctor(string) + IL_00da: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00df: stloc.s V_5 + IL_00e1: ldloc.s V_5 + IL_00e3: newobj instance void floatsanddoubles/'main@36-5'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>) + IL_00e8: call string[] floatsanddoubles::get_names() + IL_00ed: ldloc.3 + IL_00ee: ldelem [runtime]System.String + IL_00f3: call string[] floatsanddoubles::get_names() + IL_00f8: ldloc.s V_4 + IL_00fa: ldelem [runtime]System.String + IL_00ff: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_0104: ldloc.3 + IL_0105: ldelema floatsanddoubles/Float + IL_010a: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_010f: ldloc.s V_4 + IL_0111: ldelem floatsanddoubles/Float + IL_0116: box floatsanddoubles/Float + IL_011b: constrained. floatsanddoubles/Float + IL_0121: callvirt instance bool [runtime]System.Object::Equals(object) + IL_0126: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_012b: ldloc.3 + IL_012c: ldelema floatsanddoubles/Float + IL_0131: ldfld float64 floatsanddoubles/Float::F@ + IL_0136: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_013b: ldloc.s V_4 + IL_013d: ldelema floatsanddoubles/Float + IL_0142: ldfld float64 floatsanddoubles/Float::F@ + IL_0147: call !!3 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::InvokeFast(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>, + !0, + !1, + !!0, + !!1, + !!2) + IL_014c: pop + IL_014d: ldloc.s V_4 + IL_014f: ldc.i4.1 + IL_0150: add + IL_0151: stloc.s V_4 + IL_0153: ldloc.s V_4 + IL_0155: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_015a: ldlen + IL_015b: conv.i4 + IL_015c: blt IL_00d0 + + IL_0161: ldstr "" + IL_0166: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_016b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0170: pop + IL_0171: ldloc.3 + IL_0172: ldc.i4.1 + IL_0173: add + IL_0174: stloc.3 + IL_0175: ldloc.3 + IL_0176: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_017b: ldlen + IL_017c: conv.i4 + IL_017d: blt IL_00c8 + + IL_0182: ldc.i4.0 + IL_0183: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$floatsanddoubles::init@ + IL_0006: ldsfld int32 ''.$floatsanddoubles::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 6 + IL_0000: ldc.i4.7 + IL_0001: newarr floatsanddoubles/Float + IL_0006: dup + IL_0007: ldc.i4.0 + IL_0008: ldc.r8 4.9406564584124654e-324 + IL_0011: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0016: stelem floatsanddoubles/Float + IL_001b: dup + IL_001c: ldc.i4.1 + IL_001d: ldc.r8 -1.7976931348623157e+308 + IL_0026: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_002b: stelem floatsanddoubles/Float + IL_0030: dup + IL_0031: ldc.i4.2 + IL_0032: ldc.r8 1.7976931348623157e+308 + IL_003b: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0040: stelem floatsanddoubles/Float + IL_0045: dup + IL_0046: ldc.i4.3 + IL_0047: ldc.r8 (00 00 00 00 00 00 F0 FF) + IL_0050: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0055: stelem floatsanddoubles/Float + IL_005a: dup + IL_005b: ldc.i4.4 + IL_005c: ldc.r8 (00 00 00 00 00 00 F0 7F) + IL_0065: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_006a: stelem floatsanddoubles/Float + IL_006f: dup + IL_0070: ldc.i4.5 + IL_0071: ldc.r8 (00 00 00 00 00 00 F8 FF) + IL_007a: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_007f: stelem floatsanddoubles/Float + IL_0084: dup + IL_0085: ldc.i4.6 + IL_0086: ldc.r8 7.0999999999999996 + IL_008f: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0094: stelem floatsanddoubles/Float + IL_0099: stsfld valuetype floatsanddoubles/Float[] floatsanddoubles::floats@22 + IL_009e: ldc.i4.7 + IL_009f: newarr floatsanddoubles/Double + IL_00a4: dup + IL_00a5: ldc.i4.0 + IL_00a6: ldc.r8 4.9406564584124654e-324 + IL_00af: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00b4: stelem floatsanddoubles/Double + IL_00b9: dup + IL_00ba: ldc.i4.1 + IL_00bb: ldc.r8 -1.7976931348623157e+308 + IL_00c4: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00c9: stelem floatsanddoubles/Double + IL_00ce: dup + IL_00cf: ldc.i4.2 + IL_00d0: ldc.r8 1.7976931348623157e+308 + IL_00d9: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00de: stelem floatsanddoubles/Double + IL_00e3: dup + IL_00e4: ldc.i4.3 + IL_00e5: ldc.r8 (00 00 00 00 00 00 F0 FF) + IL_00ee: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00f3: stelem floatsanddoubles/Double + IL_00f8: dup + IL_00f9: ldc.i4.4 + IL_00fa: ldc.r8 (00 00 00 00 00 00 F0 7F) + IL_0103: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_0108: stelem floatsanddoubles/Double + IL_010d: dup + IL_010e: ldc.i4.5 + IL_010f: ldc.r8 (00 00 00 00 00 00 F8 FF) + IL_0118: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_011d: stelem floatsanddoubles/Double + IL_0122: dup + IL_0123: ldc.i4.6 + IL_0124: ldc.r8 8.0999999999999996 + IL_012d: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_0132: stelem floatsanddoubles/Double + IL_0137: stsfld valuetype floatsanddoubles/Double[] floatsanddoubles::doubles@23 + IL_013c: ldc.i4.7 + IL_013d: newarr [runtime]System.String + IL_0142: dup + IL_0143: ldc.i4.0 + IL_0144: ldstr "Epsilon" + IL_0149: stelem [runtime]System.String + IL_014e: dup + IL_014f: ldc.i4.1 + IL_0150: ldstr "MinValue" + IL_0155: stelem [runtime]System.String + IL_015a: dup + IL_015b: ldc.i4.2 + IL_015c: ldstr "MaxValue" + IL_0161: stelem [runtime]System.String + IL_0166: dup + IL_0167: ldc.i4.3 + IL_0168: ldstr "NegativeInfinity" + IL_016d: stelem [runtime]System.String + IL_0172: dup + IL_0173: ldc.i4.4 + IL_0174: ldstr "PositiveInfinity" + IL_0179: stelem [runtime]System.String + IL_017e: dup + IL_017f: ldc.i4.5 + IL_0180: ldstr "NaN" + IL_0185: stelem [runtime]System.String + IL_018a: dup + IL_018b: ldc.i4.6 + IL_018c: ldstr "Number" + IL_0191: stelem [runtime]System.String + IL_0196: stsfld string[] floatsanddoubles::names@24 + IL_019b: ret + } + + .property valuetype floatsanddoubles/Float[] + floats() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + } + .property valuetype floatsanddoubles/Double[] + doubles() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + } + .property string[] names() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get string[] floatsanddoubles::get_names() + } +} + +.class private abstract auto ansi sealed ''.$floatsanddoubles + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void floatsanddoubles::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl new file mode 100644 index 00000000000..e571898c0f6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl @@ -0,0 +1,1383 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed floatsanddoubles + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class sequential ansi serializable sealed nested public Float + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly float64 F@ + .method public hidebysig specialname instance float64 get_F() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 floatsanddoubles/Float::F@ + IL_0006: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(valuetype floatsanddoubles/Float obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Float& V_0, + class [runtime]System.Collections.IComparer V_1, + float64 V_2, + float64 V_3) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld float64 floatsanddoubles/Float::F@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld float64 floatsanddoubles/Float::F@ + IL_0016: stloc.3 + IL_0017: ldloc.2 + IL_0018: ldloc.3 + IL_0019: clt + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.m1 + IL_001e: ret + + IL_001f: ldloc.2 + IL_0020: ldloc.3 + IL_0021: cgt + IL_0023: brfalse.s IL_0027 + + IL_0025: ldc.i4.1 + IL_0026: ret + + IL_0027: ldloc.2 + IL_0028: ldloc.3 + IL_0029: ceq + IL_002b: brfalse.s IL_002f + + IL_002d: ldc.i4.0 + IL_002e: ret + + IL_002f: ldloc.1 + IL_0030: ldloc.2 + IL_0031: ldloc.3 + IL_0032: tail. + IL_0034: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0039: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any floatsanddoubles/Float + IL_0007: call instance int32 floatsanddoubles/Float::CompareTo(valuetype floatsanddoubles/Float) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Float V_0, + valuetype floatsanddoubles/Float& V_1, + class [runtime]System.Collections.IComparer V_2, + float64 V_3, + float64 V_4) + IL_0000: ldarg.1 + IL_0001: unbox.any floatsanddoubles/Float + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld float64 floatsanddoubles/Float::F@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld float64 floatsanddoubles/Float::F@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.3 + IL_001c: ldloc.s V_4 + IL_001e: clt + IL_0020: brfalse.s IL_0024 + + IL_0022: ldc.i4.m1 + IL_0023: ret + + IL_0024: ldloc.3 + IL_0025: ldloc.s V_4 + IL_0027: cgt + IL_0029: brfalse.s IL_002d + + IL_002b: ldc.i4.1 + IL_002c: ret + + IL_002d: ldloc.3 + IL_002e: ldloc.s V_4 + IL_0030: ceq + IL_0032: brfalse.s IL_0036 + + IL_0034: ldc.i4.0 + IL_0035: ret + + IL_0036: ldloc.2 + IL_0037: ldloc.3 + IL_0038: ldloc.s V_4 + IL_003a: tail. + IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld float64 floatsanddoubles/Float::F@ + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 floatsanddoubles/Float::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Float V_1, + valuetype floatsanddoubles/Float& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Float + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0028 + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Float + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld float64 floatsanddoubles/Float::F@ + IL_001f: ldloc.2 + IL_0020: ldfld float64 floatsanddoubles/Float::F@ + IL_0025: ceq + IL_0027: ret + + IL_0028: ldc.i4.0 + IL_0029: ret + } + + .method public specialname rtspecialname instance void .ctor(float64 f) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld float64 floatsanddoubles/Float::F@ + IL_0007: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype floatsanddoubles/Float obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype floatsanddoubles/Float& V_0, + float64 V_1, + float64 V_2) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld float64 floatsanddoubles/Float::F@ + IL_0009: stloc.1 + IL_000a: ldloc.0 + IL_000b: ldfld float64 floatsanddoubles/Float::F@ + IL_0010: stloc.2 + IL_0011: ldloc.1 + IL_0012: ldloc.2 + IL_0013: ceq + IL_0015: brfalse.s IL_0019 + + IL_0017: ldc.i4.1 + IL_0018: ret + + IL_0019: ldloc.1 + IL_001a: ldloc.1 + IL_001b: beq.s IL_0025 + + IL_001d: ldloc.2 + IL_001e: ldloc.2 + IL_001f: ceq + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + + IL_0025: ldc.i4.0 + IL_0026: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Float V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Float + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Float + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool floatsanddoubles/Float::Equals(valuetype floatsanddoubles/Float) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance float64 F() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance float64 floatsanddoubles/Float::get_F() + } + } + + .class sequential ansi serializable sealed nested public Double + extends [runtime]System.ValueType + implements class [runtime]System.IEquatable`1, + [runtime]System.Collections.IStructuralEquatable, + class [runtime]System.IComparable`1, + [runtime]System.IComparable, + [runtime]System.Collections.IStructuralComparable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly float64 D@ + .method public hidebysig specialname instance float64 get_D() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld float64 floatsanddoubles/Double::D@ + IL_0006: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(valuetype floatsanddoubles/Double obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Double& V_0, + class [runtime]System.Collections.IComparer V_1, + float64 V_2, + float64 V_3) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() + IL_0008: stloc.1 + IL_0009: ldarg.0 + IL_000a: ldfld float64 floatsanddoubles/Double::D@ + IL_000f: stloc.2 + IL_0010: ldloc.0 + IL_0011: ldfld float64 floatsanddoubles/Double::D@ + IL_0016: stloc.3 + IL_0017: ldloc.2 + IL_0018: ldloc.3 + IL_0019: clt + IL_001b: brfalse.s IL_001f + + IL_001d: ldc.i4.m1 + IL_001e: ret + + IL_001f: ldloc.2 + IL_0020: ldloc.3 + IL_0021: cgt + IL_0023: brfalse.s IL_0027 + + IL_0025: ldc.i4.1 + IL_0026: ret + + IL_0027: ldloc.2 + IL_0028: ldloc.3 + IL_0029: ceq + IL_002b: brfalse.s IL_002f + + IL_002d: ldc.i4.0 + IL_002e: ret + + IL_002f: ldloc.1 + IL_0030: ldloc.2 + IL_0031: ldloc.3 + IL_0032: tail. + IL_0034: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0039: ret + } + + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: unbox.any floatsanddoubles/Double + IL_0007: call instance int32 floatsanddoubles/Double::CompareTo(valuetype floatsanddoubles/Double) + IL_000c: ret + } + + .method public hidebysig virtual final + instance int32 CompareTo(object obj, + class [runtime]System.Collections.IComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (valuetype floatsanddoubles/Double V_0, + valuetype floatsanddoubles/Double& V_1, + class [runtime]System.Collections.IComparer V_2, + float64 V_3, + float64 V_4) + IL_0000: ldarg.1 + IL_0001: unbox.any floatsanddoubles/Double + IL_0006: stloc.0 + IL_0007: ldloca.s V_0 + IL_0009: stloc.1 + IL_000a: ldarg.2 + IL_000b: stloc.2 + IL_000c: ldarg.0 + IL_000d: ldfld float64 floatsanddoubles/Double::D@ + IL_0012: stloc.3 + IL_0013: ldloc.1 + IL_0014: ldfld float64 floatsanddoubles/Double::D@ + IL_0019: stloc.s V_4 + IL_001b: ldloc.3 + IL_001c: ldloc.s V_4 + IL_001e: clt + IL_0020: brfalse.s IL_0024 + + IL_0022: ldc.i4.m1 + IL_0023: ret + + IL_0024: ldloc.3 + IL_0025: ldloc.s V_4 + IL_0027: cgt + IL_0029: brfalse.s IL_002d + + IL_002b: ldc.i4.1 + IL_002c: ret + + IL_002d: ldloc.3 + IL_002e: ldloc.s V_4 + IL_0030: ceq + IL_0032: brfalse.s IL_0036 + + IL_0034: ldc.i4.0 + IL_0035: ret + + IL_0036: ldloc.2 + IL_0037: ldloc.3 + IL_0038: ldloc.s V_4 + IL_003a: tail. + IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericComparisonWithComparerIntrinsic(class [runtime]System.Collections.IComparer, + !!0, + !!0) + IL_0041: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4 0x9e3779b9 + IL_0007: ldarg.1 + IL_0008: ldarg.0 + IL_0009: ldfld float64 floatsanddoubles/Double::D@ + IL_000e: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/HashCompare::GenericHashWithComparerIntrinsic(class [runtime]System.Collections.IEqualityComparer, + !!0) + IL_0013: ldloc.0 + IL_0014: ldc.i4.6 + IL_0015: shl + IL_0016: ldloc.0 + IL_0017: ldc.i4.2 + IL_0018: shr + IL_0019: add + IL_001a: add + IL_001b: add + IL_001c: stloc.0 + IL_001d: ldloc.0 + IL_001e: ret + } + + .method public hidebysig virtual final instance int32 GetHashCode() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() + IL_0006: call instance int32 floatsanddoubles/Double::GetHashCode(class [runtime]System.Collections.IEqualityComparer) + IL_000b: ret + } + + .method public hidebysig virtual final + instance bool Equals(object obj, + class [runtime]System.Collections.IEqualityComparer comp) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Double V_1, + valuetype floatsanddoubles/Double& V_2, + class [runtime]System.Collections.IEqualityComparer V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Double + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_0028 + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Double + IL_0013: stloc.1 + IL_0014: ldloca.s V_1 + IL_0016: stloc.2 + IL_0017: ldarg.2 + IL_0018: stloc.3 + IL_0019: ldarg.0 + IL_001a: ldfld float64 floatsanddoubles/Double::D@ + IL_001f: ldloc.2 + IL_0020: ldfld float64 floatsanddoubles/Double::D@ + IL_0025: ceq + IL_0027: ret + + IL_0028: ldc.i4.0 + IL_0029: ret + } + + .method public specialname rtspecialname instance void .ctor(float64 d) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld float64 floatsanddoubles/Double::D@ + IL_0007: ret + } + + .method public hidebysig virtual final instance bool Equals(valuetype floatsanddoubles/Double obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (valuetype floatsanddoubles/Double& V_0, + float64 V_1, + float64 V_2) + IL_0000: ldarga.s obj + IL_0002: stloc.0 + IL_0003: ldarg.0 + IL_0004: ldfld float64 floatsanddoubles/Double::D@ + IL_0009: stloc.1 + IL_000a: ldloc.0 + IL_000b: ldfld float64 floatsanddoubles/Double::D@ + IL_0010: stloc.2 + IL_0011: ldloc.1 + IL_0012: ldloc.2 + IL_0013: ceq + IL_0015: brfalse.s IL_0019 + + IL_0017: ldc.i4.1 + IL_0018: ret + + IL_0019: ldloc.1 + IL_001a: ldloc.1 + IL_001b: beq.s IL_0025 + + IL_001d: ldloc.2 + IL_001e: ldloc.2 + IL_001f: ceq + IL_0021: ldc.i4.0 + IL_0022: ceq + IL_0024: ret + + IL_0025: ldc.i4.0 + IL_0026: ret + } + + .method public hidebysig virtual final instance bool Equals(object obj) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (object V_0, + valuetype floatsanddoubles/Double V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: isinst floatsanddoubles/Double + IL_0008: ldnull + IL_0009: cgt.un + IL_000b: brfalse.s IL_001c + + IL_000d: ldarg.1 + IL_000e: unbox.any floatsanddoubles/Double + IL_0013: stloc.1 + IL_0014: ldarg.0 + IL_0015: ldloc.1 + IL_0016: call instance bool floatsanddoubles/Double::Equals(valuetype floatsanddoubles/Double) + IL_001b: ret + + IL_001c: ldc.i4.0 + IL_001d: ret + } + + .property instance float64 D() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, + int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) + .get instance float64 floatsanddoubles/Double::get_D() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-4' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@31-4'::clo5 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit Invoke(float64 arg50) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@31-4'::clo5 + IL_0006: ldarg.1 + IL_0007: tail. + IL_0009: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@31-3'::clo4 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Invoke(float64 arg40) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@31-3'::clo4 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-4'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@31-2'::clo3 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> Invoke(bool arg30) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@31-2'::clo3 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-3'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@31-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@31-1'::clo2 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> Invoke(string arg20) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@31-1'::clo2 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-2'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit main@31 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/main@31::clo1 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> Invoke(string arg10) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/main@31::clo1 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@31-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-9' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 clo5) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@36-9'::clo5 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit Invoke(float64 arg50) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 floatsanddoubles/'main@36-9'::clo5 + IL_0006: ldarg.1 + IL_0007: tail. + IL_0009: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-8' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> clo4) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@36-8'::clo4 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Invoke(float64 arg40) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> floatsanddoubles/'main@36-8'::clo4 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-9'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-7' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> clo3) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@36-7'::clo3 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> Invoke(bool arg30) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> floatsanddoubles/'main@36-7'::clo3 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-8'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-6' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> clo2) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@36-6'::clo2 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> Invoke(string arg20) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> floatsanddoubles/'main@36-6'::clo2 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-7'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>) + IL_0013: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'main@36-5' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> clo1) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/'main@36-5'::clo1 + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> Invoke(string arg10) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> floatsanddoubles/'main@36-5'::clo1 + IL_0006: ldarg.1 + IL_0007: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>::Invoke(!0) + IL_000c: stloc.0 + IL_000d: ldloc.0 + IL_000e: newobj instance void floatsanddoubles/'main@36-6'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>) + IL_0013: ret + } + + } + + .field static assembly valuetype floatsanddoubles/Float[] floats@22 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype floatsanddoubles/Double[] doubles@23 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly string[] names@24 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static valuetype floatsanddoubles/Float[] get_floats() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype floatsanddoubles/Float[] floatsanddoubles::floats@22 + IL_0005: ret + } + + .method public specialname static valuetype floatsanddoubles/Double[] get_doubles() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype floatsanddoubles/Double[] floatsanddoubles::doubles@23 + IL_0005: ret + } + + .method public specialname static string[] get_names() cil managed + { + + .maxstack 8 + IL_0000: ldsfld string[] floatsanddoubles::names@24 + IL_0005: ret + } + + .method public static int32 main(string[] argv) cil managed + { + .entrypoint + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 9 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> V_2, + int32 V_3, + int32 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>> V_5) + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$floatsanddoubles::init@ + IL_0006: ldsfld int32 ''.$floatsanddoubles::init@ + IL_000b: pop + IL_000c: ldc.i4.0 + IL_000d: stloc.0 + IL_000e: br IL_00b4 + + IL_0013: ldc.i4.0 + IL_0014: stloc.1 + IL_0015: br.s IL_0093 + + IL_0017: ldstr "Doubles: %-17s = %-17s is: %-5b Values %f = %f" + IL_001c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.Tuple`5>::.ctor(string) + IL_0021: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0026: stloc.2 + IL_0027: ldloc.2 + IL_0028: newobj instance void floatsanddoubles/main@31::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>) + IL_002d: call string[] floatsanddoubles::get_names() + IL_0032: ldloc.0 + IL_0033: ldelem [runtime]System.String + IL_0038: call string[] floatsanddoubles::get_names() + IL_003d: ldloc.1 + IL_003e: ldelem [runtime]System.String + IL_0043: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_0048: ldloc.0 + IL_0049: ldelema floatsanddoubles/Double + IL_004e: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_0053: ldloc.1 + IL_0054: ldelem floatsanddoubles/Double + IL_0059: box floatsanddoubles/Double + IL_005e: constrained. floatsanddoubles/Double + IL_0064: callvirt instance bool [runtime]System.Object::Equals(object) + IL_0069: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_006e: ldloc.0 + IL_006f: ldelema floatsanddoubles/Double + IL_0074: ldfld float64 floatsanddoubles/Double::D@ + IL_0079: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_007e: ldloc.1 + IL_007f: ldelema floatsanddoubles/Double + IL_0084: ldfld float64 floatsanddoubles/Double::D@ + IL_0089: call !!3 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::InvokeFast(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>, + !0, + !1, + !!0, + !!1, + !!2) + IL_008e: pop + IL_008f: ldloc.1 + IL_0090: ldc.i4.1 + IL_0091: add + IL_0092: stloc.1 + IL_0093: ldloc.1 + IL_0094: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_0099: ldlen + IL_009a: conv.i4 + IL_009b: blt IL_0017 + + IL_00a0: ldstr "" + IL_00a5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_00aa: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00af: pop + IL_00b0: ldloc.0 + IL_00b1: ldc.i4.1 + IL_00b2: add + IL_00b3: stloc.0 + IL_00b4: ldloc.0 + IL_00b5: call valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + IL_00ba: ldlen + IL_00bb: conv.i4 + IL_00bc: blt IL_0013 + + IL_00c1: ldc.i4.0 + IL_00c2: stloc.3 + IL_00c3: br IL_0175 + + IL_00c8: ldc.i4.0 + IL_00c9: stloc.s V_4 + IL_00cb: br IL_0153 + + IL_00d0: ldstr "Floats: %-17s = %-17s is: %-5b Values %f = %f" + IL_00d5: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5>>>>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [runtime]System.Tuple`5>::.ctor(string) + IL_00da: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>>>>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_00df: stloc.s V_5 + IL_00e1: ldloc.s V_5 + IL_00e3: newobj instance void floatsanddoubles/'main@36-5'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>) + IL_00e8: call string[] floatsanddoubles::get_names() + IL_00ed: ldloc.3 + IL_00ee: ldelem [runtime]System.String + IL_00f3: call string[] floatsanddoubles::get_names() + IL_00f8: ldloc.s V_4 + IL_00fa: ldelem [runtime]System.String + IL_00ff: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_0104: ldloc.3 + IL_0105: ldelema floatsanddoubles/Float + IL_010a: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_010f: ldloc.s V_4 + IL_0111: ldelem floatsanddoubles/Float + IL_0116: box floatsanddoubles/Float + IL_011b: constrained. floatsanddoubles/Float + IL_0121: callvirt instance bool [runtime]System.Object::Equals(object) + IL_0126: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_012b: ldloc.3 + IL_012c: ldelema floatsanddoubles/Float + IL_0131: ldfld float64 floatsanddoubles/Float::F@ + IL_0136: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_013b: ldloc.s V_4 + IL_013d: ldelema floatsanddoubles/Float + IL_0142: ldfld float64 floatsanddoubles/Float::F@ + IL_0147: call !!3 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::InvokeFast(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>>, + !0, + !1, + !!0, + !!1, + !!2) + IL_014c: pop + IL_014d: ldloc.s V_4 + IL_014f: ldc.i4.1 + IL_0150: add + IL_0151: stloc.s V_4 + IL_0153: ldloc.s V_4 + IL_0155: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_015a: ldlen + IL_015b: conv.i4 + IL_015c: blt IL_00d0 + + IL_0161: ldstr "" + IL_0166: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_016b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0170: pop + IL_0171: ldloc.3 + IL_0172: ldc.i4.1 + IL_0173: add + IL_0174: stloc.3 + IL_0175: ldloc.3 + IL_0176: call valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + IL_017b: ldlen + IL_017c: conv.i4 + IL_017d: blt IL_00c8 + + IL_0182: ldc.i4.0 + IL_0183: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$floatsanddoubles::init@ + IL_0006: ldsfld int32 ''.$floatsanddoubles::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 6 + IL_0000: ldc.i4.7 + IL_0001: newarr floatsanddoubles/Float + IL_0006: dup + IL_0007: ldc.i4.0 + IL_0008: ldc.r8 4.9406564584124654e-324 + IL_0011: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0016: stelem floatsanddoubles/Float + IL_001b: dup + IL_001c: ldc.i4.1 + IL_001d: ldc.r8 -1.7976931348623157e+308 + IL_0026: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_002b: stelem floatsanddoubles/Float + IL_0030: dup + IL_0031: ldc.i4.2 + IL_0032: ldc.r8 1.7976931348623157e+308 + IL_003b: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0040: stelem floatsanddoubles/Float + IL_0045: dup + IL_0046: ldc.i4.3 + IL_0047: ldc.r8 (00 00 00 00 00 00 F0 FF) + IL_0050: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0055: stelem floatsanddoubles/Float + IL_005a: dup + IL_005b: ldc.i4.4 + IL_005c: ldc.r8 (00 00 00 00 00 00 F0 7F) + IL_0065: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_006a: stelem floatsanddoubles/Float + IL_006f: dup + IL_0070: ldc.i4.5 + IL_0071: ldc.r8 (00 00 00 00 00 00 F8 FF) + IL_007a: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_007f: stelem floatsanddoubles/Float + IL_0084: dup + IL_0085: ldc.i4.6 + IL_0086: ldc.r8 7.0999999999999996 + IL_008f: newobj instance void floatsanddoubles/Float::.ctor(float64) + IL_0094: stelem floatsanddoubles/Float + IL_0099: stsfld valuetype floatsanddoubles/Float[] floatsanddoubles::floats@22 + IL_009e: ldc.i4.7 + IL_009f: newarr floatsanddoubles/Double + IL_00a4: dup + IL_00a5: ldc.i4.0 + IL_00a6: ldc.r8 4.9406564584124654e-324 + IL_00af: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00b4: stelem floatsanddoubles/Double + IL_00b9: dup + IL_00ba: ldc.i4.1 + IL_00bb: ldc.r8 -1.7976931348623157e+308 + IL_00c4: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00c9: stelem floatsanddoubles/Double + IL_00ce: dup + IL_00cf: ldc.i4.2 + IL_00d0: ldc.r8 1.7976931348623157e+308 + IL_00d9: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00de: stelem floatsanddoubles/Double + IL_00e3: dup + IL_00e4: ldc.i4.3 + IL_00e5: ldc.r8 (00 00 00 00 00 00 F0 FF) + IL_00ee: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_00f3: stelem floatsanddoubles/Double + IL_00f8: dup + IL_00f9: ldc.i4.4 + IL_00fa: ldc.r8 (00 00 00 00 00 00 F0 7F) + IL_0103: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_0108: stelem floatsanddoubles/Double + IL_010d: dup + IL_010e: ldc.i4.5 + IL_010f: ldc.r8 (00 00 00 00 00 00 F8 FF) + IL_0118: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_011d: stelem floatsanddoubles/Double + IL_0122: dup + IL_0123: ldc.i4.6 + IL_0124: ldc.r8 8.0999999999999996 + IL_012d: newobj instance void floatsanddoubles/Double::.ctor(float64) + IL_0132: stelem floatsanddoubles/Double + IL_0137: stsfld valuetype floatsanddoubles/Double[] floatsanddoubles::doubles@23 + IL_013c: ldc.i4.7 + IL_013d: newarr [runtime]System.String + IL_0142: dup + IL_0143: ldc.i4.0 + IL_0144: ldstr "Epsilon" + IL_0149: stelem [runtime]System.String + IL_014e: dup + IL_014f: ldc.i4.1 + IL_0150: ldstr "MinValue" + IL_0155: stelem [runtime]System.String + IL_015a: dup + IL_015b: ldc.i4.2 + IL_015c: ldstr "MaxValue" + IL_0161: stelem [runtime]System.String + IL_0166: dup + IL_0167: ldc.i4.3 + IL_0168: ldstr "NegativeInfinity" + IL_016d: stelem [runtime]System.String + IL_0172: dup + IL_0173: ldc.i4.4 + IL_0174: ldstr "PositiveInfinity" + IL_0179: stelem [runtime]System.String + IL_017e: dup + IL_017f: ldc.i4.5 + IL_0180: ldstr "NaN" + IL_0185: stelem [runtime]System.String + IL_018a: dup + IL_018b: ldc.i4.6 + IL_018c: ldstr "Number" + IL_0191: stelem [runtime]System.String + IL_0196: stsfld string[] floatsanddoubles::names@24 + IL_019b: ret + } + + .property valuetype floatsanddoubles/Float[] + floats() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype floatsanddoubles/Float[] floatsanddoubles::get_floats() + } + .property valuetype floatsanddoubles/Double[] + doubles() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype floatsanddoubles/Double[] floatsanddoubles::get_doubles() + } + .property string[] names() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get string[] floatsanddoubles::get_names() + } +} + +.class private abstract auto ansi sealed ''.$floatsanddoubles + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void floatsanddoubles::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs index ee656354ef8..2d542bddee5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/Structure.fs @@ -137,10 +137,18 @@ module Structure = compilation |> verifyCompilation - // SOURCE=FloatsAndDoubles.fs SCFLAGS="-g --out:FloatsAndDoubles.exe" COMPILE_ONLY=1 POSTCMD="comparebsl.cmd FloatsAndDoubles.exe" # FloatsAndDoubles.fs - [] - let ``FloatsAndDoubles_fs`` compilation = + // SOURCE=FloatsAndDoubles_1.fs SCFLAGS="-g --out:FloatsAndDoubles.exe" COMPILE_ONLY=1 POSTCMD="comparebsl.cmd FloatsAndDoubles.exe" # FloatsAndDoubles.fs + [] + let ``FloatsAndDoubles_1_fs`` compilation = compilation + |> withRealInternalSignatureOff + |> verifyIl + + // SOURCE=FloatsAndDoubles_2.fs SCFLAGS="-g --out:FloatsAndDoubles.exe" COMPILE_ONLY=1 POSTCMD="comparebsl.cmd FloatsAndDoubles.exe" # FloatsAndDoubles.fs + [] + let ``FloatsAndDoubles_2_fs`` compilation = + compilation + |> withRealInternalSignatureOn |> verifyIl // SOURCE=FunctionArity01.fs SCFLAGS="-r:CodeGenHelper.dll" # FunctionArity01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOff.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOff.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..e2cd598647c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs @@ -0,0 +1,14 @@ +// #Regression #NoMono #NoMT #CodeGen #EmittedIL +// Regression test for FSHARP1.0:2484 +// Note: we might see changes related to another bug +// related to spans +#light + +[] +let Null = null + +let x = 5 + +match box x with // bp here + | Null -> printfn "Is null" // bp here + | _ -> () diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl new file mode 100644 index 00000000000..fcd022c006c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl @@ -0,0 +1,129 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static !!a Null() cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.LiteralAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 3 + .locals init (!!a V_0) + IL_0000: ldloc.0 + IL_0001: ret + } + + .method public specialname static int32 get_x() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.5 + IL_0001: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: nop + IL_0002: call int32 assembly::get_x() + IL_0007: box [runtime]System.Int32 + IL_000c: brfalse.s IL_0010 + + IL_000e: br.s IL_0023 + + IL_0010: ldstr "Is null" + IL_0015: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001f: pop + IL_0020: nop + IL_0021: br.s IL_0025 + + IL_0023: nop + IL_0024: nop + IL_0025: ret + } + + .property int32 x() + { + .get int32 assembly::get_x() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..0a15c1e7f3e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..a73b534aaca --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,89 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl new file mode 100644 index 00000000000..a2bffacbbc6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl @@ -0,0 +1,90 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..b0bb870e52c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +let _ = System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..a73b534aaca --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,89 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl new file mode 100644 index 00000000000..a2bffacbbc6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl @@ -0,0 +1,90 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..107a0547a4c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +let () = System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..a73b534aaca --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,89 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl new file mode 100644 index 00000000000..a2bffacbbc6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl @@ -0,0 +1,90 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..9e9cf22b6dd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +do System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..a73b534aaca --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,89 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl new file mode 100644 index 00000000000..a2bffacbbc6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl @@ -0,0 +1,90 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void [runtime]System.Console::WriteLine() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..ef4a3242125 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs @@ -0,0 +1,4 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +while true do + System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..415128c44e6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,94 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: br.s IL_0007 + + IL_0002: call void [runtime]System.Console::WriteLine() + IL_0007: ldc.i4.1 + IL_0008: brtrue.s IL_0002 + + IL_000a: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl new file mode 100644 index 00000000000..8fae69670b8 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl @@ -0,0 +1,95 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: br.s IL_0007 + + IL_0002: call void [runtime]System.Console::WriteLine() + IL_0007: ldc.i4.1 + IL_0008: brtrue.s IL_0002 + + IL_000a: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..6fd7e43ade2 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs @@ -0,0 +1,5 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +match "A" with + | "A" -> System.Console.WriteLine() + | _ -> System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl new file mode 100644 index 00000000000..dc00482c86a --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl @@ -0,0 +1,109 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (string V_0) + IL_0000: ldstr "A" + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "A" + IL_000c: call bool [netstandard]System.String::Equals(string, + string) + IL_0011: brfalse.s IL_001b + + IL_0013: call void [runtime]System.Console::WriteLine() + IL_0018: nop + IL_0019: br.s IL_0021 + + IL_001b: call void [runtime]System.Console::WriteLine() + IL_0020: nop + IL_0021: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..876f1572531 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,108 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (string V_0) + IL_0000: ldstr "A" + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "A" + IL_000c: call bool [netstandard]System.String::Equals(string, + string) + IL_0011: brfalse.s IL_001b + + IL_0013: call void [runtime]System.Console::WriteLine() + IL_0018: nop + IL_0019: br.s IL_0021 + + IL_001b: call void [runtime]System.Console::WriteLine() + IL_0020: nop + IL_0021: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.netcore .bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.netcore .bsl new file mode 100644 index 00000000000..21305bb0d17 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.netcore .bsl @@ -0,0 +1,90 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 4 + .locals init (string V_0) + IL_0000: ldstr "A" + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldstr "A" + IL_000c: call bool [netstandard]System.String::Equals(string, + string) + IL_0011: brfalse.s IL_001b + + IL_0013: call void [runtime]System.Console::WriteLine() + IL_0018: nop + IL_0019: br.s IL_0021 + + IL_001b: call void [runtime]System.Console::WriteLine() + IL_0020: nop + IL_0021: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..4a90531ba66 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +if true then System.Console.WriteLine() else System.Console.WriteLine() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..aaf56d3b38d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,98 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: brfalse.s IL_000c + + IL_0004: call void [runtime]System.Console::WriteLine() + IL_0009: nop + IL_000a: br.s IL_0012 + + IL_000c: call void [runtime]System.Console::WriteLine() + IL_0011: nop + IL_0012: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl new file mode 100644 index 00000000000..b3765267afb --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl @@ -0,0 +1,99 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldc.i4.1 + IL_0002: brfalse.s IL_000c + + IL_0004: call void [runtime]System.Console::WriteLine() + IL_0009: nop + IL_000a: br.s IL_0012 + + IL_000c: call void [runtime]System.Console::WriteLine() + IL_0011: nop + IL_0012: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOff.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOff.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOff.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOff.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..5281549e50e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs @@ -0,0 +1,37 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +#light +let test1() = + try + System.Console.WriteLine() + with + // should not generate a filter + | _ -> System.Console.WriteLine() + +let test2() = + try + System.Console.WriteLine() + with + // should generate a filter + | :? System.ArgumentException -> System.Console.WriteLine() + +let test3() = + try + System.Console.WriteLine() + with + // should generate a filter + | :? System.ArgumentException as a -> System.Console.WriteLine(a.Message) + +let test4() = + try + System.Console.WriteLine() + with + // should generate a filter + | MatchFailureException ( msg, _, _) -> System.Console.WriteLine(msg) + +let test5() = + try + System.Console.WriteLine() + with + // should generate a filter + | :? System.ArgumentException as a -> System.Console.WriteLine(a.Message) + | MatchFailureException ( msg, _, _) -> System.Console.WriteLine(msg) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.bsl new file mode 100644 index 00000000000..090680b761b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.bsl @@ -0,0 +1,337 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void test1() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0015 + + } + catch [runtime]System.Object + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: call void [runtime]System.Console::WriteLine() + IL_0013: leave.s IL_0015 + + } + IL_0015: ret + } + + .method public static void test2() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.ArgumentException V_1, + class [runtime]System.Exception V_2, + class [runtime]System.ArgumentException V_3) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0042 + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [runtime]System.ArgumentException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_001c + + IL_0018: ldc.i4.1 + IL_0019: nop + IL_001a: br.s IL_001e + + IL_001c: ldc.i4.0 + IL_001d: nop + IL_001e: endfilter + } + { + IL_0020: castclass [runtime]System.Exception + IL_0025: stloc.2 + IL_0026: ldloc.2 + IL_0027: isinst [runtime]System.ArgumentException + IL_002c: stloc.3 + IL_002d: ldloc.3 + IL_002e: brfalse.s IL_0037 + + IL_0030: call void [runtime]System.Console::WriteLine() + IL_0035: leave.s IL_0042 + + IL_0037: rethrow + IL_0039: ldnull + IL_003a: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_003f: pop + IL_0040: leave.s IL_0042 + + } + IL_0042: ret + } + + .method public static void test3() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.ArgumentException V_1, + class [runtime]System.ArgumentException V_2, + class [runtime]System.Exception V_3, + class [runtime]System.ArgumentException V_4, + class [runtime]System.ArgumentException V_5) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0051 + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [runtime]System.ArgumentException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_001e + + IL_0018: ldloc.1 + IL_0019: stloc.2 + IL_001a: ldc.i4.1 + IL_001b: nop + IL_001c: br.s IL_0020 + + IL_001e: ldc.i4.0 + IL_001f: nop + IL_0020: endfilter + } + { + IL_0022: castclass [runtime]System.Exception + IL_0027: stloc.3 + IL_0028: ldloc.3 + IL_0029: isinst [runtime]System.ArgumentException + IL_002e: stloc.s V_4 + IL_0030: ldloc.s V_4 + IL_0032: brfalse.s IL_0046 + + IL_0034: ldloc.s V_4 + IL_0036: stloc.s V_5 + IL_0038: ldloc.s V_5 + IL_003a: callvirt instance string [runtime]System.Exception::get_Message() + IL_003f: call void [runtime]System.Console::WriteLine(string) + IL_0044: leave.s IL_0051 + + IL_0046: rethrow + IL_0048: ldnull + IL_0049: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_004e: pop + IL_004f: leave.s IL_0051 + + } + IL_0051: ret + } + + .method public static void test4() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException V_1, + string V_2, + class [runtime]System.Exception V_3, + class [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException V_4, + string V_5) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_005f + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_0028 + + IL_0018: ldloc.0 + IL_0019: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_001e: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0023: stloc.2 + IL_0024: ldc.i4.1 + IL_0025: nop + IL_0026: br.s IL_002a + + IL_0028: ldc.i4.0 + IL_0029: nop + IL_002a: endfilter + } + { + IL_002c: castclass [runtime]System.Exception + IL_0031: stloc.3 + IL_0032: ldloc.3 + IL_0033: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0038: stloc.s V_4 + IL_003a: ldloc.s V_4 + IL_003c: brfalse.s IL_0054 + + IL_003e: ldloc.3 + IL_003f: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0044: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0049: stloc.s V_5 + IL_004b: ldloc.s V_5 + IL_004d: call void [runtime]System.Console::WriteLine(string) + IL_0052: leave.s IL_005f + + IL_0054: rethrow + IL_0056: ldnull + IL_0057: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_005c: pop + IL_005d: leave.s IL_005f + + } + IL_005f: ret + } + + .method public static void test5() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + object V_1, + object V_2, + class [runtime]System.ArgumentException V_3, + string V_4) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_005f + + } + catch [runtime]System.Object + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: stloc.1 + IL_0010: ldloc.1 + IL_0011: isinst [runtime]System.ArgumentException + IL_0016: ldnull + IL_0017: cgt.un + IL_0019: brtrue.s IL_002a + + IL_001b: ldloc.0 + IL_001c: stloc.2 + IL_001d: ldloc.2 + IL_001e: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0023: ldnull + IL_0024: cgt.un + IL_0026: brfalse.s IL_0054 + + IL_0028: br.s IL_003e + + IL_002a: ldloc.0 + IL_002b: unbox.any [runtime]System.ArgumentException + IL_0030: stloc.3 + IL_0031: ldloc.3 + IL_0032: callvirt instance string [runtime]System.Exception::get_Message() + IL_0037: call void [runtime]System.Console::WriteLine(string) + IL_003c: leave.s IL_005f + + IL_003e: ldloc.0 + IL_003f: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0044: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0049: stloc.s V_4 + IL_004b: ldloc.s V_4 + IL_004d: call void [runtime]System.Console::WriteLine(string) + IL_0052: leave.s IL_005f + + IL_0054: rethrow + IL_0056: ldnull + IL_0057: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_005c: pop + IL_005d: leave.s IL_005f + + } + IL_005f: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.net472.bsl new file mode 100644 index 00000000000..c8c4283bcf3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.net472.bsl @@ -0,0 +1,336 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void test1() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0015 + + } + catch [runtime]System.Object + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: call void [runtime]System.Console::WriteLine() + IL_0013: leave.s IL_0015 + + } + IL_0015: ret + } + + .method public static void test2() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.ArgumentException V_1, + class [runtime]System.Exception V_2, + class [runtime]System.ArgumentException V_3) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0042 + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [runtime]System.ArgumentException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_001c + + IL_0018: ldc.i4.1 + IL_0019: nop + IL_001a: br.s IL_001e + + IL_001c: ldc.i4.0 + IL_001d: nop + IL_001e: endfilter + } + { + IL_0020: castclass [runtime]System.Exception + IL_0025: stloc.2 + IL_0026: ldloc.2 + IL_0027: isinst [runtime]System.ArgumentException + IL_002c: stloc.3 + IL_002d: ldloc.3 + IL_002e: brfalse.s IL_0037 + + IL_0030: call void [runtime]System.Console::WriteLine() + IL_0035: leave.s IL_0042 + + IL_0037: rethrow + IL_0039: ldnull + IL_003a: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_003f: pop + IL_0040: leave.s IL_0042 + + } + IL_0042: ret + } + + .method public static void test3() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.ArgumentException V_1, + class [runtime]System.ArgumentException V_2, + class [runtime]System.Exception V_3, + class [runtime]System.ArgumentException V_4, + class [runtime]System.ArgumentException V_5) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0051 + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [runtime]System.ArgumentException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_001e + + IL_0018: ldloc.1 + IL_0019: stloc.2 + IL_001a: ldc.i4.1 + IL_001b: nop + IL_001c: br.s IL_0020 + + IL_001e: ldc.i4.0 + IL_001f: nop + IL_0020: endfilter + } + { + IL_0022: castclass [runtime]System.Exception + IL_0027: stloc.3 + IL_0028: ldloc.3 + IL_0029: isinst [runtime]System.ArgumentException + IL_002e: stloc.s V_4 + IL_0030: ldloc.s V_4 + IL_0032: brfalse.s IL_0046 + + IL_0034: ldloc.s V_4 + IL_0036: stloc.s V_5 + IL_0038: ldloc.s V_5 + IL_003a: callvirt instance string [runtime]System.Exception::get_Message() + IL_003f: call void [runtime]System.Console::WriteLine(string) + IL_0044: leave.s IL_0051 + + IL_0046: rethrow + IL_0048: ldnull + IL_0049: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_004e: pop + IL_004f: leave.s IL_0051 + + } + IL_0051: ret + } + + .method public static void test4() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException V_1, + string V_2, + class [runtime]System.Exception V_3, + class [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException V_4, + string V_5) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_005f + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_0028 + + IL_0018: ldloc.0 + IL_0019: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_001e: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0023: stloc.2 + IL_0024: ldc.i4.1 + IL_0025: nop + IL_0026: br.s IL_002a + + IL_0028: ldc.i4.0 + IL_0029: nop + IL_002a: endfilter + } + { + IL_002c: castclass [runtime]System.Exception + IL_0031: stloc.3 + IL_0032: ldloc.3 + IL_0033: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0038: stloc.s V_4 + IL_003a: ldloc.s V_4 + IL_003c: brfalse.s IL_0054 + + IL_003e: ldloc.3 + IL_003f: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0044: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0049: stloc.s V_5 + IL_004b: ldloc.s V_5 + IL_004d: call void [runtime]System.Console::WriteLine(string) + IL_0052: leave.s IL_005f + + IL_0054: rethrow + IL_0056: ldnull + IL_0057: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_005c: pop + IL_005d: leave.s IL_005f + + } + IL_005f: ret + } + + .method public static void test5() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + object V_1, + object V_2, + class [runtime]System.ArgumentException V_3, + string V_4) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_005f + + } + catch [runtime]System.Object + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: stloc.1 + IL_0010: ldloc.1 + IL_0011: isinst [runtime]System.ArgumentException + IL_0016: ldnull + IL_0017: cgt.un + IL_0019: brtrue.s IL_002a + + IL_001b: ldloc.0 + IL_001c: stloc.2 + IL_001d: ldloc.2 + IL_001e: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0023: ldnull + IL_0024: cgt.un + IL_0026: brfalse.s IL_0054 + + IL_0028: br.s IL_003e + + IL_002a: ldloc.0 + IL_002b: unbox.any [runtime]System.ArgumentException + IL_0030: stloc.3 + IL_0031: ldloc.3 + IL_0032: callvirt instance string [runtime]System.Exception::get_Message() + IL_0037: call void [runtime]System.Console::WriteLine(string) + IL_003c: leave.s IL_005f + + IL_003e: ldloc.0 + IL_003f: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0044: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0049: stloc.s V_4 + IL_004b: ldloc.s V_4 + IL_004d: call void [runtime]System.Console::WriteLine(string) + IL_0052: leave.s IL_005f + + IL_0054: rethrow + IL_0056: ldnull + IL_0057: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_005c: pop + IL_005d: leave.s IL_005f + + } + IL_005f: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.netcore .bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.netcore .bsl new file mode 100644 index 00000000000..090680b761b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22h_RealInternalSignatureOn.fs.il.netcore .bsl @@ -0,0 +1,337 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern runtime { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void test1() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0015 + + } + catch [runtime]System.Object + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: call void [runtime]System.Console::WriteLine() + IL_0013: leave.s IL_0015 + + } + IL_0015: ret + } + + .method public static void test2() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.ArgumentException V_1, + class [runtime]System.Exception V_2, + class [runtime]System.ArgumentException V_3) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0042 + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [runtime]System.ArgumentException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_001c + + IL_0018: ldc.i4.1 + IL_0019: nop + IL_001a: br.s IL_001e + + IL_001c: ldc.i4.0 + IL_001d: nop + IL_001e: endfilter + } + { + IL_0020: castclass [runtime]System.Exception + IL_0025: stloc.2 + IL_0026: ldloc.2 + IL_0027: isinst [runtime]System.ArgumentException + IL_002c: stloc.3 + IL_002d: ldloc.3 + IL_002e: brfalse.s IL_0037 + + IL_0030: call void [runtime]System.Console::WriteLine() + IL_0035: leave.s IL_0042 + + IL_0037: rethrow + IL_0039: ldnull + IL_003a: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_003f: pop + IL_0040: leave.s IL_0042 + + } + IL_0042: ret + } + + .method public static void test3() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [runtime]System.ArgumentException V_1, + class [runtime]System.ArgumentException V_2, + class [runtime]System.Exception V_3, + class [runtime]System.ArgumentException V_4, + class [runtime]System.ArgumentException V_5) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_0051 + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [runtime]System.ArgumentException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_001e + + IL_0018: ldloc.1 + IL_0019: stloc.2 + IL_001a: ldc.i4.1 + IL_001b: nop + IL_001c: br.s IL_0020 + + IL_001e: ldc.i4.0 + IL_001f: nop + IL_0020: endfilter + } + { + IL_0022: castclass [runtime]System.Exception + IL_0027: stloc.3 + IL_0028: ldloc.3 + IL_0029: isinst [runtime]System.ArgumentException + IL_002e: stloc.s V_4 + IL_0030: ldloc.s V_4 + IL_0032: brfalse.s IL_0046 + + IL_0034: ldloc.s V_4 + IL_0036: stloc.s V_5 + IL_0038: ldloc.s V_5 + IL_003a: callvirt instance string [runtime]System.Exception::get_Message() + IL_003f: call void [runtime]System.Console::WriteLine(string) + IL_0044: leave.s IL_0051 + + IL_0046: rethrow + IL_0048: ldnull + IL_0049: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_004e: pop + IL_004f: leave.s IL_0051 + + } + IL_0051: ret + } + + .method public static void test4() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + class [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException V_1, + string V_2, + class [runtime]System.Exception V_3, + class [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException V_4, + string V_5) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_005f + + } + filter + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0014: stloc.1 + IL_0015: ldloc.1 + IL_0016: brfalse.s IL_0028 + + IL_0018: ldloc.0 + IL_0019: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_001e: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0023: stloc.2 + IL_0024: ldc.i4.1 + IL_0025: nop + IL_0026: br.s IL_002a + + IL_0028: ldc.i4.0 + IL_0029: nop + IL_002a: endfilter + } + { + IL_002c: castclass [runtime]System.Exception + IL_0031: stloc.3 + IL_0032: ldloc.3 + IL_0033: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0038: stloc.s V_4 + IL_003a: ldloc.s V_4 + IL_003c: brfalse.s IL_0054 + + IL_003e: ldloc.3 + IL_003f: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0044: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0049: stloc.s V_5 + IL_004b: ldloc.s V_5 + IL_004d: call void [runtime]System.Console::WriteLine(string) + IL_0052: leave.s IL_005f + + IL_0054: rethrow + IL_0056: ldnull + IL_0057: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_005c: pop + IL_005d: leave.s IL_005f + + } + IL_005f: ret + } + + .method public static void test5() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Exception V_0, + object V_1, + object V_2, + class [runtime]System.ArgumentException V_3, + string V_4) + .try + { + IL_0000: nop + IL_0001: call void [runtime]System.Console::WriteLine() + IL_0006: leave.s IL_005f + + } + catch [runtime]System.Object + { + IL_0008: castclass [runtime]System.Exception + IL_000d: stloc.0 + IL_000e: ldloc.0 + IL_000f: stloc.1 + IL_0010: ldloc.1 + IL_0011: isinst [runtime]System.ArgumentException + IL_0016: ldnull + IL_0017: cgt.un + IL_0019: brtrue.s IL_002a + + IL_001b: ldloc.0 + IL_001c: stloc.2 + IL_001d: ldloc.2 + IL_001e: isinst [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0023: ldnull + IL_0024: cgt.un + IL_0026: brfalse.s IL_0054 + + IL_0028: br.s IL_003e + + IL_002a: ldloc.0 + IL_002b: unbox.any [runtime]System.ArgumentException + IL_0030: stloc.3 + IL_0031: ldloc.3 + IL_0032: callvirt instance string [runtime]System.Exception::get_Message() + IL_0037: call void [runtime]System.Console::WriteLine(string) + IL_003c: leave.s IL_005f + + IL_003e: ldloc.0 + IL_003f: castclass [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException + IL_0044: call instance string [FSharp.Core]Microsoft.FSharp.Core.MatchFailureException::get_Data0() + IL_0049: stloc.s V_4 + IL_004b: ldloc.s V_4 + IL_004d: call void [runtime]System.Console::WriteLine(string) + IL_0052: leave.s IL_005f + + IL_0054: rethrow + IL_0056: ldnull + IL_0057: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_005c: pop + IL_005d: leave.s IL_005f + + } + IL_005f: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs index 4b976530e9e..17bfc528df4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs @@ -117,9 +117,17 @@ module TestFunctions = |> verifyCompilation //SOURCE=TestFunction09b4.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction09b4.exe" # TestFunction09b4.fs - [] - let ``TestFunction09b4_fs`` compilation = + [] + let ``TestFunction09b4_RealInternalSignatureOff_fs`` compilation = compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + //SOURCE=TestFunction09b4.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction09b4.exe" # TestFunction09b4.fs + [] + let ``TestFunction09b4_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn |> verifyCompilation //SOURCE=TestFunction10.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction10.exe" # TestFunction10.fs - @@ -195,51 +203,115 @@ module TestFunctions = |> verifyCompilation //SOURCE=TestFunction22.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22.exe" # TestFunction22.fs - [] - let ``TestFunction22_fs`` compilation = + [] + let ``TestFunction22_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + //SOURCE=TestFunction22.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22.exe" # TestFunction22.fs + [] + let ``TestFunction22_RealInternalSignatureOn_fs`` compilation = compilation + |> withRealInternalSignatureOn |> verifyCompilation //SOURCE=TestFunction22b.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22b.exe" # TestFunction22b.fs - [] - let ``TestFunction22b_fs`` compilation = + [] + let ``TestFunction22b_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + //SOURCE=TestFunction22b.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22b.exe" # TestFunction22b.fs + [] + let ``TestFunction22b_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + //SOURCE=TestFunction22c.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22c.exe" # TestFunction22c.fs + [] + let ``TestFunction22c_RealInternalSignatureOff_fs`` compilation = compilation + |> withRealInternalSignatureOff |> verifyCompilation //SOURCE=TestFunction22c.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22c.exe" # TestFunction22c.fs - [] - let ``TestFunction22c_fs`` compilation = + [] + let ``TestFunction22c_RealInternalSignatureOn_fs`` compilation = compilation + |> withRealInternalSignatureOn |> verifyCompilation //SOURCE=TestFunction22d.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22d.exe" # TestFunction22d.fs - [] - let ``TestFunction22d_fs`` compilation = + [] + let ``TestFunction22d_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + //SOURCE=TestFunction22d.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22d.exe" # TestFunction22d.fs + [] + let ``TestFunction22d_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + //SOURCE=TestFunction22e.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22e.exe" # TestFunction22e.fs + [] + let ``TestFunction22e_RealInternalSignatureOff_fs`` compilation = compilation + |> withRealInternalSignatureOff |> verifyCompilation //SOURCE=TestFunction22e.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22e.exe" # TestFunction22e.fs - [] - let ``TestFunction22e_fs`` compilation = + [] + let ``TestFunction22e_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + //SOURCE=TestFunction22f.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22f.exe" # TestFunction22f.fs + [] + let ``TestFunction22f_RealInternalSignatureOff_fs`` compilation = compilation + |> withRealInternalSignatureOff |> verifyCompilation //SOURCE=TestFunction22f.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22f.exe" # TestFunction22f.fs - [] - let ``TestFunction22f_fs`` compilation = + [] + let ``TestFunction22f_RealInternalSignatureOn_fs`` compilation = compilation + |> withRealInternalSignatureOn |> verifyCompilation //SOURCE=TestFunction22g.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22g.exe" # TestFunction22g.fs - [] - let ``TestFunction22g_fs`` compilation = + [] + let ``TestFunction22g_RealInternalSignatureOff_fs`` compilation = compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + //SOURCE=TestFunction22g.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22g.exe" # TestFunction22g.fs + [] + let ``TestFunction22g_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + //SOURCE=TestFunction22h.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22h.exe" # TestFunction22h.fs - + [] + let ``TestFunction22h_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff |> verifyCompilation //SOURCE=TestFunction22h.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction22h.exe" # TestFunction22h.fs - - [] - let ``TestFunction22h_fs`` compilation = + [] + let ``TestFunction22h_RealInternalSignatureOn_fs`` compilation = compilation + |> withRealInternalSignatureOn |> verifyCompilation //SOURCE=TestFunction23.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TestFunction23.exe" # TestFunction23.fs - @@ -256,27 +328,59 @@ module TestFunctions = |> verifyCompilation // Verify IL 13043 - [] - let ``Verify13043_il`` compilation = + [] + let ``Verify13043_RealInternalSignatureOff_fs`` compilation = compilation |> withDebug + |> withRealInternalSignatureOff |> verifyCompilation + // Verify IL 13043 + [] + let ``Verify13043_RealInternalSignatureOn_fs`` compilation = + compilation + |> withDebug + |> withRealInternalSignatureOn + |> verifyCompilation + + // Verify Execution 13043 run it built not optimized with debug + [] + let ``Verify13043_Verify13043_RealInternalSignatureOff_execution_noopt`` compilation = + compilation + |> withDebug + |> withRealInternalSignatureOff + |> verifyCompileAndRun + |> shouldSucceed + // Verify Execution 13043 run it built not optimized with debug - [] - let ``Verify13043_execution_noopt`` compilation = + [] + let ``Verify13043_Verify13043_RealInternalSignatureOn_execution_noopt`` compilation = compilation |> withDebug + |> withRealInternalSignatureOn |> verifyCompileAndRun |> shouldSucceed // Verify Execution 13043 --- run it built optimized no debug - [] - let ``Verify13043_execution_opt`` compilation = + [] + let ``Verify13043_RealInternalSignatureOff_execution_opt`` compilation = + compilation + |> asExe + |> withOptions [ "--test:EmitFeeFeeAs100001"; "--nowarn:988"; "--nowarn:3370"] + |> withOptimize + |> withNoDebug + |> withRealInternalSignatureOff + |> compileAndRun + |> shouldSucceed + + // Verify Execution 13043 --- run it built optimized no debug + [] + let ``Verify13043_RealInternalSignatureOn_execution_opt`` compilation = compilation |> asExe |> withOptions [ "--test:EmitFeeFeeAs100001"; "--nowarn:988"; "--nowarn:3370"] |> withOptimize |> withNoDebug + |> withRealInternalSignatureOn |> compileAndRun |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs.il.debug.bsl similarity index 84% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs.il.debug.bsl index db118790e53..179b6da5425 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs.il.debug.bsl @@ -39,7 +39,7 @@ -.class public abstract auto ansi sealed assembly +.class public abstract auto ansi sealed Verify13043 extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) @@ -47,8 +47,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition - .method assembly specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -58,12 +57,11 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/f@8::condition + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition IL_000d: ret } - .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 l) cil managed + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 l) cil managed { .maxstack 6 @@ -92,7 +90,7 @@ IL_0021: stloc.3 IL_0022: nop IL_0023: ldarg.0 - IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/f@8::condition + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition IL_0029: ldloc.3 IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_002f: brfalse.s IL_0036 @@ -114,8 +112,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition - .method assembly specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -125,12 +122,11 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/'f@27-1'::condition + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition IL_000d: ret } - .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 _arg1) cil managed + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 _arg1) cil managed { .maxstack 6 @@ -159,7 +155,7 @@ IL_0021: stloc.3 IL_0022: nop IL_0023: ldarg.0 - IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/'f@27-1'::condition + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition IL_0029: ldloc.3 IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_002f: brfalse.s IL_0036 @@ -180,9 +176,8 @@ .class auto ansi serializable sealed nested assembly beforefieldinit matchResult@38 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class assembly/matchResult@38 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .field static assembly initonly class Verify13043/matchResult@38 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -193,23 +188,21 @@ IL_0006: ret } - .method public strict virtual instance bool - Invoke(int32 n) cil managed + .method public strict virtual instance bool Invoke(int32 n) cil managed { .maxstack 8 IL_0000: ldarg.1 - IL_0001: call bool assembly::condition(int32) + IL_0001: call bool Verify13043::condition(int32) IL_0006: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 10 - IL_0000: newobj instance void assembly/matchResult@38::.ctor() - IL_0005: stsfld class assembly/matchResult@38 assembly/matchResult@38::@_instance + IL_0000: newobj instance void Verify13043/matchResult@38::.ctor() + IL_0005: stsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance IL_000a: ret } @@ -218,9 +211,8 @@ .class auto ansi serializable sealed nested assembly beforefieldinit functionResult@43 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class assembly/functionResult@43 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .field static assembly initonly class Verify13043/functionResult@43 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -231,34 +223,31 @@ IL_0006: ret } - .method public strict virtual instance bool - Invoke(int32 n) cil managed + .method public strict virtual instance bool Invoke(int32 n) cil managed { .maxstack 8 IL_0000: ldarg.1 - IL_0001: call bool assembly::condition(int32) + IL_0001: call bool Verify13043::condition(int32) IL_0006: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 10 - IL_0000: newobj instance void assembly/functionResult@43::.ctor() - IL_0005: stsfld class assembly/functionResult@43 assembly/functionResult@43::@_instance + IL_0000: newobj instance void Verify13043/functionResult@43::.ctor() + IL_0005: stsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance IL_000a: ret } } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_list() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_list() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::list@3 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::list@3 IL_0005: ret } @@ -281,7 +270,7 @@ .maxstack 4 .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/f@8::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0001: newobj instance void Verify13043/f@8::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: ldarg.1 @@ -299,7 +288,7 @@ .maxstack 4 .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/'f@27-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0001: newobj instance void Verify13043/'f@27-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: ldarg.1 @@ -308,21 +297,19 @@ IL_0010: ret } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_matchResult() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_matchResult() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::matchResult@38 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::matchResult@38 IL_0005: ret } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_functionResult() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_functionResult() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::functionResult@43 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::functionResult@43 IL_0005: ret } @@ -330,23 +317,23 @@ list() { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_list() + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() } .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 matchResult() { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_matchResult() + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() } .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 functionResult() { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_functionResult() + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() } } -.class private abstract auto ansi sealed ''.$assembly +.class private abstract auto ansi sealed ''.$Verify13043 extends [runtime]System.Object { .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list@3 @@ -378,32 +365,32 @@ IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0017: dup - IL_0018: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::list@3 + IL_0018: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::list@3 IL_001d: stloc.0 - IL_001e: ldsfld class assembly/matchResult@38 assembly/matchResult@38::@_instance - IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_list() - IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_001e: ldsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_002d: dup - IL_002e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::matchResult@38 + IL_002e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::matchResult@38 IL_0033: stloc.1 IL_0034: ldstr "Match: %A" IL_0039: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) IL_003e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0043: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_matchResult() + IL_0043: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() IL_0048: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) IL_004d: pop - IL_004e: ldsfld class assembly/functionResult@43 assembly/functionResult@43::@_instance - IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_list() - IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_004e: ldsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance + IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_005d: dup - IL_005e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::functionResult@43 + IL_005e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::functionResult@43 IL_0063: stloc.2 IL_0064: ldstr "Function: %A" IL_0069: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) IL_006e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_functionResult() + IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() IL_0078: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) IL_007d: pop IL_007e: ret diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs.il.release.bsl similarity index 84% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs.il.release.bsl index db118790e53..179b6da5425 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOff.fs.il.release.bsl @@ -39,7 +39,7 @@ -.class public abstract auto ansi sealed assembly +.class public abstract auto ansi sealed Verify13043 extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) @@ -47,8 +47,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition - .method assembly specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -58,12 +57,11 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/f@8::condition + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition IL_000d: ret } - .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 l) cil managed + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 l) cil managed { .maxstack 6 @@ -92,7 +90,7 @@ IL_0021: stloc.3 IL_0022: nop IL_0023: ldarg.0 - IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/f@8::condition + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition IL_0029: ldloc.3 IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_002f: brfalse.s IL_0036 @@ -114,8 +112,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition - .method assembly specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -125,12 +122,11 @@ IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() IL_0006: ldarg.0 IL_0007: ldarg.1 - IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/'f@27-1'::condition + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition IL_000d: ret } - .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 _arg1) cil managed + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 _arg1) cil managed { .maxstack 6 @@ -159,7 +155,7 @@ IL_0021: stloc.3 IL_0022: nop IL_0023: ldarg.0 - IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 assembly/'f@27-1'::condition + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition IL_0029: ldloc.3 IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) IL_002f: brfalse.s IL_0036 @@ -180,9 +176,8 @@ .class auto ansi serializable sealed nested assembly beforefieldinit matchResult@38 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class assembly/matchResult@38 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .field static assembly initonly class Verify13043/matchResult@38 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -193,23 +188,21 @@ IL_0006: ret } - .method public strict virtual instance bool - Invoke(int32 n) cil managed + .method public strict virtual instance bool Invoke(int32 n) cil managed { .maxstack 8 IL_0000: ldarg.1 - IL_0001: call bool assembly::condition(int32) + IL_0001: call bool Verify13043::condition(int32) IL_0006: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 10 - IL_0000: newobj instance void assembly/matchResult@38::.ctor() - IL_0005: stsfld class assembly/matchResult@38 assembly/matchResult@38::@_instance + IL_0000: newobj instance void Verify13043/matchResult@38::.ctor() + IL_0005: stsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance IL_000a: ret } @@ -218,9 +211,8 @@ .class auto ansi serializable sealed nested assembly beforefieldinit functionResult@43 extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { - .field static assembly initonly class assembly/functionResult@43 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .field static assembly initonly class Verify13043/functionResult@43 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -231,34 +223,31 @@ IL_0006: ret } - .method public strict virtual instance bool - Invoke(int32 n) cil managed + .method public strict virtual instance bool Invoke(int32 n) cil managed { .maxstack 8 IL_0000: ldarg.1 - IL_0001: call bool assembly::condition(int32) + IL_0001: call bool Verify13043::condition(int32) IL_0006: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 10 - IL_0000: newobj instance void assembly/functionResult@43::.ctor() - IL_0005: stsfld class assembly/functionResult@43 assembly/functionResult@43::@_instance + IL_0000: newobj instance void Verify13043/functionResult@43::.ctor() + IL_0005: stsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance IL_000a: ret } } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_list() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_list() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::list@3 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::list@3 IL_0005: ret } @@ -281,7 +270,7 @@ .maxstack 4 .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/f@8::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0001: newobj instance void Verify13043/f@8::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: ldarg.1 @@ -299,7 +288,7 @@ .maxstack 4 .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/'f@27-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0001: newobj instance void Verify13043/'f@27-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) IL_0006: stloc.0 IL_0007: ldloc.0 IL_0008: ldarg.1 @@ -308,21 +297,19 @@ IL_0010: ret } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_matchResult() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_matchResult() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::matchResult@38 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::matchResult@38 IL_0005: ret } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_functionResult() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_functionResult() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::functionResult@43 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::functionResult@43 IL_0005: ret } @@ -330,23 +317,23 @@ list() { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_list() + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() } .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 matchResult() { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_matchResult() + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() } .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 functionResult() { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_functionResult() + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() } } -.class private abstract auto ansi sealed ''.$assembly +.class private abstract auto ansi sealed ''.$Verify13043 extends [runtime]System.Object { .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list@3 @@ -378,32 +365,32 @@ IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_0017: dup - IL_0018: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::list@3 + IL_0018: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::list@3 IL_001d: stloc.0 - IL_001e: ldsfld class assembly/matchResult@38 assembly/matchResult@38::@_instance - IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_list() - IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_001e: ldsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0028: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_002d: dup - IL_002e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::matchResult@38 + IL_002e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::matchResult@38 IL_0033: stloc.1 IL_0034: ldstr "Match: %A" IL_0039: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) IL_003e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0043: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_matchResult() + IL_0043: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() IL_0048: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) IL_004d: pop - IL_004e: ldsfld class assembly/functionResult@43 assembly/functionResult@43::@_instance - IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_list() - IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + IL_004e: ldsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance + IL_0053: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0058: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) IL_005d: dup - IL_005e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::functionResult@43 + IL_005e: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$Verify13043::functionResult@43 IL_0063: stloc.2 IL_0064: ldstr "Function: %A" IL_0069: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) IL_006e: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_functionResult() + IL_0073: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() IL_0078: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) IL_007d: pop IL_007e: ret diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..3c7a8cceb80 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs @@ -0,0 +1,44 @@ +module Verify13043 + +let list = [1; 2; 3] +let condition n = n < 3 + +let dropWhileWithMatch condition list = + let rec f (l : List) : List = + match l with + | [] -> [] + | head :: tail -> + match condition head with + | true -> f tail + | false -> head :: tail + + f list + +(* + This function caused an Unhandled exception at execution time: + + Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object. + at Program.f@14-1.Invoke(FSharpList`1 _arg1) in /workspaces/function-rec-fsharp-dotnet7-bug-demo/Program.fs:line 18 + at Program.dropWhileWithFunction(FSharpFunc`2 condition, FSharpList`1 list) in /workspaces/function-rec-fsharp-dotnet7-bug-demo/Program.fs:line 21 + at .$Program.main@() in /workspaces/function-rec-fsharp-dotnet7-bug-demo/Program.fs:line 29 +*) +let dropWhileWithFunction condition list = + let rec f : List -> List = + function + | [] -> [] + | head :: tail -> + match condition head with + | true -> f tail + | false -> head :: tail + + f list + + +// this runs fine: +let matchResult = dropWhileWithMatch condition list +printfn "Match: %A" matchResult + + +// and this results in a null reference exception +let functionResult = dropWhileWithFunction condition list +printfn "Function: %A" functionResult diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl new file mode 100644 index 00000000000..e8cad3ccbb0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl @@ -0,0 +1,415 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Verify13043 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit f@8 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 l) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: brfalse.s IL_000c + + IL_000a: br.s IL_0012 + + IL_000c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0011: ret + + IL_0012: ldloc.0 + IL_0013: stloc.1 + IL_0014: ldloc.1 + IL_0015: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_001a: stloc.2 + IL_001b: ldloc.1 + IL_001c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0021: stloc.3 + IL_0022: nop + IL_0023: ldarg.0 + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition + IL_0029: ldloc.3 + IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_002f: brfalse.s IL_0036 + + IL_0031: ldloc.2 + IL_0032: starg.s l + IL_0034: br.s IL_0000 + + IL_0036: ldloc.3 + IL_0037: ldloc.2 + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f@27-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 _arg1) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: brfalse.s IL_000c + + IL_000a: br.s IL_0012 + + IL_000c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0011: ret + + IL_0012: ldloc.0 + IL_0013: stloc.1 + IL_0014: ldloc.1 + IL_0015: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_001a: stloc.2 + IL_001b: ldloc.1 + IL_001c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0021: stloc.3 + IL_0022: nop + IL_0023: ldarg.0 + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition + IL_0029: ldloc.3 + IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_002f: brfalse.s IL_0036 + + IL_0031: ldloc.2 + IL_0032: starg.s _arg1 + IL_0034: br.s IL_0000 + + IL_0036: ldloc.3 + IL_0037: ldloc.2 + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit matchResult@38 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class Verify13043/matchResult@38 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: call bool Verify13043::condition(int32) + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void Verify13043/matchResult@38::.ctor() + IL_0005: stsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit functionResult@43 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class Verify13043/functionResult@43 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: call bool Verify13043::condition(int32) + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void Verify13043/functionResult@43::.ctor() + IL_0005: stsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list@3 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 matchResult@38 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 functionResult@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_list() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::list@3 + IL_0005: ret + } + + .method public static bool condition(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: clt + IL_0004: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) + IL_0000: ldarg.0 + IL_0001: newobj instance void Verify13043/f@8::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: tail. + IL_000b: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Invoke(!0) + IL_0010: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) + IL_0000: ldarg.0 + IL_0001: newobj instance void Verify13043/'f@27-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: tail. + IL_000b: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Invoke(!0) + IL_0010: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_matchResult() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::matchResult@38 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_functionResult() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::functionResult@43 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Verify13043::init@ + IL_0006: ldsfld int32 ''.$Verify13043::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 6 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::list@3 + IL_001c: ldsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance + IL_0021: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::matchResult@38 + IL_0030: ldstr "Match: %A" + IL_0035: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_003a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_003f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() + IL_0044: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0049: pop + IL_004a: ldsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance + IL_004f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0054: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0059: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::functionResult@43 + IL_005e: ldstr "Function: %A" + IL_0063: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_0068: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_006d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() + IL_0072: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0077: pop + IL_0078: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + list() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + matchResult() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + functionResult() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() + } +} + +.class private abstract auto ansi sealed ''.$Verify13043 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Verify13043::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl new file mode 100644 index 00000000000..e8cad3ccbb0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl @@ -0,0 +1,415 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Verify13043 + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit f@8 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 l) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: brfalse.s IL_000c + + IL_000a: br.s IL_0012 + + IL_000c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0011: ret + + IL_0012: ldloc.0 + IL_0013: stloc.1 + IL_0014: ldloc.1 + IL_0015: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_001a: stloc.2 + IL_001b: ldloc.1 + IL_001c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0021: stloc.3 + IL_0022: nop + IL_0023: ldarg.0 + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/f@8::condition + IL_0029: ldloc.3 + IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_002f: brfalse.s IL_0036 + + IL_0031: ldloc.2 + IL_0032: starg.s l + IL_0034: br.s IL_0000 + + IL_0036: ldloc.3 + IL_0037: ldloc.2 + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'f@27-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 _arg1) cil managed + { + + .maxstack 6 + .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_2, + int32 V_3) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldloc.0 + IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_0008: brfalse.s IL_000c + + IL_000a: br.s IL_0012 + + IL_000c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0011: ret + + IL_0012: ldloc.0 + IL_0013: stloc.1 + IL_0014: ldloc.1 + IL_0015: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() + IL_001a: stloc.2 + IL_001b: ldloc.1 + IL_001c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() + IL_0021: stloc.3 + IL_0022: nop + IL_0023: ldarg.0 + IL_0024: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 Verify13043/'f@27-1'::condition + IL_0029: ldloc.3 + IL_002a: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_002f: brfalse.s IL_0036 + + IL_0031: ldloc.2 + IL_0032: starg.s _arg1 + IL_0034: br.s IL_0000 + + IL_0036: ldloc.3 + IL_0037: ldloc.2 + IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_003d: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit matchResult@38 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class Verify13043/matchResult@38 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: call bool Verify13043::condition(int32) + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void Verify13043/matchResult@38::.ctor() + IL_0005: stsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit functionResult@43 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class Verify13043/functionResult@43 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance bool Invoke(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: call bool Verify13043::condition(int32) + IL_0006: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void Verify13043/functionResult@43::.ctor() + IL_0005: stsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance + IL_000a: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list@3 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 matchResult@38 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 functionResult@43 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_list() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::list@3 + IL_0005: ret + } + + .method public static bool condition(int32 n) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.3 + IL_0002: clt + IL_0004: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) + IL_0000: ldarg.0 + IL_0001: newobj instance void Verify13043/f@8::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: tail. + IL_000b: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Invoke(!0) + IL_0010: ret + } + + .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 condition, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 list) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_0) + IL_0000: ldarg.0 + IL_0001: newobj instance void Verify13043/'f@27-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: ldarg.1 + IL_0009: tail. + IL_000b: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Invoke(!0) + IL_0010: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_matchResult() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::matchResult@38 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_functionResult() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::functionResult@43 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Verify13043::init@ + IL_0006: ldsfld int32 ''.$Verify13043::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 6 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0017: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::list@3 + IL_001c: ldsfld class Verify13043/matchResult@38 Verify13043/matchResult@38::@_instance + IL_0021: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0026: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithMatch(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_002b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::matchResult@38 + IL_0030: ldstr "Match: %A" + IL_0035: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_003a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_003f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() + IL_0044: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0049: pop + IL_004a: ldsfld class Verify13043/functionResult@43 Verify13043/functionResult@43::@_instance + IL_004f: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + IL_0054: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::dropWhileWithFunction(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0059: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::functionResult@43 + IL_005e: ldstr "Function: %A" + IL_0063: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) + IL_0068: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_006d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() + IL_0072: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_0077: pop + IL_0078: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + list() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_list() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + matchResult() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_matchResult() + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 + functionResult() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 Verify13043::get_functionResult() + } +} + +.class private abstract auto ansi sealed ''.$Verify13043 + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Verify13043::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/OptionalArg01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/OptionalArg01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/OptionalArg01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/OptionalArg01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/OptionalArg01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/OptionalArg01.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/OptionalArg01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/OptionalArg01.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/OptionalArg01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/OptionalArg01.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/OptionalArg01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/OptionalArg01.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple03.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple03.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple04.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple04.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple05.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple05.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple05.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple05.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple06.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple06.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple06.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple06.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple06.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple07.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple07.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple07.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple07.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple08.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple08.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple08.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuple08.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleElimination.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleElimination.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleElimination.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleElimination.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleElimination.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleElimination.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleElimination.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleElimination.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleElimination.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleElimination.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleElimination.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleElimination.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleMonster.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleMonster.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleMonster.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/TupleMonster.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuples.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuples.fs new file mode 100644 index 00000000000..7c748dedb31 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/Tuples.fs @@ -0,0 +1,91 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module TuplesRealInternalSignatureOff = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withRealInternalSignatureOff + |> ignoreWarnings + |> verifyILBaseline + + // SOURCE=Tuple01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple01.exe" # Tuple01.fs + [] + let ``Tuple01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Tuple02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple02.exe" # Tuple02.fs - + [] + let ``Tuple02_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Tuple03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple03.exe" # Tuple03.fs - + [] + let ``Tuple03_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Tuple04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple04.exe" # Tuple04.fs - + [] + let ``Tuple04_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Tuple05.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple05.exe" # Tuple05.fs - + [] + let ``Tuple05_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Tuple06.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple06.exe" # Tuple06.fs - + [] + let ``Tuple06_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Tuple07.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple07.exe" # Tuple07.fs - + [] + let ``Tuple07_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=Tuple08.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Tuple08.exe" # Tuple08.fs - + [] + let ``Tuple08_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=OptionalArg01.fs SCFLAGS="-g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd OptionalArg01.exe" # OptionalArg01.fs - test optimizatons + [] + let ``OptionalArg01_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=TupleMonster.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TupleMonster.exe" # TupleMonster.fs - + [] + let ``TupleMonster_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=TupleElimination.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TupleElimination.exe" # TupleElimination.fs - + [] + let ``TupleElimination_fs`` compilation = + compilation + |> verifyCompilation + + // SOURCE=ValueTupleAliasConstructor.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ValueTupleAliasConstructor.exe" # ValueTupleAliasConstructor.fs - + [] + let ``ValueTupleAliasConstructor_fs`` compilation = + compilation + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/ValueTupleAliasConstructor.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/ValueTupleAliasConstructor.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/ValueTupleAliasConstructor.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/ValueTupleAliasConstructor.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/ValueTupleAliasConstructor.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOff/ValueTupleAliasConstructor.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs new file mode 100644 index 00000000000..c150c1b81a1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs @@ -0,0 +1,46 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +type A() = class end + +// A code+optimization pattern, see https://github.com/dotnet/fsharp/issues/6532 +type C() = + static member inline F (?x1: A, ?x2: A) = + let count = 0 + let count = match x1 with None -> count | Some _ -> count + 1 + let count = match x2 with None -> count | Some _ -> count + 1 + let attribs = ResizeArray<_>(count) + match x1 with None -> () | Some v1 -> attribs.Add(v1) + match x2 with None -> () | Some v2 -> attribs.Add(v2) + attribs + +//Expect rough equivalent of: +// let d = ResizeArray<_>(0) +// d +let test() = + C.F () + +//Expect rough equivalent of: +// let x1 = A() +// let d = ResizeArray<_>(1) +// d.Add(x1) +// d +let test2() = + C.F (x1=A()) + +//Expect rough equivalent of: +// let x2 = A() +// let d = ResizeArray<_>(1) +// d.Add(x2) +// d +let test3() = + C.F (x2=A()) + +//Expect rough equivalent of: +// let x1 = A() +// let x2 = A() +// let d = ResizeArray<_>(2) +// d.Add(x1) +// d.Add(x2) +// d +let test4() = + C.F (x1=A(), x2=A()) + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.net472.bsl new file mode 100644 index 00000000000..d770a4062e1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.net472.bsl @@ -0,0 +1,622 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .class auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public static class [runtime]System.Collections.Generic.List`1 + F(class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x2) cil managed + { + .param [1] + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.OptionalArgumentAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.OptionalArgumentAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3, + int32 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_6, + class [runtime]System.Collections.Generic.List`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_9, + class assembly/A V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class assembly/A V_13) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: stloc.2 + IL_0004: ldloc.2 + IL_0005: brfalse.s IL_0009 + + IL_0007: br.s IL_000d + + IL_0009: ldloc.0 + IL_000a: nop + IL_000b: br.s IL_0013 + + IL_000d: ldloc.2 + IL_000e: stloc.3 + IL_000f: ldloc.0 + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: nop + IL_0013: stloc.1 + IL_0014: ldarg.1 + IL_0015: stloc.s V_5 + IL_0017: ldloc.s V_5 + IL_0019: brfalse.s IL_001d + + IL_001b: br.s IL_0021 + + IL_001d: ldloc.1 + IL_001e: nop + IL_001f: br.s IL_0029 + + IL_0021: ldloc.s V_5 + IL_0023: stloc.s V_6 + IL_0025: ldloc.1 + IL_0026: ldc.i4.1 + IL_0027: add + IL_0028: nop + IL_0029: stloc.s V_4 + IL_002b: ldloc.s V_4 + IL_002d: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor(int32) + IL_0032: stloc.s V_7 + IL_0034: ldarg.0 + IL_0035: stloc.s V_8 + IL_0037: ldloc.s V_8 + IL_0039: brfalse.s IL_003d + + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: nop + IL_003f: br.s IL_0058 + + IL_0041: ldloc.s V_8 + IL_0043: stloc.s V_9 + IL_0045: ldloc.s V_9 + IL_0047: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_004c: stloc.s V_10 + IL_004e: ldloc.s V_7 + IL_0050: ldloc.s V_10 + IL_0052: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_0057: nop + IL_0058: ldarg.1 + IL_0059: stloc.s V_11 + IL_005b: ldloc.s V_11 + IL_005d: brfalse.s IL_0061 + + IL_005f: br.s IL_0065 + + IL_0061: nop + IL_0062: nop + IL_0063: br.s IL_007c + + IL_0065: ldloc.s V_11 + IL_0067: stloc.s V_12 + IL_0069: ldloc.s V_12 + IL_006b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0070: stloc.s V_13 + IL_0072: ldloc.s V_7 + IL_0074: ldloc.s V_13 + IL_0076: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_007b: nop + IL_007c: ldloc.s V_7 + IL_007e: ret + } + + } + + .method public static class [runtime]System.Collections.Generic.List`1 + test() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [runtime]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: ldnull + IL_0001: stloc.0 + IL_0002: ldnull + IL_0003: stloc.1 + IL_0004: ldc.i4.0 + IL_0005: stloc.2 + IL_0006: ldloc.0 + IL_0007: stloc.s V_4 + IL_0009: ldloc.s V_4 + IL_000b: brfalse.s IL_000f + + IL_000d: br.s IL_0013 + + IL_000f: ldloc.2 + IL_0010: nop + IL_0011: br.s IL_001b + + IL_0013: ldloc.s V_4 + IL_0015: stloc.s V_5 + IL_0017: ldloc.2 + IL_0018: ldc.i4.1 + IL_0019: add + IL_001a: nop + IL_001b: stloc.3 + IL_001c: ldloc.1 + IL_001d: stloc.s V_7 + IL_001f: ldloc.s V_7 + IL_0021: brfalse.s IL_0025 + + IL_0023: br.s IL_0029 + + IL_0025: ldloc.3 + IL_0026: nop + IL_0027: br.s IL_0031 + + IL_0029: ldloc.s V_7 + IL_002b: stloc.s V_8 + IL_002d: ldloc.3 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: nop + IL_0031: stloc.s V_6 + IL_0033: ldloc.s V_6 + IL_0035: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor(int32) + IL_003a: stloc.s V_9 + IL_003c: ldloc.0 + IL_003d: stloc.s V_10 + IL_003f: ldloc.s V_10 + IL_0041: brfalse.s IL_0045 + + IL_0043: br.s IL_0048 + + IL_0045: nop + IL_0046: br.s IL_005b + + IL_0048: ldloc.s V_10 + IL_004a: stloc.s V_11 + IL_004c: ldloc.s V_9 + IL_004e: ldloc.s V_11 + IL_0050: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0055: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_005a: nop + IL_005b: ldloc.1 + IL_005c: stloc.s V_12 + IL_005e: ldloc.s V_12 + IL_0060: brfalse.s IL_0064 + + IL_0062: br.s IL_0067 + + IL_0064: nop + IL_0065: br.s IL_007a + + IL_0067: ldloc.s V_12 + IL_0069: stloc.s V_13 + IL_006b: ldloc.s V_9 + IL_006d: ldloc.s V_13 + IL_006f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0074: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_0079: nop + IL_007a: ldloc.s V_9 + IL_007c: ret + } + + .method public static class [runtime]System.Collections.Generic.List`1 + test2() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [runtime]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: newobj instance void assembly/A::.ctor() + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_000a: stloc.0 + IL_000b: ldnull + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.2 + IL_000f: ldloc.0 + IL_0010: stloc.s V_4 + IL_0012: ldloc.s V_4 + IL_0014: brfalse.s IL_0018 + + IL_0016: br.s IL_001c + + IL_0018: ldloc.2 + IL_0019: nop + IL_001a: br.s IL_0024 + + IL_001c: ldloc.s V_4 + IL_001e: stloc.s V_5 + IL_0020: ldloc.2 + IL_0021: ldc.i4.1 + IL_0022: add + IL_0023: nop + IL_0024: stloc.3 + IL_0025: ldloc.1 + IL_0026: stloc.s V_7 + IL_0028: ldloc.s V_7 + IL_002a: brfalse.s IL_002e + + IL_002c: br.s IL_0032 + + IL_002e: ldloc.3 + IL_002f: nop + IL_0030: br.s IL_003a + + IL_0032: ldloc.s V_7 + IL_0034: stloc.s V_8 + IL_0036: ldloc.3 + IL_0037: ldc.i4.1 + IL_0038: add + IL_0039: nop + IL_003a: stloc.s V_6 + IL_003c: ldloc.s V_6 + IL_003e: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor(int32) + IL_0043: stloc.s V_9 + IL_0045: ldloc.0 + IL_0046: stloc.s V_10 + IL_0048: ldloc.s V_10 + IL_004a: brfalse.s IL_004e + + IL_004c: br.s IL_0051 + + IL_004e: nop + IL_004f: br.s IL_0064 + + IL_0051: ldloc.s V_10 + IL_0053: stloc.s V_11 + IL_0055: ldloc.s V_9 + IL_0057: ldloc.s V_11 + IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_005e: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_0063: nop + IL_0064: ldloc.1 + IL_0065: stloc.s V_12 + IL_0067: ldloc.s V_12 + IL_0069: brfalse.s IL_006d + + IL_006b: br.s IL_0070 + + IL_006d: nop + IL_006e: br.s IL_0083 + + IL_0070: ldloc.s V_12 + IL_0072: stloc.s V_13 + IL_0074: ldloc.s V_9 + IL_0076: ldloc.s V_13 + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_007d: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_0082: nop + IL_0083: ldloc.s V_9 + IL_0085: ret + } + + .method public static class [runtime]System.Collections.Generic.List`1 + test3() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [runtime]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: ldnull + IL_0001: stloc.0 + IL_0002: newobj instance void assembly/A::.ctor() + IL_0007: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.2 + IL_000f: ldloc.0 + IL_0010: stloc.s V_4 + IL_0012: ldloc.s V_4 + IL_0014: brfalse.s IL_0018 + + IL_0016: br.s IL_001c + + IL_0018: ldloc.2 + IL_0019: nop + IL_001a: br.s IL_0024 + + IL_001c: ldloc.s V_4 + IL_001e: stloc.s V_5 + IL_0020: ldloc.2 + IL_0021: ldc.i4.1 + IL_0022: add + IL_0023: nop + IL_0024: stloc.3 + IL_0025: ldloc.1 + IL_0026: stloc.s V_7 + IL_0028: ldloc.s V_7 + IL_002a: brfalse.s IL_002e + + IL_002c: br.s IL_0032 + + IL_002e: ldloc.3 + IL_002f: nop + IL_0030: br.s IL_003a + + IL_0032: ldloc.s V_7 + IL_0034: stloc.s V_8 + IL_0036: ldloc.3 + IL_0037: ldc.i4.1 + IL_0038: add + IL_0039: nop + IL_003a: stloc.s V_6 + IL_003c: ldloc.s V_6 + IL_003e: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor(int32) + IL_0043: stloc.s V_9 + IL_0045: ldloc.0 + IL_0046: stloc.s V_10 + IL_0048: ldloc.s V_10 + IL_004a: brfalse.s IL_004e + + IL_004c: br.s IL_0051 + + IL_004e: nop + IL_004f: br.s IL_0064 + + IL_0051: ldloc.s V_10 + IL_0053: stloc.s V_11 + IL_0055: ldloc.s V_9 + IL_0057: ldloc.s V_11 + IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_005e: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_0063: nop + IL_0064: ldloc.1 + IL_0065: stloc.s V_12 + IL_0067: ldloc.s V_12 + IL_0069: brfalse.s IL_006d + + IL_006b: br.s IL_0070 + + IL_006d: nop + IL_006e: br.s IL_0083 + + IL_0070: ldloc.s V_12 + IL_0072: stloc.s V_13 + IL_0074: ldloc.s V_9 + IL_0076: ldloc.s V_13 + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_007d: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_0082: nop + IL_0083: ldloc.s V_9 + IL_0085: ret + } + + .method public static class [runtime]System.Collections.Generic.List`1 + test4() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [runtime]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: newobj instance void assembly/A::.ctor() + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_000a: stloc.0 + IL_000b: newobj instance void assembly/A::.ctor() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_0015: stloc.1 + IL_0016: ldc.i4.0 + IL_0017: stloc.2 + IL_0018: ldloc.0 + IL_0019: stloc.s V_4 + IL_001b: ldloc.s V_4 + IL_001d: brfalse.s IL_0021 + + IL_001f: br.s IL_0025 + + IL_0021: ldloc.2 + IL_0022: nop + IL_0023: br.s IL_002d + + IL_0025: ldloc.s V_4 + IL_0027: stloc.s V_5 + IL_0029: ldloc.2 + IL_002a: ldc.i4.1 + IL_002b: add + IL_002c: nop + IL_002d: stloc.3 + IL_002e: ldloc.1 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_7 + IL_0033: brfalse.s IL_0037 + + IL_0035: br.s IL_003b + + IL_0037: ldloc.3 + IL_0038: nop + IL_0039: br.s IL_0043 + + IL_003b: ldloc.s V_7 + IL_003d: stloc.s V_8 + IL_003f: ldloc.3 + IL_0040: ldc.i4.1 + IL_0041: add + IL_0042: nop + IL_0043: stloc.s V_6 + IL_0045: ldloc.s V_6 + IL_0047: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor(int32) + IL_004c: stloc.s V_9 + IL_004e: ldloc.0 + IL_004f: stloc.s V_10 + IL_0051: ldloc.s V_10 + IL_0053: brfalse.s IL_0057 + + IL_0055: br.s IL_005a + + IL_0057: nop + IL_0058: br.s IL_006d + + IL_005a: ldloc.s V_10 + IL_005c: stloc.s V_11 + IL_005e: ldloc.s V_9 + IL_0060: ldloc.s V_11 + IL_0062: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0067: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_006c: nop + IL_006d: ldloc.1 + IL_006e: stloc.s V_12 + IL_0070: ldloc.s V_12 + IL_0072: brfalse.s IL_0076 + + IL_0074: br.s IL_0079 + + IL_0076: nop + IL_0077: br.s IL_008c + + IL_0079: ldloc.s V_12 + IL_007b: stloc.s V_13 + IL_007d: ldloc.s V_9 + IL_007f: ldloc.s V_13 + IL_0081: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0086: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_008b: nop + IL_008c: ldloc.s V_9 + IL_008e: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.netcore.bsl new file mode 100644 index 00000000000..3a392760e0c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/OptionalArg01.fs.il.netcore.bsl @@ -0,0 +1,621 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public A + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .class auto ansi serializable nested public C + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname + instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public static class [System.Collections]System.Collections.Generic.List`1 + F(class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 x2) cil managed + { + .param [1] + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.OptionalArgumentAttribute::.ctor() = ( 01 00 00 00 ) + .param [2] + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.OptionalArgumentAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 4 + .locals init (int32 V_0, + int32 V_1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_2, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3, + int32 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_6, + class [System.Collections]System.Collections.Generic.List`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_9, + class assembly/A V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class assembly/A V_13) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: stloc.2 + IL_0004: ldloc.2 + IL_0005: brfalse.s IL_0009 + + IL_0007: br.s IL_000d + + IL_0009: ldloc.0 + IL_000a: nop + IL_000b: br.s IL_0013 + + IL_000d: ldloc.2 + IL_000e: stloc.3 + IL_000f: ldloc.0 + IL_0010: ldc.i4.1 + IL_0011: add + IL_0012: nop + IL_0013: stloc.1 + IL_0014: ldarg.1 + IL_0015: stloc.s V_5 + IL_0017: ldloc.s V_5 + IL_0019: brfalse.s IL_001d + + IL_001b: br.s IL_0021 + + IL_001d: ldloc.1 + IL_001e: nop + IL_001f: br.s IL_0029 + + IL_0021: ldloc.s V_5 + IL_0023: stloc.s V_6 + IL_0025: ldloc.1 + IL_0026: ldc.i4.1 + IL_0027: add + IL_0028: nop + IL_0029: stloc.s V_4 + IL_002b: ldloc.s V_4 + IL_002d: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor(int32) + IL_0032: stloc.s V_7 + IL_0034: ldarg.0 + IL_0035: stloc.s V_8 + IL_0037: ldloc.s V_8 + IL_0039: brfalse.s IL_003d + + IL_003b: br.s IL_0041 + + IL_003d: nop + IL_003e: nop + IL_003f: br.s IL_0058 + + IL_0041: ldloc.s V_8 + IL_0043: stloc.s V_9 + IL_0045: ldloc.s V_9 + IL_0047: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_004c: stloc.s V_10 + IL_004e: ldloc.s V_7 + IL_0050: ldloc.s V_10 + IL_0052: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_0057: nop + IL_0058: ldarg.1 + IL_0059: stloc.s V_11 + IL_005b: ldloc.s V_11 + IL_005d: brfalse.s IL_0061 + + IL_005f: br.s IL_0065 + + IL_0061: nop + IL_0062: nop + IL_0063: br.s IL_007c + + IL_0065: ldloc.s V_11 + IL_0067: stloc.s V_12 + IL_0069: ldloc.s V_12 + IL_006b: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0070: stloc.s V_13 + IL_0072: ldloc.s V_7 + IL_0074: ldloc.s V_13 + IL_0076: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_007b: nop + IL_007c: ldloc.s V_7 + IL_007e: ret + } + + } + + .method public static class [System.Collections]System.Collections.Generic.List`1 + test() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [System.Collections]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: ldnull + IL_0001: stloc.0 + IL_0002: ldnull + IL_0003: stloc.1 + IL_0004: ldc.i4.0 + IL_0005: stloc.2 + IL_0006: ldloc.0 + IL_0007: stloc.s V_4 + IL_0009: ldloc.s V_4 + IL_000b: brfalse.s IL_000f + + IL_000d: br.s IL_0013 + + IL_000f: ldloc.2 + IL_0010: nop + IL_0011: br.s IL_001b + + IL_0013: ldloc.s V_4 + IL_0015: stloc.s V_5 + IL_0017: ldloc.2 + IL_0018: ldc.i4.1 + IL_0019: add + IL_001a: nop + IL_001b: stloc.3 + IL_001c: ldloc.1 + IL_001d: stloc.s V_7 + IL_001f: ldloc.s V_7 + IL_0021: brfalse.s IL_0025 + + IL_0023: br.s IL_0029 + + IL_0025: ldloc.3 + IL_0026: nop + IL_0027: br.s IL_0031 + + IL_0029: ldloc.s V_7 + IL_002b: stloc.s V_8 + IL_002d: ldloc.3 + IL_002e: ldc.i4.1 + IL_002f: add + IL_0030: nop + IL_0031: stloc.s V_6 + IL_0033: ldloc.s V_6 + IL_0035: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor(int32) + IL_003a: stloc.s V_9 + IL_003c: ldloc.0 + IL_003d: stloc.s V_10 + IL_003f: ldloc.s V_10 + IL_0041: brfalse.s IL_0045 + + IL_0043: br.s IL_0048 + + IL_0045: nop + IL_0046: br.s IL_005b + + IL_0048: ldloc.s V_10 + IL_004a: stloc.s V_11 + IL_004c: ldloc.s V_9 + IL_004e: ldloc.s V_11 + IL_0050: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0055: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_005a: nop + IL_005b: ldloc.1 + IL_005c: stloc.s V_12 + IL_005e: ldloc.s V_12 + IL_0060: brfalse.s IL_0064 + + IL_0062: br.s IL_0067 + + IL_0064: nop + IL_0065: br.s IL_007a + + IL_0067: ldloc.s V_12 + IL_0069: stloc.s V_13 + IL_006b: ldloc.s V_9 + IL_006d: ldloc.s V_13 + IL_006f: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0074: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_0079: nop + IL_007a: ldloc.s V_9 + IL_007c: ret + } + + .method public static class [System.Collections]System.Collections.Generic.List`1 + test2() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [System.Collections]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: newobj instance void assembly/A::.ctor() + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_000a: stloc.0 + IL_000b: ldnull + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.2 + IL_000f: ldloc.0 + IL_0010: stloc.s V_4 + IL_0012: ldloc.s V_4 + IL_0014: brfalse.s IL_0018 + + IL_0016: br.s IL_001c + + IL_0018: ldloc.2 + IL_0019: nop + IL_001a: br.s IL_0024 + + IL_001c: ldloc.s V_4 + IL_001e: stloc.s V_5 + IL_0020: ldloc.2 + IL_0021: ldc.i4.1 + IL_0022: add + IL_0023: nop + IL_0024: stloc.3 + IL_0025: ldloc.1 + IL_0026: stloc.s V_7 + IL_0028: ldloc.s V_7 + IL_002a: brfalse.s IL_002e + + IL_002c: br.s IL_0032 + + IL_002e: ldloc.3 + IL_002f: nop + IL_0030: br.s IL_003a + + IL_0032: ldloc.s V_7 + IL_0034: stloc.s V_8 + IL_0036: ldloc.3 + IL_0037: ldc.i4.1 + IL_0038: add + IL_0039: nop + IL_003a: stloc.s V_6 + IL_003c: ldloc.s V_6 + IL_003e: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor(int32) + IL_0043: stloc.s V_9 + IL_0045: ldloc.0 + IL_0046: stloc.s V_10 + IL_0048: ldloc.s V_10 + IL_004a: brfalse.s IL_004e + + IL_004c: br.s IL_0051 + + IL_004e: nop + IL_004f: br.s IL_0064 + + IL_0051: ldloc.s V_10 + IL_0053: stloc.s V_11 + IL_0055: ldloc.s V_9 + IL_0057: ldloc.s V_11 + IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_005e: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_0063: nop + IL_0064: ldloc.1 + IL_0065: stloc.s V_12 + IL_0067: ldloc.s V_12 + IL_0069: brfalse.s IL_006d + + IL_006b: br.s IL_0070 + + IL_006d: nop + IL_006e: br.s IL_0083 + + IL_0070: ldloc.s V_12 + IL_0072: stloc.s V_13 + IL_0074: ldloc.s V_9 + IL_0076: ldloc.s V_13 + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_007d: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_0082: nop + IL_0083: ldloc.s V_9 + IL_0085: ret + } + + .method public static class [System.Collections]System.Collections.Generic.List`1 + test3() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [System.Collections]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: ldnull + IL_0001: stloc.0 + IL_0002: newobj instance void assembly/A::.ctor() + IL_0007: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_000c: stloc.1 + IL_000d: ldc.i4.0 + IL_000e: stloc.2 + IL_000f: ldloc.0 + IL_0010: stloc.s V_4 + IL_0012: ldloc.s V_4 + IL_0014: brfalse.s IL_0018 + + IL_0016: br.s IL_001c + + IL_0018: ldloc.2 + IL_0019: nop + IL_001a: br.s IL_0024 + + IL_001c: ldloc.s V_4 + IL_001e: stloc.s V_5 + IL_0020: ldloc.2 + IL_0021: ldc.i4.1 + IL_0022: add + IL_0023: nop + IL_0024: stloc.3 + IL_0025: ldloc.1 + IL_0026: stloc.s V_7 + IL_0028: ldloc.s V_7 + IL_002a: brfalse.s IL_002e + + IL_002c: br.s IL_0032 + + IL_002e: ldloc.3 + IL_002f: nop + IL_0030: br.s IL_003a + + IL_0032: ldloc.s V_7 + IL_0034: stloc.s V_8 + IL_0036: ldloc.3 + IL_0037: ldc.i4.1 + IL_0038: add + IL_0039: nop + IL_003a: stloc.s V_6 + IL_003c: ldloc.s V_6 + IL_003e: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor(int32) + IL_0043: stloc.s V_9 + IL_0045: ldloc.0 + IL_0046: stloc.s V_10 + IL_0048: ldloc.s V_10 + IL_004a: brfalse.s IL_004e + + IL_004c: br.s IL_0051 + + IL_004e: nop + IL_004f: br.s IL_0064 + + IL_0051: ldloc.s V_10 + IL_0053: stloc.s V_11 + IL_0055: ldloc.s V_9 + IL_0057: ldloc.s V_11 + IL_0059: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_005e: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_0063: nop + IL_0064: ldloc.1 + IL_0065: stloc.s V_12 + IL_0067: ldloc.s V_12 + IL_0069: brfalse.s IL_006d + + IL_006b: br.s IL_0070 + + IL_006d: nop + IL_006e: br.s IL_0083 + + IL_0070: ldloc.s V_12 + IL_0072: stloc.s V_13 + IL_0074: ldloc.s V_9 + IL_0076: ldloc.s V_13 + IL_0078: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_007d: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_0082: nop + IL_0083: ldloc.s V_9 + IL_0085: ret + } + + .method public static class [System.Collections]System.Collections.Generic.List`1 + test4() cil managed + { + + .maxstack 4 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_0, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_1, + int32 V_2, + int32 V_3, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_4, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_5, + int32 V_6, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_7, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_8, + class [System.Collections]System.Collections.Generic.List`1 V_9, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_10, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_11, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_12, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_13) + IL_0000: newobj instance void assembly/A::.ctor() + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_000a: stloc.0 + IL_000b: newobj instance void assembly/A::.ctor() + IL_0010: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::Some(!0) + IL_0015: stloc.1 + IL_0016: ldc.i4.0 + IL_0017: stloc.2 + IL_0018: ldloc.0 + IL_0019: stloc.s V_4 + IL_001b: ldloc.s V_4 + IL_001d: brfalse.s IL_0021 + + IL_001f: br.s IL_0025 + + IL_0021: ldloc.2 + IL_0022: nop + IL_0023: br.s IL_002d + + IL_0025: ldloc.s V_4 + IL_0027: stloc.s V_5 + IL_0029: ldloc.2 + IL_002a: ldc.i4.1 + IL_002b: add + IL_002c: nop + IL_002d: stloc.3 + IL_002e: ldloc.1 + IL_002f: stloc.s V_7 + IL_0031: ldloc.s V_7 + IL_0033: brfalse.s IL_0037 + + IL_0035: br.s IL_003b + + IL_0037: ldloc.3 + IL_0038: nop + IL_0039: br.s IL_0043 + + IL_003b: ldloc.s V_7 + IL_003d: stloc.s V_8 + IL_003f: ldloc.3 + IL_0040: ldc.i4.1 + IL_0041: add + IL_0042: nop + IL_0043: stloc.s V_6 + IL_0045: ldloc.s V_6 + IL_0047: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor(int32) + IL_004c: stloc.s V_9 + IL_004e: ldloc.0 + IL_004f: stloc.s V_10 + IL_0051: ldloc.s V_10 + IL_0053: brfalse.s IL_0057 + + IL_0055: br.s IL_005a + + IL_0057: nop + IL_0058: br.s IL_006d + + IL_005a: ldloc.s V_10 + IL_005c: stloc.s V_11 + IL_005e: ldloc.s V_9 + IL_0060: ldloc.s V_11 + IL_0062: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0067: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_006c: nop + IL_006d: ldloc.1 + IL_006e: stloc.s V_12 + IL_0070: ldloc.s V_12 + IL_0072: brfalse.s IL_0076 + + IL_0074: br.s IL_0079 + + IL_0076: nop + IL_0077: br.s IL_008c + + IL_0079: ldloc.s V_12 + IL_007b: stloc.s V_13 + IL_007d: ldloc.s V_9 + IL_007f: ldloc.s V_13 + IL_0081: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1::get_Value() + IL_0086: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_008b: nop + IL_008c: ldloc.s V_9 + IL_008e: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs new file mode 100644 index 00000000000..a4a757adf72 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs.il.bsl new file mode 100644 index 00000000000..a12fad746cd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple01.fs.il.bsl @@ -0,0 +1,65 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs new file mode 100644 index 00000000000..45b888adebd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1,2 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs.il.bsl new file mode 100644 index 00000000000..56cea81c9ce --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple02.fs.il.bsl @@ -0,0 +1,93 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0007: pop + IL_0008: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs new file mode 100644 index 00000000000..089bfaf6aba --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1,2,3 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs.il.bsl new file mode 100644 index 00000000000..1ac3c6b46be --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple03.fs.il.bsl @@ -0,0 +1,95 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_0008: pop + IL_0009: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs new file mode 100644 index 00000000000..e41ebaddecf --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1,2,3,4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs.il.bsl new file mode 100644 index 00000000000..cccfd26e50e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple04.fs.il.bsl @@ -0,0 +1,97 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.4 + IL_0004: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_0009: pop + IL_000a: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs new file mode 100644 index 00000000000..bf1f24c4027 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1,2,3,4,5 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs.il.bsl new file mode 100644 index 00000000000..31819350a38 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple05.fs.il.bsl @@ -0,0 +1,99 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.4 + IL_0004: ldc.i4.5 + IL_0005: newobj instance void class [runtime]System.Tuple`5::.ctor(!0, + !1, + !2, + !3, + !4) + IL_000a: pop + IL_000b: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs new file mode 100644 index 00000000000..b4bebd1f438 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1,2,3,4,5,6 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs.il.bsl new file mode 100644 index 00000000000..e38d6e0191d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple06.fs.il.bsl @@ -0,0 +1,101 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.4 + IL_0004: ldc.i4.5 + IL_0005: ldc.i4.6 + IL_0006: newobj instance void class [runtime]System.Tuple`6::.ctor(!0, + !1, + !2, + !3, + !4, + !5) + IL_000b: pop + IL_000c: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs new file mode 100644 index 00000000000..9ae67768f1f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1,2,3,4,5,6,7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs.il.bsl new file mode 100644 index 00000000000..a10fbaadf62 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple07.fs.il.bsl @@ -0,0 +1,103 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 9 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.4 + IL_0004: ldc.i4.5 + IL_0005: ldc.i4.6 + IL_0006: ldc.i4.7 + IL_0007: newobj instance void class [runtime]System.Tuple`7::.ctor(!0, + !1, + !2, + !3, + !4, + !5, + !6) + IL_000c: pop + IL_000d: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs new file mode 100644 index 00000000000..c06a17dd228 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 1,2,3,4,5,6,7,8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs.il.bsl new file mode 100644 index 00000000000..df110d553d6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuple08.fs.il.bsl @@ -0,0 +1,106 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 10 + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.2 + IL_0002: ldc.i4.3 + IL_0003: ldc.i4.4 + IL_0004: ldc.i4.5 + IL_0005: ldc.i4.6 + IL_0006: ldc.i4.7 + IL_0007: ldc.i4.8 + IL_0008: newobj instance void class [runtime]System.Tuple`1::.ctor(!0) + IL_000d: newobj instance void class [runtime]System.Tuple`8>::.ctor(!0, + !1, + !2, + !3, + !4, + !5, + !6, + !7) + IL_0012: pop + IL_0013: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs new file mode 100644 index 00000000000..741a8422343 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs @@ -0,0 +1,23 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples + +[] +let main argv = + let p v = printfn "%A" v + + let dic = System.Collections.Generic.Dictionary() + // Tests that the Tuple is eliminated as intended for instance methods + let (b : bool, i : int) = dic.TryGetValue 1 + p b + p i + + // Tests that the Tuple is eliminated as intended for static methods + let (b : bool, l : int64) as t = System.Int64.TryParse "123" + p b + p l + + let tt : bool*int64 = t + + // Tests that a Tuple is created as needed when calling p + p tt + + 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.net472.bsl new file mode 100644 index 00000000000..232c542e085 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.net472.bsl @@ -0,0 +1,245 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit p@5 + extends [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc + { + .field static assembly initonly class assembly/p@5 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::.ctor() + IL_0006: ret + } + + .method public strict virtual instance object + Specialize() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void class assembly/p@5T::.ctor(class assembly/p@5) + IL_0006: box class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_000b: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 10 + IL_0000: newobj instance void assembly/p@5::.ctor() + IL_0005: stsfld class assembly/p@5 assembly/p@5::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit p@5T + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class assembly/p@5 self0@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class assembly/p@5 self0@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/p@5 class assembly/p@5T::self0@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit + Invoke(!a v) cil managed + { + + .maxstack 7 + .locals init (class assembly/p@5 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/p@5 class assembly/p@5T::self0@ + IL_0006: stloc.0 + IL_0007: ldstr "%A" + IL_000c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,!a>::.ctor(string) + IL_0011: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0016: ldarg.1 + IL_0017: tail. + IL_0019: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_001e: ret + } + + } + + .method public static int32 main(string[] argv) cil managed + { + .entrypoint + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc V_0, + class [runtime]System.Collections.Generic.Dictionary`2 V_1, + class [runtime]System.Tuple`2 V_2, + int32 V_3, + int32 V_4, + bool V_5, + bool V_6, + int32 V_7, + class [runtime]System.Tuple`2 V_8, + int64 V_9, + int64 V_10, + bool V_11, + bool V_12, + int64 V_13, + class [runtime]System.Tuple`2 V_14, + class [runtime]System.Tuple`2 V_15) + IL_0000: ldsfld class assembly/p@5 assembly/p@5::@_instance + IL_0005: stloc.0 + IL_0006: newobj instance void class [runtime]System.Collections.Generic.Dictionary`2::.ctor() + IL_000b: stloc.1 + IL_000c: ldloc.1 + IL_000d: ldc.i4.1 + IL_000e: ldloca.s V_3 + IL_0010: callvirt instance bool class [runtime]System.Collections.Generic.Dictionary`2::TryGetValue(!0, + !1&) + IL_0015: ldloc.3 + IL_0016: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0022: stloc.s V_4 + IL_0024: ldloc.2 + IL_0025: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_002a: stloc.s V_5 + IL_002c: ldloc.0 + IL_002d: ldloc.s V_5 + IL_002f: stloc.s V_6 + IL_0031: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_0036: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_003b: ldloc.s V_6 + IL_003d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0042: pop + IL_0043: ldloc.0 + IL_0044: ldloc.s V_4 + IL_0046: stloc.s V_7 + IL_0048: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_004d: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_0052: ldloc.s V_7 + IL_0054: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0059: pop + IL_005a: ldstr "123" + IL_005f: ldloca.s V_9 + IL_0061: call bool [runtime]System.Int64::TryParse(string, + int64&) + IL_0066: ldloc.s V_9 + IL_0068: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_006d: stloc.s V_8 + IL_006f: ldloc.s V_8 + IL_0071: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0076: stloc.s V_10 + IL_0078: ldloc.s V_8 + IL_007a: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_007f: stloc.s V_11 + IL_0081: ldloc.0 + IL_0082: ldloc.s V_11 + IL_0084: stloc.s V_12 + IL_0086: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_008b: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_0090: ldloc.s V_12 + IL_0092: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0097: pop + IL_0098: ldloc.0 + IL_0099: ldloc.s V_10 + IL_009b: stloc.s V_13 + IL_009d: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_00a2: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_00a7: ldloc.s V_13 + IL_00a9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_00ae: pop + IL_00af: ldloc.s V_8 + IL_00b1: stloc.s V_14 + IL_00b3: ldloc.0 + IL_00b4: ldloc.s V_14 + IL_00b6: stloc.s V_15 + IL_00b8: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize>() + IL_00bd: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> + IL_00c2: ldloc.s V_15 + IL_00c4: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_00c9: pop + IL_00ca: ldc.i4.0 + IL_00cb: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.netcore.bsl new file mode 100644 index 00000000000..e78d74b07c4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleElimination.fs.il.netcore.bsl @@ -0,0 +1,244 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit p@5 + extends [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc + { + .field static assembly initonly class assembly/p@5 @_instance + .method assembly specialname rtspecialname + instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::.ctor() + IL_0006: ret + } + + .method public strict virtual instance object + Specialize() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void class assembly/p@5T::.ctor(class assembly/p@5) + IL_0006: box class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_000b: ret + } + + .method private specialname rtspecialname static + void .cctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 10 + IL_0000: newobj instance void assembly/p@5::.ctor() + IL_0005: stsfld class assembly/p@5 assembly/p@5::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit p@5T + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class assembly/p@5 self0@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname + instance void .ctor(class assembly/p@5 self0@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/p@5 class assembly/p@5T::self0@ + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Core.Unit + Invoke(!a v) cil managed + { + + .maxstack 7 + .locals init (class assembly/p@5 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/p@5 class assembly/p@5T::self0@ + IL_0006: stloc.0 + IL_0007: ldstr "%A" + IL_000c: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,!a>::.ctor(string) + IL_0011: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0016: ldarg.1 + IL_0017: tail. + IL_0019: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_001e: ret + } + + } + + .method public static int32 main(string[] argv) cil managed + { + .entrypoint + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc V_0, + class [System.Collections]System.Collections.Generic.Dictionary`2 V_1, + class [runtime]System.Tuple`2 V_2, + int32 V_3, + int32 V_4, + bool V_5, + bool V_6, + int32 V_7, + class [runtime]System.Tuple`2 V_8, + int64 V_9, + int64 V_10, + bool V_11, + bool V_12, + int64 V_13, + class [runtime]System.Tuple`2 V_14, + class [runtime]System.Tuple`2 V_15) + IL_0000: ldsfld class assembly/p@5 assembly/p@5::@_instance + IL_0005: stloc.0 + IL_0006: newobj instance void class [System.Collections]System.Collections.Generic.Dictionary`2::.ctor() + IL_000b: stloc.1 + IL_000c: ldloc.1 + IL_000d: ldc.i4.1 + IL_000e: ldloca.s V_3 + IL_0010: callvirt instance bool class [System.Collections]System.Collections.Generic.Dictionary`2::TryGetValue(!0, + !1&) + IL_0015: ldloc.3 + IL_0016: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_001b: stloc.2 + IL_001c: ldloc.2 + IL_001d: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0022: stloc.s V_4 + IL_0024: ldloc.2 + IL_0025: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_002a: stloc.s V_5 + IL_002c: ldloc.0 + IL_002d: ldloc.s V_5 + IL_002f: stloc.s V_6 + IL_0031: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_0036: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_003b: ldloc.s V_6 + IL_003d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0042: pop + IL_0043: ldloc.0 + IL_0044: ldloc.s V_4 + IL_0046: stloc.s V_7 + IL_0048: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_004d: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_0052: ldloc.s V_7 + IL_0054: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0059: pop + IL_005a: ldstr "123" + IL_005f: ldloca.s V_9 + IL_0061: call bool [runtime]System.Int64::TryParse(string, + int64&) + IL_0066: ldloc.s V_9 + IL_0068: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_006d: stloc.s V_8 + IL_006f: ldloc.s V_8 + IL_0071: call instance !1 class [runtime]System.Tuple`2::get_Item2() + IL_0076: stloc.s V_10 + IL_0078: ldloc.s V_8 + IL_007a: call instance !0 class [runtime]System.Tuple`2::get_Item1() + IL_007f: stloc.s V_11 + IL_0081: ldloc.0 + IL_0082: ldloc.s V_11 + IL_0084: stloc.s V_12 + IL_0086: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_008b: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_0090: ldloc.s V_12 + IL_0092: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_0097: pop + IL_0098: ldloc.0 + IL_0099: ldloc.s V_10 + IL_009b: stloc.s V_13 + IL_009d: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_00a2: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + IL_00a7: ldloc.s V_13 + IL_00a9: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_00ae: pop + IL_00af: ldloc.s V_8 + IL_00b1: stloc.s V_14 + IL_00b3: ldloc.0 + IL_00b4: ldloc.s V_14 + IL_00b6: stloc.s V_15 + IL_00b8: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize>() + IL_00bd: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> + IL_00c2: ldloc.s V_15 + IL_00c4: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) + IL_00c9: pop + IL_00ca: ldc.i4.0 + IL_00cb: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ +} diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs new file mode 100644 index 00000000000..9193f7cf054 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs @@ -0,0 +1,3 @@ +// #NoMono #NoMT #CodeGen #EmittedIL #Tuples +#light +let _ = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs.il.bsl new file mode 100644 index 00000000000..fbc7110bdaf --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/TupleMonster.fs.il.bsl @@ -0,0 +1,144 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 28 + IL_0000: ldc.i4.s 97 + IL_0002: ldc.i4.s 98 + IL_0004: ldc.i4.s 99 + IL_0006: ldc.i4.s 100 + IL_0008: ldc.i4.s 101 + IL_000a: ldc.i4.s 102 + IL_000c: ldc.i4.s 103 + IL_000e: ldc.i4.s 104 + IL_0010: ldc.i4.s 105 + IL_0012: ldc.i4.s 106 + IL_0014: ldc.i4.s 107 + IL_0016: ldc.i4.s 108 + IL_0018: ldc.i4.s 109 + IL_001a: ldc.i4.s 110 + IL_001c: ldc.i4.s 111 + IL_001e: ldc.i4.s 112 + IL_0020: ldc.i4.s 113 + IL_0022: ldc.i4.s 114 + IL_0024: ldc.i4.s 115 + IL_0026: ldc.i4.s 116 + IL_0028: ldc.i4.s 117 + IL_002a: ldc.i4.s 118 + IL_002c: ldc.i4.s 119 + IL_002e: ldc.i4.s 120 + IL_0030: ldc.i4.s 121 + IL_0032: ldc.i4.s 122 + IL_0034: newobj instance void class [runtime]System.Tuple`5::.ctor(!0, + !1, + !2, + !3, + !4) + IL_0039: newobj instance void class [runtime]System.Tuple`8>::.ctor(!0, + !1, + !2, + !3, + !4, + !5, + !6, + !7) + IL_003e: newobj instance void class [runtime]System.Tuple`8>>::.ctor(!0, + !1, + !2, + !3, + !4, + !5, + !6, + !7) + IL_0043: newobj instance void class [runtime]System.Tuple`8>>>::.ctor(!0, + !1, + !2, + !3, + !4, + !5, + !6, + !7) + IL_0048: pop + IL_0049: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuples.fs similarity index 97% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuples.fs index b03ccebada0..34cf49f9ec4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/Tuples.fs @@ -1,11 +1,11 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO open FSharp.Test open FSharp.Test.Compiler -module Tuples = +module TuplesRealInternalSignatureOn = let verifyCompilation compilation = compilation @@ -14,6 +14,7 @@ module Tuples = |> withNoOptimize |> withEmbeddedPdb |> withEmbedAllSource + |> withRealInternalSignatureOn |> ignoreWarnings |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs new file mode 100644 index 00000000000..a35f1cfef59 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs @@ -0,0 +1,3 @@ +open System +type Node = (struct (int* int)) +let _ = new Node(2,2) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.net472.bsl new file mode 100644 index 00000000000..a534e8e8668 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.net472.bsl @@ -0,0 +1,93 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: newobj instance void valuetype [runtime]System.ValueTuple`2::.ctor(!0, + !1) + IL_0007: pop + IL_0008: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.netcore.bsl new file mode 100644 index 00000000000..88392715359 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/RealInternalSignatureOn/ValueTupleAliasConstructor.fs.il.netcore.bsl @@ -0,0 +1,93 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.2 + IL_0001: ldc.i4.2 + IL_0002: newobj instance void valuetype [runtime]System.ValueTuple`2::.ctor(!0, + !1) + IL_0007: pop + IL_0008: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs index edf76bdf4c8..a6b967742fe 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test @@ -6,9 +6,19 @@ open FSharp.Test.Compiler module Operators = - [] - let ``Validate that non generic (fast) code is emitted for comparison involving decimals`` compilation = + // ``Validate that non generic (fast) code is emitted for comparison involving decimals RealInternalSignatureOff`` compilation = + [] + let ``Non generic (fast) code emitted for decimal comparison RealInternalSignatureOff`` compilation = compilation |> asExe + |> withRealInternalSignatureOff |> ignoreWarnings - |> verifyILBaseline \ No newline at end of file + |> verifyILBaseline + + [] + let ``Non generic (fast) code emitted for decimal comparison RealInternalSignatureOn`` compilation = + compilation + |> asExe + |> withRealInternalSignatureOn + |> ignoreWarnings + |> verifyILBaseline diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.net472.debug.bsl similarity index 98% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.net472.debug.bsl index 761a485a8d8..e99df0be6b9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.net472.debug.bsl @@ -40,13 +40,13 @@ -.class public abstract auto ansi sealed Decimal_comparison +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) } -.class private abstract auto ansi sealed ''.$Decimal_comparison +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .field static assembly int32 init@ diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.net472.release.bsl similarity index 98% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.net472.release.bsl index 761a485a8d8..e99df0be6b9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.net472.release.bsl @@ -40,13 +40,13 @@ -.class public abstract auto ansi sealed Decimal_comparison +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) } -.class private abstract auto ansi sealed ''.$Decimal_comparison +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .field static assembly int32 init@ diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.netcore.debug.bsl similarity index 98% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.netcore.debug.bsl index ae2bfc33410..4a3db2bbbcb 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.netcore.debug.bsl @@ -40,13 +40,13 @@ -.class public abstract auto ansi sealed Decimal_comparison +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) } -.class private abstract auto ansi sealed ''.$Decimal_comparison +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .field static assembly int32 init@ diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.netcore.release.bsl similarity index 98% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.netcore.release.bsl index ae2bfc33410..4a3db2bbbcb 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison.fs.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOff.fs.il.netcore.release.bsl @@ -40,13 +40,13 @@ -.class public abstract auto ansi sealed Decimal_comparison +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) } -.class private abstract auto ansi sealed ''.$Decimal_comparison +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOff extends [runtime]System.Object { .field static assembly int32 init@ diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs new file mode 100644 index 00000000000..1097b688029 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs @@ -0,0 +1,11 @@ +// #NoMono #NoMT #CodeGen #EmittedIL +// Validate we emit non-generic (=fast) code for comparison involving decimals +// See DevDiv:217807 (1.0M < 2.0M should be fast, not go through generic comparison code path) +let _ = 1.0M < 2.0M +let _ = 1.0M <= 2.0M +let _ = 1.0M > 2.0M +let _ = 1.0M >= 2.0M +let _ = 1.0M = 2.0M +let _ = 1.0M <> 2.0M +let _ = 1.0M = 2.0M +let _ = compare 1.0M 2.0M diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl new file mode 100644 index 00000000000..3c1919809c3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl @@ -0,0 +1,275 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_0006: ldsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.s 10 + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: ldc.i4.0 + IL_0005: ldc.i4.1 + IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_000b: ldc.i4.s 20 + IL_000d: ldc.i4.0 + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.0 + IL_0010: ldc.i4.1 + IL_0011: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0016: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_001b: pop + IL_001c: ldc.i4.s 10 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldc.i4.0 + IL_0021: ldc.i4.1 + IL_0022: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0027: ldc.i4.s 20 + IL_0029: ldc.i4.0 + IL_002a: ldc.i4.0 + IL_002b: ldc.i4.0 + IL_002c: ldc.i4.1 + IL_002d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0032: call bool [netstandard]System.Decimal::op_LessThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0037: pop + IL_0038: ldc.i4.s 10 + IL_003a: ldc.i4.0 + IL_003b: ldc.i4.0 + IL_003c: ldc.i4.0 + IL_003d: ldc.i4.1 + IL_003e: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0043: ldc.i4.s 20 + IL_0045: ldc.i4.0 + IL_0046: ldc.i4.0 + IL_0047: ldc.i4.0 + IL_0048: ldc.i4.1 + IL_0049: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_004e: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0053: pop + IL_0054: ldc.i4.s 10 + IL_0056: ldc.i4.0 + IL_0057: ldc.i4.0 + IL_0058: ldc.i4.0 + IL_0059: ldc.i4.1 + IL_005a: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_005f: ldc.i4.s 20 + IL_0061: ldc.i4.0 + IL_0062: ldc.i4.0 + IL_0063: ldc.i4.0 + IL_0064: ldc.i4.1 + IL_0065: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_006a: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_006f: pop + IL_0070: ldc.i4.s 10 + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.0 + IL_0074: ldc.i4.0 + IL_0075: ldc.i4.1 + IL_0076: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_007b: ldc.i4.s 20 + IL_007d: ldc.i4.0 + IL_007e: ldc.i4.0 + IL_007f: ldc.i4.0 + IL_0080: ldc.i4.1 + IL_0081: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0086: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_008b: pop + IL_008c: ldc.i4.s 10 + IL_008e: ldc.i4.0 + IL_008f: ldc.i4.0 + IL_0090: ldc.i4.0 + IL_0091: ldc.i4.1 + IL_0092: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0097: ldc.i4.s 20 + IL_0099: ldc.i4.0 + IL_009a: ldc.i4.0 + IL_009b: ldc.i4.0 + IL_009c: ldc.i4.1 + IL_009d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00a2: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00a7: ldc.i4.0 + IL_00a8: ceq + IL_00aa: pop + IL_00ab: ldc.i4.s 10 + IL_00ad: ldc.i4.0 + IL_00ae: ldc.i4.0 + IL_00af: ldc.i4.0 + IL_00b0: ldc.i4.1 + IL_00b1: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00b6: ldc.i4.s 20 + IL_00b8: ldc.i4.0 + IL_00b9: ldc.i4.0 + IL_00ba: ldc.i4.0 + IL_00bb: ldc.i4.1 + IL_00bc: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00c1: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00c6: pop + IL_00c7: ldc.i4.s 10 + IL_00c9: ldc.i4.0 + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: ldc.i4.1 + IL_00cd: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00d2: ldc.i4.s 20 + IL_00d4: ldc.i4.0 + IL_00d5: ldc.i4.0 + IL_00d6: ldc.i4.0 + IL_00d7: ldc.i4.1 + IL_00d8: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00dd: call int32 [netstandard]System.Decimal::Compare(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00e2: pop + IL_00e3: ret + } + +} + +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Decimal_comparison_RealInternalSignatureOn::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl new file mode 100644 index 00000000000..3c1919809c3 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl @@ -0,0 +1,275 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_0006: ldsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.s 10 + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: ldc.i4.0 + IL_0005: ldc.i4.1 + IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_000b: ldc.i4.s 20 + IL_000d: ldc.i4.0 + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.0 + IL_0010: ldc.i4.1 + IL_0011: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0016: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_001b: pop + IL_001c: ldc.i4.s 10 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldc.i4.0 + IL_0021: ldc.i4.1 + IL_0022: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0027: ldc.i4.s 20 + IL_0029: ldc.i4.0 + IL_002a: ldc.i4.0 + IL_002b: ldc.i4.0 + IL_002c: ldc.i4.1 + IL_002d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0032: call bool [netstandard]System.Decimal::op_LessThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0037: pop + IL_0038: ldc.i4.s 10 + IL_003a: ldc.i4.0 + IL_003b: ldc.i4.0 + IL_003c: ldc.i4.0 + IL_003d: ldc.i4.1 + IL_003e: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0043: ldc.i4.s 20 + IL_0045: ldc.i4.0 + IL_0046: ldc.i4.0 + IL_0047: ldc.i4.0 + IL_0048: ldc.i4.1 + IL_0049: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_004e: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0053: pop + IL_0054: ldc.i4.s 10 + IL_0056: ldc.i4.0 + IL_0057: ldc.i4.0 + IL_0058: ldc.i4.0 + IL_0059: ldc.i4.1 + IL_005a: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_005f: ldc.i4.s 20 + IL_0061: ldc.i4.0 + IL_0062: ldc.i4.0 + IL_0063: ldc.i4.0 + IL_0064: ldc.i4.1 + IL_0065: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_006a: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_006f: pop + IL_0070: ldc.i4.s 10 + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.0 + IL_0074: ldc.i4.0 + IL_0075: ldc.i4.1 + IL_0076: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_007b: ldc.i4.s 20 + IL_007d: ldc.i4.0 + IL_007e: ldc.i4.0 + IL_007f: ldc.i4.0 + IL_0080: ldc.i4.1 + IL_0081: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0086: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_008b: pop + IL_008c: ldc.i4.s 10 + IL_008e: ldc.i4.0 + IL_008f: ldc.i4.0 + IL_0090: ldc.i4.0 + IL_0091: ldc.i4.1 + IL_0092: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0097: ldc.i4.s 20 + IL_0099: ldc.i4.0 + IL_009a: ldc.i4.0 + IL_009b: ldc.i4.0 + IL_009c: ldc.i4.1 + IL_009d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00a2: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00a7: ldc.i4.0 + IL_00a8: ceq + IL_00aa: pop + IL_00ab: ldc.i4.s 10 + IL_00ad: ldc.i4.0 + IL_00ae: ldc.i4.0 + IL_00af: ldc.i4.0 + IL_00b0: ldc.i4.1 + IL_00b1: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00b6: ldc.i4.s 20 + IL_00b8: ldc.i4.0 + IL_00b9: ldc.i4.0 + IL_00ba: ldc.i4.0 + IL_00bb: ldc.i4.1 + IL_00bc: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00c1: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00c6: pop + IL_00c7: ldc.i4.s 10 + IL_00c9: ldc.i4.0 + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: ldc.i4.1 + IL_00cd: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00d2: ldc.i4.s 20 + IL_00d4: ldc.i4.0 + IL_00d5: ldc.i4.0 + IL_00d6: ldc.i4.0 + IL_00d7: ldc.i4.1 + IL_00d8: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00dd: call int32 [netstandard]System.Decimal::Compare(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00e2: pop + IL_00e3: ret + } + +} + +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Decimal_comparison_RealInternalSignatureOn::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl new file mode 100644 index 00000000000..bb5aa490e07 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl @@ -0,0 +1,275 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_0006: ldsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.s 10 + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: ldc.i4.0 + IL_0005: ldc.i4.1 + IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_000b: ldc.i4.s 20 + IL_000d: ldc.i4.0 + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.0 + IL_0010: ldc.i4.1 + IL_0011: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0016: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_001b: pop + IL_001c: ldc.i4.s 10 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldc.i4.0 + IL_0021: ldc.i4.1 + IL_0022: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0027: ldc.i4.s 20 + IL_0029: ldc.i4.0 + IL_002a: ldc.i4.0 + IL_002b: ldc.i4.0 + IL_002c: ldc.i4.1 + IL_002d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0032: call bool [netstandard]System.Decimal::op_LessThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0037: pop + IL_0038: ldc.i4.s 10 + IL_003a: ldc.i4.0 + IL_003b: ldc.i4.0 + IL_003c: ldc.i4.0 + IL_003d: ldc.i4.1 + IL_003e: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0043: ldc.i4.s 20 + IL_0045: ldc.i4.0 + IL_0046: ldc.i4.0 + IL_0047: ldc.i4.0 + IL_0048: ldc.i4.1 + IL_0049: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_004e: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0053: pop + IL_0054: ldc.i4.s 10 + IL_0056: ldc.i4.0 + IL_0057: ldc.i4.0 + IL_0058: ldc.i4.0 + IL_0059: ldc.i4.1 + IL_005a: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_005f: ldc.i4.s 20 + IL_0061: ldc.i4.0 + IL_0062: ldc.i4.0 + IL_0063: ldc.i4.0 + IL_0064: ldc.i4.1 + IL_0065: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_006a: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_006f: pop + IL_0070: ldc.i4.s 10 + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.0 + IL_0074: ldc.i4.0 + IL_0075: ldc.i4.1 + IL_0076: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_007b: ldc.i4.s 20 + IL_007d: ldc.i4.0 + IL_007e: ldc.i4.0 + IL_007f: ldc.i4.0 + IL_0080: ldc.i4.1 + IL_0081: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0086: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_008b: pop + IL_008c: ldc.i4.s 10 + IL_008e: ldc.i4.0 + IL_008f: ldc.i4.0 + IL_0090: ldc.i4.0 + IL_0091: ldc.i4.1 + IL_0092: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0097: ldc.i4.s 20 + IL_0099: ldc.i4.0 + IL_009a: ldc.i4.0 + IL_009b: ldc.i4.0 + IL_009c: ldc.i4.1 + IL_009d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00a2: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00a7: ldc.i4.0 + IL_00a8: ceq + IL_00aa: pop + IL_00ab: ldc.i4.s 10 + IL_00ad: ldc.i4.0 + IL_00ae: ldc.i4.0 + IL_00af: ldc.i4.0 + IL_00b0: ldc.i4.1 + IL_00b1: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00b6: ldc.i4.s 20 + IL_00b8: ldc.i4.0 + IL_00b9: ldc.i4.0 + IL_00ba: ldc.i4.0 + IL_00bb: ldc.i4.1 + IL_00bc: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00c1: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00c6: pop + IL_00c7: ldc.i4.s 10 + IL_00c9: ldc.i4.0 + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: ldc.i4.1 + IL_00cd: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00d2: ldc.i4.s 20 + IL_00d4: ldc.i4.0 + IL_00d5: ldc.i4.0 + IL_00d6: ldc.i4.0 + IL_00d7: ldc.i4.1 + IL_00d8: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00dd: call int32 [netstandard]System.Decimal::Compare(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00e2: pop + IL_00e3: ret + } + +} + +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Decimal_comparison_RealInternalSignatureOn::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl new file mode 100644 index 00000000000..bb5aa490e07 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl @@ -0,0 +1,275 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern netstandard +{ + .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) + .ver 2:1:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_0006: ldsfld int32 ''.$Decimal_comparison_RealInternalSignatureOn::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.s 10 + IL_0002: ldc.i4.0 + IL_0003: ldc.i4.0 + IL_0004: ldc.i4.0 + IL_0005: ldc.i4.1 + IL_0006: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_000b: ldc.i4.s 20 + IL_000d: ldc.i4.0 + IL_000e: ldc.i4.0 + IL_000f: ldc.i4.0 + IL_0010: ldc.i4.1 + IL_0011: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0016: call bool [netstandard]System.Decimal::op_LessThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_001b: pop + IL_001c: ldc.i4.s 10 + IL_001e: ldc.i4.0 + IL_001f: ldc.i4.0 + IL_0020: ldc.i4.0 + IL_0021: ldc.i4.1 + IL_0022: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0027: ldc.i4.s 20 + IL_0029: ldc.i4.0 + IL_002a: ldc.i4.0 + IL_002b: ldc.i4.0 + IL_002c: ldc.i4.1 + IL_002d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0032: call bool [netstandard]System.Decimal::op_LessThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0037: pop + IL_0038: ldc.i4.s 10 + IL_003a: ldc.i4.0 + IL_003b: ldc.i4.0 + IL_003c: ldc.i4.0 + IL_003d: ldc.i4.1 + IL_003e: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0043: ldc.i4.s 20 + IL_0045: ldc.i4.0 + IL_0046: ldc.i4.0 + IL_0047: ldc.i4.0 + IL_0048: ldc.i4.1 + IL_0049: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_004e: call bool [netstandard]System.Decimal::op_GreaterThan(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_0053: pop + IL_0054: ldc.i4.s 10 + IL_0056: ldc.i4.0 + IL_0057: ldc.i4.0 + IL_0058: ldc.i4.0 + IL_0059: ldc.i4.1 + IL_005a: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_005f: ldc.i4.s 20 + IL_0061: ldc.i4.0 + IL_0062: ldc.i4.0 + IL_0063: ldc.i4.0 + IL_0064: ldc.i4.1 + IL_0065: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_006a: call bool [netstandard]System.Decimal::op_GreaterThanOrEqual(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_006f: pop + IL_0070: ldc.i4.s 10 + IL_0072: ldc.i4.0 + IL_0073: ldc.i4.0 + IL_0074: ldc.i4.0 + IL_0075: ldc.i4.1 + IL_0076: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_007b: ldc.i4.s 20 + IL_007d: ldc.i4.0 + IL_007e: ldc.i4.0 + IL_007f: ldc.i4.0 + IL_0080: ldc.i4.1 + IL_0081: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0086: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_008b: pop + IL_008c: ldc.i4.s 10 + IL_008e: ldc.i4.0 + IL_008f: ldc.i4.0 + IL_0090: ldc.i4.0 + IL_0091: ldc.i4.1 + IL_0092: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_0097: ldc.i4.s 20 + IL_0099: ldc.i4.0 + IL_009a: ldc.i4.0 + IL_009b: ldc.i4.0 + IL_009c: ldc.i4.1 + IL_009d: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00a2: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00a7: ldc.i4.0 + IL_00a8: ceq + IL_00aa: pop + IL_00ab: ldc.i4.s 10 + IL_00ad: ldc.i4.0 + IL_00ae: ldc.i4.0 + IL_00af: ldc.i4.0 + IL_00b0: ldc.i4.1 + IL_00b1: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00b6: ldc.i4.s 20 + IL_00b8: ldc.i4.0 + IL_00b9: ldc.i4.0 + IL_00ba: ldc.i4.0 + IL_00bb: ldc.i4.1 + IL_00bc: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00c1: call bool [netstandard]System.Decimal::op_Equality(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00c6: pop + IL_00c7: ldc.i4.s 10 + IL_00c9: ldc.i4.0 + IL_00ca: ldc.i4.0 + IL_00cb: ldc.i4.0 + IL_00cc: ldc.i4.1 + IL_00cd: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00d2: ldc.i4.s 20 + IL_00d4: ldc.i4.0 + IL_00d5: ldc.i4.0 + IL_00d6: ldc.i4.0 + IL_00d7: ldc.i4.1 + IL_00d8: newobj instance void [netstandard]System.Decimal::.ctor(int32, + int32, + int32, + bool, + uint8) + IL_00dd: call int32 [netstandard]System.Decimal::Compare(valuetype [netstandard]System.Decimal, + valuetype [netstandard]System.Decimal) + IL_00e2: pop + IL_00e3: ret + } + +} + +.class private abstract auto ansi sealed ''.$Decimal_comparison_RealInternalSignatureOn + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Decimal_comparison_RealInternalSignatureOn::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index ec4fc441f29..afe308ee199 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -131,6 +131,13 @@ + + + + + + + @@ -140,32 +147,43 @@ - - - + + + + + + - + + - + + - + + - - - + + + + + + - + + - + + @@ -249,7 +267,7 @@ - + diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs index 79f3b1fc25e..868136e3205 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/FsharpSuiteMigrated.fs @@ -31,7 +31,7 @@ module ScriptRunner = let cu = cu |> withDefines defaultDefines match cu with | FS fsSource -> - File.Delete("test.ok") + File.Delete("test.ok") let engine = createEngine (fsSource.Options |> Array.ofList,version) let res = evalScriptFromDiskInSharedSession engine cu match res with diff --git a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs index 6ff282164e5..2b6a77dc181 100644 --- a/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/Miscellaneous/MigratedCoreTests.fs @@ -211,7 +211,7 @@ let ``nested-FSI`` () = singleTestBuildAndRun "core/nested" FSI let ``members-basics-hw`` () = singleTestBuildAndRun "core/members/basics-hw" FSC_OPTIMIZED [] -let ``members-basics-hw-mutrec`` () = singleTestBuildAndRun "core/members/basics-hw-mutrec" FSC_OPTIMIZED +let ``members-basics-hw-mutrec-realinternalsignature`` () = singleTestBuildAndRun "core/members/basics-hw-mutrec" FSC_DEBUG//OPTIMIZED [] let ``members-incremental-FSC_OPTIMIZED`` () = singleTestBuildAndRun "core/members/incremental" FSC_OPTIMIZED diff --git a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx index 6c067a82125..25eab1787ca 100644 --- a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx @@ -18,213 +18,213 @@ let test (s : string) b = // Test cases for bug://1562 // Checking that generated signature can be compiled against the file. -type internal typInternal = | AAA1 -type private typPrivate = | AAA2 -type public typPublic = | AAA3 -type typDefault = | AAA4 -type internal rrr = | AAA - -let internal ValInternal = 1212 -let private ValPrivate = 1212 -let public ValPublic = 1212 -let ValDefault = 1212 - -[] -type MyClassFields = - val internal fieldInternal : int - val private fieldPrivate : int - val public fieldPublic : int - -[] -type MyClassMutableFields = - val mutable internal mfieldInternal : int - val mutable private mfieldPrivate : int - val mutable public mfieldPublic : int - -[] -type MyClassStaticMembers = - static member internal SInternal = 12 - static member private SPrivate = 12 - static member public SPublic = 12 - static member SDefault = 12 - static member internal SMInternal() = 12 - static member private SMPrivate() = 12 - static member public SMPublic() = 12 - static member SMDefault() = 12 - -[] -type MyClassPropertiyGetters = - member internal x.InstInternal = 12 - member private x.InstPrivate = 12 - member public x.InstPublic = 12 - member x.InstDefault = 12 - -type MyClassExplicitCtors = - val v : int - internal new(x) = { v = x } - private new(x,y) = { v = x + y} - public new(x,y,z) = { v = x + y + z} - -type MyClassExplicitCtors2 = - new() = {} - internal new(x) = let v : int = x in {} - private new(x,y) = let v : int = x + y in {} - public new(x,y,z) = let v : int = x + y + z in {} - -[] -type MyClassPropertyGetSetterMatrix = - //-- - member obj.PropGetSetInternalInternal - with internal get() = 1 - and internal set(x:int) = () - member obj.PropGetSetInternalPrivate - with internal get() = 1 - and private set(x:int) = () - member obj.PropGetSetInternalPublic - with internal get() = 1 - and public set(x:int) = () - //-- - member obj.PropGetSetPrivateInternal - with private get() = 1 - and internal set(x:int) = () - member obj.PropGetSetPrivatePrivate - with private get() = 1 - and private set(x:int) = () - member obj.PropGetSetPrivatePublic - with private get() = 1 - and public set(x:int) = () - //-- - member obj.PropGetSetPublicInternal - with public get() = 1 - and internal set(x:int) = () - member obj.PropGetSetPublicPrivate - with public get() = 1 - and private set(x:int) = () - member obj.PropGetSetPublicPublic - with public get() = 1 - and public set(x:int) = () - -[] -type MyClassImplicitCtorInternal internal() = - member obj.Res = 12 - -[] -type MyClassImplicitCtorPrivate private() = - member obj.Res = 12 - -module internal ModInternal = begin end -module private ModPrivate = begin end -module public ModPublic = begin end - -type recordRepInternal = internal { rfA1 : int } -type recordRepPrivate = private { rfA2 : int } -type recordRepPublic = public { rfA3 : int } - -type dtypeRepInternal = internal | AA1 | BB1 -type dtypeRepPrivate = private | AA2 | BB2 -type dtypeRepPublic = public | AA3 | BB3 - -type internal dtypeRepPublic2 = private | AA3 | BB3 -type private dtypeRepPublic3 = internal | AA3 | BB3 - -type internal dtypeRepPublic4 = - private - | AA3 - | BB3 - -module internal M = - module private PP = - type dtypeRepPublic5 = - | AA3 - | BB3 - -module private M2 = - module internal P = - let vv = 12 - +//type internal typInternal = | AAA1 +//type private typPrivate = | AAA2 +//type public typPublic = | AAA3 +//type typDefault = | AAA4 +//type internal rrr = | AAA +// +//let internal ValInternal = 1212 +//let private ValPrivate = 1212 +//let public ValPublic = 1212 +//let ValDefault = 1212 +// +//[] +//type MyClassFields = +// val internal fieldInternal : int +// val private fieldPrivate : int +// val public fieldPublic : int +// +//[] +//type MyClassMutableFields = +// val mutable internal mfieldInternal : int +// val mutable private mfieldPrivate : int +// val mutable public mfieldPublic : int +// +//[] +//type MyClassStaticMembers = +// static member internal SInternal = 12 +// static member private SPrivate = 12 +// static member public SPublic = 12 +// static member SDefault = 12 +// static member internal SMInternal() = 12 +// static member private SMPrivate() = 12 +// static member public SMPublic() = 12 +// static member SMDefault() = 12 +// +//[] +//type MyClassPropertiyGetters = +// member internal x.InstInternal = 12 +// member private x.InstPrivate = 12 +// member public x.InstPublic = 12 +// member x.InstDefault = 12 +// +//type MyClassExplicitCtors = +// val v : int +// internal new(x) = { v = x } +// private new(x,y) = { v = x + y} +// public new(x,y,z) = { v = x + y + z} +// +//type MyClassExplicitCtors2 = +// new() = {} +// internal new(x) = let v : int = x in {} +// private new(x,y) = let v : int = x + y in {} +// public new(x,y,z) = let v : int = x + y + z in {} +// +//[] +//type MyClassPropertyGetSetterMatrix = +// //-- +// member obj.PropGetSetInternalInternal +// with internal get() = 1 +// and internal set(x:int) = () +// member obj.PropGetSetInternalPrivate +// with internal get() = 1 +// and private set(x:int) = () +// member obj.PropGetSetInternalPublic +// with internal get() = 1 +// and public set(x:int) = () +// //-- +// member obj.PropGetSetPrivateInternal +// with private get() = 1 +// and internal set(x:int) = () +// member obj.PropGetSetPrivatePrivate +// with private get() = 1 +// and private set(x:int) = () +// member obj.PropGetSetPrivatePublic +// with private get() = 1 +// and public set(x:int) = () +// //-- +// member obj.PropGetSetPublicInternal +// with public get() = 1 +// and internal set(x:int) = () +// member obj.PropGetSetPublicPrivate +// with public get() = 1 +// and private set(x:int) = () +// member obj.PropGetSetPublicPublic +// with public get() = 1 +// and public set(x:int) = () +// +//[] +//type MyClassImplicitCtorInternal internal() = +// member obj.Res = 12 +// +//[] +//type MyClassImplicitCtorPrivate private() = +// member obj.Res = 12 +// +//module internal ModInternal = begin end +//module private ModPrivate = begin end +//module public ModPublic = begin end +// +//type recordRepInternal = internal { rfA1 : int } +//type recordRepPrivate = private { rfA2 : int } +//type recordRepPublic = public { rfA3 : int } +// +//type dtypeRepInternal = internal | AA1 | BB1 +//type dtypeRepPrivate = private | AA2 | BB2 +//type dtypeRepPublic = public | AA3 | BB3 +// +//type internal dtypeRepPublic2 = private | AA3 | BB3 +//type private dtypeRepPublic3 = internal | AA3 | BB3 +// +//type internal dtypeRepPublic4 = +// private +// | AA3 +// | BB3 +// +//module internal M = +// module private PP = +// type dtypeRepPublic5 = +// | AA3 +// | BB3 +// +//module private M2 = +// module internal P = +// let vv = 12 +// module RestrictedRecordsAndUnionsUsingPrivateAndInternalTypes = - module public Test1 = - - type internal Data = - { - Datum: int - } - - type public Datum = - internal - { - Thing: Data - } - - type public Datum2 = - internal | A of Data * Data | B of Data - - module public Test2 = - - type internal Data = - { - Datum: int - } - - type internal Datum = - { - Thing: Data - } - - type internal Datum2 = - | A of Data * Data | B of Data - - module public Test3 = - - type public Data = - internal - { - Datum: int - } - - type internal Datum = - { - Thing: Data - } - - type internal Datum2 = - internal | A of Data * Data | B of Data - - - module public Test4 = - - type internal Data = - { - Datum: int - } - - type public Datum = - internal - { - Thing: Data - } - - type public Datum2 = - internal | A of Data * Data | B of Data - - - module public Test5 = - - type private Data = - { - Datum: int - } - - type public Datum = - private - { - Thing: Data - } - - type public Datum2 = - private | A of Data * Data | B of Data +// module public Test1 = +// +// type internal Data = +// { +// Datum: int +// } +// +// type public Datum = +// internal +// { +// Thing: Data +// } +// +// type public Datum2 = +// internal | A of Data * Data | B of Data +// +// module public Test2 = +// +// type internal Data = +// { +// Datum: int +// } +// +// type internal Datum = +// { +// Thing: Data +// } +// +// type internal Datum2 = +// | A of Data * Data | B of Data +// +// module public Test3 = +// +// type public Data = +// internal +// { +// Datum: int +// } +// +// type internal Datum = +// { +// Thing: Data +// } +// +// type internal Datum2 = +// internal | A of Data * Data | B of Data +// +// +// module public Test4 = +// +// type internal Data = +// { +// Datum: int +// } +// +// type public Datum = +// internal +// { +// Thing: Data +// } +// +// type public Datum2 = +// internal | A of Data * Data | B of Data +// +// +// module public Test5 = +// +// type private Data = +// { +// Datum: int +// } +// +// type public Datum = +// private +// { +// Thing: Data +// } +// +// type public Datum2 = +// private | A of Data * Data | B of Data module Test6 = @@ -248,25 +248,25 @@ module RestrictedRecordsAndUnionsUsingPrivateAndInternalTypes = let public getInt (data:Data): int = HelperModule.handle data.Thing - module Test7 = - module internal HelperModule = - - type Data = - { - Datum: int - } - - let handle (data:Data): int = data.Datum - - module Module = - - type Data = - internal - { - Thing: HelperModule.Data - } - - let getInt (data:Data): int = HelperModule.handle data.Thing +// module Test7 = +// module internal HelperModule = +// +// type Data = +// { +// Datum: int +// } +// +// let handle (data:Data): int = data.Datum +// +// module Module = +// +// type Data = +// internal +// { +// Thing: HelperModule.Data +// } +// +// let getInt (data:Data): int = HelperModule.handle data.Thing (*--------------------*) diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Graph/Scenarios.fs b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Graph/Scenarios.fs index 80f7caecafb..ddb5325fd52 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Graph/Scenarios.fs +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Graph/Scenarios.fs @@ -796,6 +796,7 @@ type Foo = class end sourceFile "Program" """ +module RunMe printfn "Hello" """ Set.empty diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithExtensionMethod.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_NoChangeForEvent.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_NoChangeForEvent.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowFunctionPropertyWithTypeExtension.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.support.added.later.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithExtensionMethod.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_CannotShadowIndexedPropertyWithTypeExtension.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_NoChangeForEvent.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_NoChangeForEvent.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_NoChangeForEvent.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_NoChangeForEvent.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_NoChangeForEvent.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_NoChangeForEvent.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/E_NoChangeForEvent.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_NoChangeForEvent.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_NoChangeForEvent.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/E_NoChangeForEvent.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.support.added.later.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.support.added.later.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/LinqCount.fsx.support.added.later.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.support.added.later.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.support.added.later.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.support.added.later.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.support.added.later.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.support.added.later.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.support.added.later.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.support.added.later.il.bsl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.support.added.later.il.bsl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowingTests.fs b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/TypeExtensions/PropertyShadowingTests.fs rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs diff --git a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl index bd71cfb26da..e59e161d025 100644 --- a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl +++ b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl @@ -91,6 +91,9 @@ --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) +--realInternalSignature[+|-] Generate assembly with dotnet + visibility that matches source + visibility --pathmap: Maps physical paths to source path names output by the compiler --crossoptimize[+|-] Enable or disable cross-module diff --git a/tests/FSharp.Test.Utilities/Compiler.fs b/tests/FSharp.Test.Utilities/Compiler.fs index c29d0958801..b41ceed40a9 100644 --- a/tests/FSharp.Test.Utilities/Compiler.fs +++ b/tests/FSharp.Test.Utilities/Compiler.fs @@ -207,7 +207,7 @@ module rec Compiler = | Arm = 5 | Arm64 = 6 - let public defaultOptions : string list = [] + let public defaultOptions : string list = ["--realInternalSignature+"] let normalizePathSeparator (text:string) = text.Replace(@"\", "/") @@ -584,6 +584,16 @@ module rec Compiler = | CS x -> CS { x with OutputType = outputType } | _ -> failwith "TODO: Implement where applicable." + let withRealInternalSignatureOff (cUnit: CompilationUnit) : CompilationUnit = + match cUnit with + | FS fs -> FS { fs with Options = fs.Options @ ["--realInternalSignature-"] } + | _ -> failwith "withRealInternalSignatureOff only supported by f#" + + let withRealInternalSignatureOn (cUnit: CompilationUnit) : CompilationUnit = + match cUnit with + | FS fs -> FS { fs with Options = fs.Options @ ["--realInternalSignature+"] } + | _ -> failwith "withRealInternalSignatureOn only supported by f#" + let asExe (cUnit: CompilationUnit) : CompilationUnit = withOutputType CompileOutput.Exe cUnit @@ -1186,14 +1196,17 @@ Actual: | None -> String.Empty let success, errorMsg, actualIL = ILChecker.verifyILAndReturnActual [] p [expectedIL] - if not success then - // Failed try update baselines if required - // If we are here then the il file has been produced we can write it back to the baseline location - // if the environment variable TEST_UPDATE_BSL has been set - updateBaseLineIfEnvironmentSaysSo baseline.ILBaseline - createBaselineErrors baseline.ILBaseline actualIL - let errorMsg = (convenienceBaselineInstructions baseline.ILBaseline expectedIL actualIL) + errorMsg - Assert.Fail(errorMsg) + match success, baseline with + | false, Some baseline -> + // Failed try update baselines if required + // If we are here then the il file has been produced we can write it back to the baseline location + // if the environment variable TEST_UPDATE_BSL has been set + updateBaseLineIfEnvironmentSaysSo baseline.ILBaseline + createBaselineErrors baseline.ILBaseline actualIL + let errorMsg = (convenienceBaselineInstructions baseline.ILBaseline expectedIL actualIL) + errorMsg + Assert.Fail(errorMsg) + | false, None -> Assert.Fail("No baseline provided") + | _, _ -> () let verifyILBaseline (cUnit: CompilationUnit) : CompilationUnit = match cUnit with @@ -1209,7 +1222,7 @@ Actual: File.WriteAllText(baseline.ILBaseline.BslSource, "") else failwith $"Build failure empty baseline at {baseline.ILBaseline.BslSource}: {a}" - | CompilationResult.Success s, Some baseline -> verifyFSILBaseline baseline s + | CompilationResult.Success s, Some baseline -> verifyFSILBaseline (Some baseline) s | _, None -> failwithf $"Baseline was not provided." | _ -> failwith "Baseline tests are only supported for F#." @@ -1431,7 +1444,7 @@ Actual: let private getErrorInfo (info: ErrorInfo) : string = sprintf "%A %A" info.Error info.Message - let inline private assertErrorsLength (source: ErrorInfo list) (expected: 'a list) : unit = + let private assertErrorsLength (source: ErrorInfo list) (expected: 'a list) : unit = if (List.length source) <> (List.length expected) then failwith (sprintf "Expected list of issues differ from compilation result:\nExpected:\n %A\nActual:\n %A" expected (List.map getErrorInfo source)) () diff --git a/tests/fsharp/core/members/basics-hw-mutrec/test.fs b/tests/fsharp/core/members/basics-hw-mutrec/test.fs index 7a1fb2a049a..5b53e85196f 100644 --- a/tests/fsharp/core/members/basics-hw-mutrec/test.fs +++ b/tests/fsharp/core/members/basics-hw-mutrec/test.fs @@ -19,5570 +19,20 @@ let check s v1 v2 = test s (v1 = v2) //-------------------------------------------------------------- // Test defining a record using object-expression syntax -type RecordType = { a: int; mutable b: int } - -let rval = { new RecordType with a = 1 and b = 2 } -let rvalaaa2 = { new RecordType - with a = 1 - and b = 2 } - -test "fweoew091" (rval.a = 1) -test "fweoew092" (rval.b = 2) -rval.b <- 3 -test "fweoew093" (rval.b = 3) - -type RecordType2<'a,'b> = { a: 'a; mutable b: 'b } - -let rval2 = { new RecordType2 with a = 1 and b = 2 } - -test "fweoew091" (rval2.a = 1) -test "fweoew092" (rval2.b = 2) -rval2.b <- 3 -test "fweoew093" (rval2.b = 3) - -let f(x) = - { new RecordType2<'a,int> with a = x and b = 2 } - -test "fweoew091" ((f(1)).a = 1) -test "fweoew092" ((f(1)).b = 2) -(f(1)).b <- 3 -test "fweoew093" ((f(1)).b = 2) - - - - - - -//----------------------------------------- -// Some simple object-expression tests - -let x0 = { new System.Object() with member __.GetHashCode() = 3 } -let x1 = { new System.Windows.Forms.Form() with member __.GetHashCode() = 3 } - -//----------------------------------------- -// Test defining an F# class - - -type ClassType1 = - class - inherit System.Object - val someField : string - - interface IEnumerable - - abstract VirtualMethod1: string -> int - abstract VirtualMethod2: string * string -> int - abstract VirtualMethod1PostHoc: string -> int - abstract VirtualMethod2PostHoc: string * string -> int - default x.VirtualMethod1(s) = 3 - default x.VirtualMethod2(s1,s2) = 3 - - new(s: string) = { inherit System.Object(); someField = "abc" } - end - -type ClassType1 - with - default x.VirtualMethod1PostHoc(s) = 3 - default x.VirtualMethod2PostHoc(s1,s2) = 3 - new(s1,s2) = - { inherit System.Object(); someField = "constructor2" + s1 + s2 } - end - - - -type ClassType1 - with - member x.GetEnumerator() = failwith "no implementation" - interface IEnumerable - with - member x.GetEnumerator() = failwith "no implementation" - end - end -let x = 1 - -let x2 = { new ClassType1("a") with member __.GetHashCode() = 3 } -let x3 = { new ClassType1("a") with member __.VirtualMethod1(s) = 4 } -let x4 = { new ClassType1("a") with - member __.VirtualMethod1(s) = 5 - member __.VirtualMethod2(s1,s2) = s1.Length + s2.Length } - - - -test "e09wckj2d" (try ignore((x2 :> IEnumerable).GetEnumerator()); false with Failure "no implementation" -> true) - -test "e09wckj2ddwdw" (try ignore(((x2 :> obj) :?> IEnumerable).GetEnumerator()); false with Failure "no implementation" -> true) -test "e09wckj2defwe" (x2.VirtualMethod1("abc") = 3) -test "e09wckd2jfew3" (x3.VirtualMethod1("abc") = 4) -test "e09wckf3q2j" (x4.VirtualMethod1("abc") = 5) -test "e09wckj321" (x4.VirtualMethod2("abc","d") = 4) - - -//----------------------------------------- -// Test inheriting from an F# type - - -type ClassType2 = - class - inherit ClassType1 - val someField2 : string - - override x.VirtualMethod1(s) = 2001 - override x.VirtualMethod2(s1,s2) = s1.Length + s2.Length + String.length x.someField2 - - new(s) = { inherit ClassType1(s); someField2 = s } - end - - -let x22 = { new ClassType2("a") with member __.GetHashCode() = 3 } -let x32 = { new ClassType2("abc") with member __.VirtualMethod1(s) = 4002 } -let x42 = { new ClassType2("abcd") with - member __.VirtualMethod1(s) = 5004 - member __.VirtualMethod2(s1,s2) = 500 + s1.Length + s2.Length } - -test "e09wckj2ddwdw" (ignore(((x22 :> obj) :?> ClassType1)); true) -test "e09wckj2ddwdw" (ignore((x22 :> ClassType1)); true) - -test "e09wckjd3" (x22.VirtualMethod1("abc") = 2001) -test "e09wckjd3" (x32.VirtualMethod1("abc") = 4002) -test "e09wckjfew" (x42.VirtualMethod1("abc") = 5004) -test "e09wckjd3" (x22.VirtualMethod2("abcd","dqw") = 8) -test "e09wckjd3" (x32.VirtualMethod2("abcd","dqw") = 10) - - - -//----------------------------------------- -// Test defining an F# class - - -module AbstractClassTest = begin - - [] - type ClassType1 = - class - inherit System.Object - val someField : string - - interface IEnumerable - - abstract AbstractMethod1: string -> int - abstract AbstractMethod2: string * string -> int - - new(s: string) = { inherit System.Object(); someField = "abc" } - end - - type ClassType1 - with - interface IEnumerable with - member x.GetEnumerator() = failwith "no implementation" - end - - end - - //let shouldGiveError1 = { new ClassType1("a") with GetHashCode() = 3 } - //let shouldGiveError2 = { new ClassType1("a") with AbstractMethod1(s) = 4 } - //let shouldGiveError3a = new ClassType1("a") - let x4 = { new ClassType1("a") with - member __.AbstractMethod1(s) = 5 - member __.AbstractMethod2(s1,s2) = s1.Length + s2.Length } - - - do test "e09wckj2d" (try ignore((x2 :> IEnumerable).GetEnumerator()); false with Failure "no implementation" -> true) - - test "e09wckj2ddwdw" (try ignore(((x2 :> obj) :?> IEnumerable).GetEnumerator()); false with Failure "no implementation" -> true) - test "e09wckf3q2j" (x4.AbstractMethod1("abc") = 5) - test "e09wckj321" (x4.AbstractMethod2("abc","d") = 4) - - - type ClassType2 = - class - inherit ClassType1 - val someField2 : string - - override x.AbstractMethod1(s) = 2001 - override x.AbstractMethod2(s1,s2) = s1.Length + s2.Length + String.length x.someField2 - - new(s) = { inherit ClassType1(s); someField2 = s } - end - - - let x22 = { new ClassType2("a") with member __.GetHashCode() = 3 } - let x32 = { new ClassType2("abc") with member __.AbstractMethod1(s) = 4002 } - let x42 = { new ClassType2("abcd") with - member __.AbstractMethod1(s) = 5004 - member __.AbstractMethod2(s1,s2) = 500 + s1.Length + s2.Length } - - do test "e09wckj2ddwdw" (ignore(((x22 :> obj) :?> ClassType1)); true) - do test "e09wckj2ddwdw" (ignore((x22 :> ClassType1)); true) - - test "e09wckjd3" (x22.AbstractMethod1("abc") = 2001) - test "e09wckjd3" (x32.AbstractMethod1("abc") = 4002) - test "e09wckjfew" (x42.AbstractMethod1("abc") = 5004) - test "e09wckjd3" (x22.AbstractMethod2("abcd","dqw") = 8) - test "e09wckjd3" (x32.AbstractMethod2("abcd","dqw") = 10) - - type ClassType3 = - class - inherit ClassType2 - val someField3 : string - - override x.AbstractMethod1(s) = 2001 - override x.AbstractMethod2(s1,s2) = s1.Length + s2.Length + String.length x.someField2 + x.someField3.Length - - new(s) = { inherit ClassType2(s); someField3 = s } - end - - - -end - -//----------------------------------------- -//----------------------------------------- - - - - -// Various rejected syntaxes for constructors: -// new(s: string) = { base=new Form(); x = "abc" } -// new ClassType1(s: string) : base() = { x = "abc" } -// new(s: string) = { inherit Form(); x = "abc" } -// member ClassType1(s: string) = new { inherit Form(); x = "abc" } -// member ClassType1(s: string) = { inherit Form(); x = "abc" } -// initializer(s: string) = { inherit Form(); x = "abc" } -// new ClassType1(s: string) = { inherit Form(); x = "abc" } - -// new(s: string) = { inherit Form(); x = "abc" } - -// new((s: string), (s2:string)) = { inherit Form(); x = s } - - -// abstract AbstractProperty: string -// abstract AbstractMutableProperty: string with get,set - - -// new(s: string) = { new ClassType1 with base=new Object() and x = "abc" } -// new(s: string) = { new ClassType1 with base=new Form() and x = "abc" } -// new(s: string) = ((new System.Object()) :?> ClassType1) - - -//----------------------------------------- -// Thorough testing of members for records. - -module RecordTypeTest = begin - - type AbstractType = - { instanceField: string; - mutable mutableInstanceField: string; - instanceArray: string array; - instanceArray2: string array array; - mutableInstanceArray: string array; - mutableInstanceArray2: string array array; - recursiveInstance: AbstractType; - } - - let staticField = "staticField" - let mutableStaticField = ref "mutableStaticFieldInitialValue" - let staticArray = [| "staticArrayElement1"; "staticArrayElement2" |] - let mutableStaticArray = [| "mutableStaticArrayElement1InitialValue"; "mutableStaticArrayElement2InitialValue" |] - - let NewAbstractValue(s) = - let rec self = - { instanceField=s; - mutableInstanceField=s; - instanceArray=[| s;s |]; - instanceArray2=[| [| s;s |];[| s;s |] |]; - mutableInstanceArray =[| s;s |]; - mutableInstanceArray2 =[| [| s;s |];[| s;s |] |]; - recursiveInstance=self; - } - self - - type AbstractType - with - // properties - member x.ToString() = x.instanceField - member x.InstanceProperty = x.instanceField+".InstanceProperty" - member x.RecursiveInstance = x.recursiveInstance - member x.RecursiveInstanceMethod() = x.recursiveInstance - member x.MutableInstanceProperty - with get() = x.mutableInstanceField - and set(v:string) = x.mutableInstanceField <- v - - member x.InstanceIndexerCount = Array.length x.instanceArray - - member x.InstanceIndexer - with get(idx) = x.instanceArray.[idx] - member x.InstanceIndexer2 - with get(idx1,idx2) = x.instanceArray2.[idx1].[idx2] - member x.InstanceIndexer2Count1 = 2 - member x.InstanceIndexer2Count2 = 2 - - member x.MutableInstanceIndexerCount = Array.length x.mutableInstanceArray - - member x.MutableInstanceIndexer - with get (idx1) = x.mutableInstanceArray.[idx1] - and set (idx1) (v:string) = x.mutableInstanceArray.[idx1] <- v - - member x.MutableInstanceIndexer2 - with get (idx1,idx2) = x.mutableInstanceArray2.[idx1].[idx2] - and set (idx1,idx2) (v:string) = x.mutableInstanceArray2.[idx1].[idx2] <- v - member x.MutableInstanceIndexer2Count1 = 2 - member x.MutableInstanceIndexer2Count2 = 2 - - static member StaticProperty = staticField - static member MutableStaticProperty - with get() = !mutableStaticField - and set(v:string) = mutableStaticField := v - - static member StaticIndexer - with get(idx) = staticArray.[idx] - - static member StaticIndexerCount = Array.length staticArray - - static member MutableStaticIndexer - with get(idx:int) = mutableStaticArray.[idx] - and set(idx:int) (v:string) = mutableStaticArray.[idx] <- v - - static member MutableStaticIndexerCount = Array.length mutableStaticArray - - // methods - member x.InstanceMethod(s1:string) = Printf.sprintf "%s.InstanceMethod(%s)" x.instanceField s1 - static member StaticMethod((s1:string),(s2:string)) = Printf.sprintf "AbstractType.StaticMethod(%s,%s)" s1 s2 - - // private versions of the above - member x.PrivateInstanceProperty = x.instanceField+".InstanceProperty" - member x.PrivateMutableInstanceProperty - with get() = x.mutableInstanceField - and set(v:string) = x.mutableInstanceField <- v - - member x.PrivateInstanceIndexerCount = Array.length x.instanceArray - - member x.PrivateInstanceIndexer - with get(idx) = x.instanceArray.[idx] - member x.PrivateInstanceIndexer2 - with get(idx1,idx2) = x.instanceArray2.[idx1].[idx2] - member x.PrivateInstanceIndexer2Count1 = 2 - member x.PrivateInstanceIndexer2Count2 = 2 - - member x.PrivateMutableInstanceIndexerCount = Array.length x.mutableInstanceArray - - member x.PrivateMutableInstanceIndexer - with get (idx1) = x.mutableInstanceArray.[idx1] - and set (idx1) (v:string) = x.mutableInstanceArray.[idx1] <- v - - member x.PrivateMutableInstanceIndexer2 - with get (idx1,idx2) = x.mutableInstanceArray2.[idx1].[idx2] - and set (idx1,idx2) (v:string) = x.mutableInstanceArray2.[idx1].[idx2] <- v - member x.PrivateMutableInstanceIndexer2Count1 = 2 - member x.PrivateMutableInstanceIndexer2Count2 = 2 - - static member PrivateStaticProperty = staticField - static member PrivateMutableStaticProperty - with get() = !mutableStaticField - and set(v:string) = mutableStaticField := v - - static member PrivateStaticIndexer - with get(idx) = staticArray.[idx] - - static member PrivateStaticIndexerCount = Array.length staticArray - - static member PrivateMutableStaticIndexer - with get(idx:int) = mutableStaticArray.[idx] - and set(idx:int) (v:string) = mutableStaticArray.[idx] <- v - - static member PrivateMutableStaticIndexerCount = Array.length mutableStaticArray - - // methods - member x.PrivateInstanceMethod(s1:string) = Printf.sprintf "%s.InstanceMethod(%s)" x.instanceField s1 - static member PrivateStaticMethod((s1:string),(s2:string)) = Printf.sprintf "AbstractType.StaticMethod(%s,%s)" s1 s2 - - - end - - - - // Test accesses of static properties, methods - do System.Console.WriteLine("AbstractType.StaticProperty = {0}", AbstractType.StaticProperty) - do AbstractType.MutableStaticProperty <- "MutableStaticProperty (mutated!)" - do System.Console.WriteLine("AbstractType.StaticIndexer(0) = {0}", AbstractType.StaticIndexer(0) ) - do System.Console.WriteLine("AbstractType.StaticMethod(abc,def) = {0}", AbstractType.StaticMethod("abc","def") ) - do System.Console.WriteLine("AbstractType.PrivateStaticProperty = {0}", AbstractType.PrivateStaticProperty ) - do AbstractType.PrivateMutableStaticProperty <- "PrivateMutableStaticProperty (mutated!)" - do System.Console.WriteLine("AbstractType.PrivateStaticIndexer(0) = {0}", AbstractType.PrivateStaticIndexer(0) ) - do System.Console.WriteLine("AbstractType.PrivateStaticMethod(abc,def) = {0}", AbstractType.PrivateStaticMethod("abc","def") ) - - // Torture this poor object - let xval = NewAbstractValue("abc") - - // Test dynamic rediscovery of type - do test "e09wckdw" (not ((xval :> obj) :? IEnumerable)) - do test "e09wckdwddw" (not ((xval :> obj) :? string)) - do test "e09dwdw" (not ((xval :> obj) :? list)) - do test "e09dwwd2" ((xval :> obj) :? AbstractType) - - // Test access of instance properties, methods through variables - do System.Console.WriteLine("abc.instanceField = {0}", xval.instanceField) - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", xval.InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", xval.InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", xval.InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.MutableInstanceProperty ) - do xval.MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.MutableInstanceIndexer(0) ) - do xval.MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.MutableInstanceIndexer2(0,1) ) - do xval.MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", xval.PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", xval.PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", xval.PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", xval.PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.PrivateMutableInstanceProperty ) - do xval.PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.PrivateMutableInstanceIndexer(0) ) - do xval.PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.PrivateMutableInstanceIndexer2(0,1) ) - do xval.PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc..PrivateMutableInstanceProperty = {0}", xval.PrivateMutableInstanceProperty ) - - // repeat all the above through a long-path field lookup - do System.Console.WriteLine("abc.instanceField = {0}", xval.recursiveInstance.instanceField) - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", xval.recursiveInstance.InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.recursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", xval.recursiveInstance.InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", xval.recursiveInstance.InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.recursiveInstance.MutableInstanceProperty ) - do xval.recursiveInstance.MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.recursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.recursiveInstance.MutableInstanceIndexer(0) ) - do xval.recursiveInstance.MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.recursiveInstance.MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.recursiveInstance.MutableInstanceIndexer2(0,1) ) - do xval.recursiveInstance.MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.recursiveInstance.MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.recursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", xval.recursiveInstance.PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", xval.recursiveInstance.PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", xval.recursiveInstance.PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", xval.recursiveInstance.PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.recursiveInstance.PrivateMutableInstanceProperty ) - do xval.recursiveInstance.PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.recursiveInstance.PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.recursiveInstance.PrivateMutableInstanceIndexer(0) ) - do xval.recursiveInstance.PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.recursiveInstance.PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.recursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do xval.recursiveInstance.PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.recursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.recursiveInstance.PrivateMutableInstanceProperty ) - - - // repeat all the above through a long-path property lookup - do System.Console.WriteLine("abc.instanceField = {0}", xval.RecursiveInstance.instanceField) - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", xval.RecursiveInstance.InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.RecursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", xval.RecursiveInstance.InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", xval.RecursiveInstance.InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do xval.RecursiveInstance.MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.RecursiveInstance.MutableInstanceIndexer(0) ) - do xval.RecursiveInstance.MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.RecursiveInstance.MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.RecursiveInstance.MutableInstanceIndexer2(0,1) ) - do xval.RecursiveInstance.MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.RecursiveInstance.MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", xval.RecursiveInstance.PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", xval.RecursiveInstance.PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", xval.RecursiveInstance.PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", xval.RecursiveInstance.PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - do xval.RecursiveInstance.PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) ) - do xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - - // repeat all the above through a long-path method lookup - do System.Console.WriteLine("abc.instanceField = {0}", (xval.RecursiveInstanceMethod()).instanceField) - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", (xval.RecursiveInstanceMethod()).InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", (xval.RecursiveInstanceMethod()).InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", (xval.RecursiveInstanceMethod()).InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", (xval.RecursiveInstanceMethod()).InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceProperty ) - do (xval.RecursiveInstanceMethod()).MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer(0) ) - do (xval.RecursiveInstanceMethod()).MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer2(0,1) ) - do (xval.RecursiveInstanceMethod()).MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty ) - do (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer(0) ) - do (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer2(0,1) ) - do (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty ) - -end - -//----------------------------------------- -// Thorough testing of members for records. - -module UnionTypeTest = begin - - type AbstractType = A of AbstractType | B of string - - let staticField = "staticField" - let mutableStaticField = ref "mutableStaticFieldInitialValue" - let staticArray = [| "staticArrayElement1"; "staticArrayElement2" |] - let mutableStaticArray = [| "mutableStaticArrayElement1InitialValue"; "mutableStaticArrayElement2InitialValue" |] - - let NewAbstractValue(s) = B(s) - - type AbstractType - with - // properties - member x.ToString() = match x with A _ -> "A" | B(s) -> "B" - member x.InstanceProperty = "instanceProperty" - member x.RecursiveInstance = match x with A y -> y | B s -> x - member x.RecursiveInstanceMethod() = x.RecursiveInstance - member x.MutableInstanceProperty - with get() = x.InstanceProperty - and set(v:string) = Printf.printf "called MutableInstanceProperty.set\n" - - member x.InstanceIndexerCount = 1 - - member x.InstanceIndexer - with get(idx) = "a" - member x.InstanceIndexer2 - with get(idx1,idx2) = "a" - member x.InstanceIndexer2Count1 = 2 - member x.InstanceIndexer2Count2 = 2 - - member x.MutableInstanceIndexerCount = 1 - - member x.MutableInstanceIndexer - with get (idx1) = "a" - and set (idx1) (v:string) = Printf.printf "called MutableInstanceIndexer.set\n" - - member x.MutableInstanceIndexer2 - with get (idx1,idx2) = "a" - and set (idx1,idx2) (v:string) = Printf.printf "called MutableInstanceIndexer2.set\n" - member x.MutableInstanceIndexer2Count1 = 2 - member x.MutableInstanceIndexer2Count2 = 2 - - static member StaticProperty = staticField - static member MutableStaticProperty - with get() = !mutableStaticField - and set(v:string) = mutableStaticField := v - - static member StaticIndexer - with get(idx) = staticArray.[idx] - - static member StaticIndexerCount = Array.length staticArray - - static member MutableStaticIndexer - with get(idx:int) = mutableStaticArray.[idx] - and set(idx:int) (v:string) = mutableStaticArray.[idx] <- v - - static member MutableStaticIndexerCount = Array.length mutableStaticArray - - // methods - member x.InstanceMethod(s1:string) = Printf.sprintf "InstanceMethod(%s)" s1 - static member StaticMethod((s1:string),(s2:string)) = Printf.sprintf "AbstractType.StaticMethod(%s,%s)" s1 s2 - - // private versions of the above - member x.PrivateInstanceProperty = "InstanceProperty" - member x.PrivateMutableInstanceProperty - with get() = "a" - and set(v:string) = Printf.printf "called mutator\n" - - member x.PrivateInstanceIndexerCount = 1 - - member x.PrivateInstanceIndexer - with get(idx) = "b" - member x.PrivateInstanceIndexer2 - with get(idx1,idx2) = "c" - member x.PrivateInstanceIndexer2Count1 = 1 - member x.PrivateInstanceIndexer2Count2 = 1 - - member x.PrivateMutableInstanceIndexerCount = 3 - - member x.PrivateMutableInstanceIndexer - with get (idx1) = "a" - and set (idx1) (v:string) = Printf.printf "called mutator\n" - - member x.PrivateMutableInstanceIndexer2 - with get (idx1,idx2) = "a" - and set (idx1,idx2) (v:string) = Printf.printf "called mutator\n" - member x.PrivateMutableInstanceIndexer2Count1 = 2 - member x.PrivateMutableInstanceIndexer2Count2 = 2 - - static member PrivateStaticProperty = staticField - static member PrivateMutableStaticProperty - with get() = !mutableStaticField - and set(v:string) = mutableStaticField := v - - static member PrivateStaticIndexer - with get(idx) = staticArray.[idx] - - static member PrivateStaticIndexerCount = Array.length staticArray - - static member PrivateMutableStaticIndexer - with get(idx:int) = mutableStaticArray.[idx] - and set(idx:int) (v:string) = mutableStaticArray.[idx] <- v - - static member PrivateMutableStaticIndexerCount = Array.length mutableStaticArray - - // methods - member x.PrivateInstanceMethod(s1:string) = Printf.sprintf "InstanceMethod(%s)" s1 - static member PrivateStaticMethod((s1:string),(s2:string)) = Printf.sprintf "AbstractType.StaticMethod(%s,%s)" s1 s2 - - end - - - - // Test accesses of static properties, methods - do System.Console.WriteLine("AbstractType.StaticProperty = {0}", AbstractType.StaticProperty) - do AbstractType.MutableStaticProperty <- "MutableStaticProperty (mutated!)" - do System.Console.WriteLine("AbstractType.StaticIndexer(0) = {0}", AbstractType.StaticIndexer(0) ) - do System.Console.WriteLine("AbstractType.StaticMethod(abc,def) = {0}", AbstractType.StaticMethod("abc","def") ) - do System.Console.WriteLine("AbstractType.PrivateStaticProperty = {0}", AbstractType.PrivateStaticProperty ) - do AbstractType.PrivateMutableStaticProperty <- "PrivateMutableStaticProperty (mutated!)" - do System.Console.WriteLine("AbstractType.PrivateStaticIndexer(0) = {0}", AbstractType.PrivateStaticIndexer(0) ) - do System.Console.WriteLine("AbstractType.PrivateStaticMethod(abc,def) = {0}", AbstractType.PrivateStaticMethod("abc","def") ) - - // Torture this poor object - let xval = NewAbstractValue("abc") - - // Test dynamic rediscovery of type - do test "e09wckdw" (not ((xval :> obj) :? IEnumerable)) - do test "e09wckdwddw" (not ((xval :> obj) :? string)) - do test "e09dwdw" (not ((xval :> obj) :? list)) - do test "e09dwwd2" ((xval :> obj) :? AbstractType) - - // Test access of instance properties, methods through variables - - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", xval.InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", xval.InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", xval.InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.MutableInstanceProperty ) - do xval.MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.MutableInstanceIndexer(0) ) - do xval.MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.MutableInstanceIndexer2(0,1) ) - do xval.MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", xval.PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", xval.PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", xval.PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", xval.PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.PrivateMutableInstanceProperty ) - do xval.PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.PrivateMutableInstanceIndexer(0) ) - do xval.PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.PrivateMutableInstanceIndexer2(0,1) ) - do xval.PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc..PrivateMutableInstanceProperty = {0}", xval.PrivateMutableInstanceProperty ) - - // repeat all the above through a long-path field lookup - - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", xval.RecursiveInstance.InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.RecursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", xval.RecursiveInstance.InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", xval.RecursiveInstance.InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do xval.RecursiveInstance.MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.RecursiveInstance.MutableInstanceIndexer(0) ) - do xval.RecursiveInstance.MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.RecursiveInstance.MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.RecursiveInstance.MutableInstanceIndexer2(0,1) ) - do xval.RecursiveInstance.MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.RecursiveInstance.MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", xval.RecursiveInstance.PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", xval.RecursiveInstance.PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", xval.RecursiveInstance.PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", xval.RecursiveInstance.PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - do xval.RecursiveInstance.PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) ) - do xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - - - // repeat all the above through a long-path property lookup - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", xval.RecursiveInstance.InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.RecursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", xval.RecursiveInstance.InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.RecursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.RecursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.RecursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", xval.RecursiveInstance.InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", xval.RecursiveInstance.InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do xval.RecursiveInstance.MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.RecursiveInstance.MutableInstanceIndexer(0) ) - do xval.RecursiveInstance.MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", xval.RecursiveInstance.MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.RecursiveInstance.MutableInstanceIndexer2(0,1) ) - do xval.RecursiveInstance.MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", xval.RecursiveInstance.MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", xval.RecursiveInstance.MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", xval.RecursiveInstance.PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", xval.RecursiveInstance.PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", xval.RecursiveInstance.PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", xval.RecursiveInstance.PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - do xval.RecursiveInstance.PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) ) - do xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", xval.RecursiveInstance.PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", xval.RecursiveInstance.PrivateMutableInstanceProperty ) - - // repeat all the above through a long-path method lookup - do System.Console.WriteLine("abc.InstanceMethod(def) = {0}", (xval.RecursiveInstanceMethod()).InstanceMethod("def") ) - do System.Console.WriteLine("abc.InstanceProperty = {0}", (xval.RecursiveInstanceMethod()).InstanceProperty ) - do System.Console.WriteLine("abc.InstanceIndexer(0) = {0}", (xval.RecursiveInstanceMethod()).InstanceIndexer(0) ) - do System.Console.WriteLine("abc.InstanceIndexer2(0,1) = {0}", (xval.RecursiveInstanceMethod()).InstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceProperty ) - do (xval.RecursiveInstanceMethod()).MutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceProperty ) - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer(0) ) - do (xval.RecursiveInstanceMethod()).MutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer2(0,1) ) - do (xval.RecursiveInstanceMethod()).MutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.MutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.MutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).MutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceMethod(def) = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceMethod("def") ) - do System.Console.WriteLine("abc.PrivateInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceProperty ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer(0) = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateInstanceIndexer2(0,1) = {0}", (xval.RecursiveInstanceMethod()).PrivateInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty ) - do (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty <- "MutableInstanceProperty (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer(0) ) - do (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer(0) <- "MutableInstanceIndexer(0) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer(0) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer2(0,1) ) - do (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer2(0,1) <- "MutableInstanceIndexer2(0,1) (mutated!)" - do System.Console.WriteLine("abc.PrivateMutableInstanceIndexer2 = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceIndexer2(0,1) ) - do System.Console.WriteLine("abc.PrivateMutableInstanceProperty = {0}", (xval.RecursiveInstanceMethod()).PrivateMutableInstanceProperty ) - -end - - -//--------------------------------------------------------------------- -// Test that we can change the default structural comparison semantics - - -module OverrideIComparableOnClassTest = begin - - type MyStringClass = - class - val cache: int - val v: string - interface IStructuralComparable with - member x.CompareTo(y:obj,comp:System.Collections.IComparer) = compare x.v (y :?> MyStringClass).v - end - interface IStructuralEquatable with - member x.GetHashCode(comp:System.Collections.IEqualityComparer) = hash(x.v) - member x.Equals(y:obj,comp:System.Collections.IEqualityComparer) = (compare x.v (y :?> MyStringClass).v ) = 0 - end - member x.Length = x.cache - new(s:string) = { inherit Object(); cache=s.Length; v=s } - end - - let s1 = new MyStringClass("abc") - let s2 = new MyStringClass("def") - let s3 = new MyStringClass("abc") - let s4 = new MyStringClass("abcd") - do test "cepoiwelk" (s1.Length = 3) - do test "cepoiwelk" (s2.Length = 3) - let testc (s1:MyStringClass) (s2:MyStringClass) = - test "cepoiwelk1" ((s1 = s2) = (s1.v = s2.v)) - test "cepoiwelk2" ((s1 < s2) = (s1.v < s2.v)) - test "cepoiwelk3" ((s1 > s2) = (s1.v > s2.v)) - test "cepoiwelk4" ((s1 <= s2) = (s1.v <= s2.v)) - test "cepoiwelk5" ((s1 >= s2) = (s1.v >= s2.v)) - test "cepoiwelk6" ((s1 <> s2) = (s1.v <> s2.v)) - Printf.printf "hash s1 = %d\n" (hash(s1)) - Printf.printf "hash s1.v = %d\n" (hash(s1.v)) - test "cepoiwelk7" (hash(s1) = hash(s1.v)) - test "cepoiwelk8" (hash(s2) = hash(s2.v)) - - do testc s1 s2 - do testc s1 s3 - do testc s2 s3 - do testc s2 s1 - do testc s3 s1 - do testc s3 s2 - do testc s4 s2 -end - -module OverrideIComparableOnRecordTest = begin - - [] - type MyStringClass = { cache: int; v: string } - with - interface IStructuralComparable with - member x.CompareTo(y:obj,comp:System.Collections.IComparer) = compare x.v (y :?> MyStringClass).v - end - interface IStructuralEquatable with - member x.GetHashCode(comp:System.Collections.IEqualityComparer) = hash(x.v) - member x.Equals(y:obj,comp:System.Collections.IEqualityComparer) = (compare x.v (y :?> MyStringClass).v ) = 0 - end - member x.Length = x.cache - static member Create(s:string) = { cache=s.Length; v=s } - end - - - let s1 = MyStringClass.Create("abc") - let s2 = MyStringClass.Create("def") - let s3 = MyStringClass.Create("abc") - let s4 = MyStringClass.Create("abcd") - do test "recd-cepoiwelk" (s1.Length = 3) - do test "recd-cepoiwelk" (s2.Length = 3) - let testc s1 s2 = - test "recd-cepoiwelk1" ((s1 = s2) = (s1.v = s2.v)) - test "recd-cepoiwelk2" ((s1 < s2) = (s1.v < s2.v)) - test "recd-cepoiwelk3" ((s1 > s2) = (s1.v > s2.v)) - test "recd-cepoiwelk4" ((s1 <= s2) = (s1.v <= s2.v)) - test "recd-cepoiwelk5" ((s1 >= s2) = (s1.v >= s2.v)) - test "recd-cepoiwelk6" ((s1 <> s2) = (s1.v <> s2.v)) - Printf.printf "hash s1 = %d\n" (hash(s1)) - Printf.printf "hash s1.v = %d\n" (hash(s1.v)) - test "recd-cepoiwelk7" (hash(s1) = hash(s1.v)) - test "recd-cepoiwelk8" (hash(s2) = hash(s2.v)) - - do testc s1 s2 - do testc s1 s3 - do testc s2 s3 - do testc s2 s1 - do testc s3 s1 - do testc s3 s2 - do testc s4 s2 -end - -module OverrideIComparableOnUnionTest = begin - - [] - type MyStringClass = A of int * string | B of int * string - with - member x.Value = match x with A(_,s) | B(_,s) -> s - interface IStructuralComparable with - member x.CompareTo(y:obj,comp:System.Collections.IComparer) = compare x.Value (y :?> MyStringClass).Value - end - interface IStructuralEquatable with - member x.GetHashCode(comp:System.Collections.IEqualityComparer) = hash(x.Value) - member x.Equals(y:obj,comp:System.Collections.IEqualityComparer) = x.Value = (y :?> MyStringClass).Value - end - member x.Length = match x with A(n,_) | B(n,_) -> n - static member Create(s:string) = A(s.Length,s) - end - - - let s1 = MyStringClass.Create("abc") - let s2 = MyStringClass.Create("def") - let s3 = MyStringClass.Create("abc") - let s4 = MyStringClass.Create("abcd") - do test "union-cepoiwelk" (s1.Length = 3) - do test "union-cepoiwelk" (s2.Length = 3) - let testc (s1:MyStringClass) (s2:MyStringClass) = - test "union-cepoiwelk1" ((s1 = s2) = (s1.Value = s2.Value)) - test "union-cepoiwelk2" ((s1 < s2) = (s1.Value < s2.Value)) - test "union-cepoiwelk3" ((s1 > s2) = (s1.Value > s2.Value)) - test "union-cepoiwelk4" ((s1 <= s2) = (s1.Value <= s2.Value)) - test "union-cepoiwelk5" ((s1 >= s2) = (s1.Value >= s2.Value)) - test "union-cepoiwelk6" ((s1 <> s2) = (s1.Value <> s2.Value)) - Printf.printf "hash s1 = %d\n" (hash(s1)) - Printf.printf "hash s1.Value = %d\n" (hash(s1.Value)) - test "union-cepoiwelk7" (hash(s1) = hash(s1.Value)) - test "union-cepoiwelk8" (hash(s2) = hash(s2.Value)) - - do testc s1 s2 - do testc s1 s3 - do testc s2 s3 - do testc s2 s1 - do testc s3 s1 - do testc s3 s2 - do testc s4 s2 -end - -//--------------------------------------------------------------------- -// Test we can define an attribute - - -type DontPressThisButtonAttribute = - class - inherit System.Attribute - val v: string - member x.Message = x.v - new(s:string) = { inherit System.Attribute(); v=s } - end - -// BUG: -type [] button = Buttpon -let [] button () = 1 - - -//--------------------------------------------------------------------- -// Test we can use base calls - - - -type MyCanvas2 = - class - inherit Form - override x.OnPaint(args) = Printf.printf "OnPaint\n"; base.OnPaint(args) - - new() = { inherit Form(); } - end - -let form2 = new MyCanvas2() - - -//--------------------------------------------------------------------- -// Test we can inherit from the Event<'a> type to define our listeners - -let (|>) x f = f x - -(* -type MyEventListeners<'a> = - class - inherit Event<'a> - - val mutable listeners2: (Handler<'a>) list - - member l.Fire(x : 'a) = - let arg = new SimpleEventArgs<_>(x) - l.listeners2 |> List.iter (fun d -> ignore(d.Invoke((null:obj),arg))) - - new() = - { inherit Event<'a>(); - listeners2 = [] } - - end - -*) - -(* -type MyCanvas2 = - class - inherit Form - member x.Redraw : Event - new: unit -> MyCanvas2 - end -*) - -(* -type MyCanvas2 = - class - inherit Form - val redrawListeners: MyEventListeners - member x.Redraw = x.redrawListeners - override x.OnPaint(args) = x.redrawListeners.Fire(args) - - new() = { inherit Form(); redrawListeners= new MyEventListeners() } - end -*) - -(* -class MyCanvas2() = - let l = MyEventListeners() - object - inherit Form() - member x.Redraw = l - override x.OnPaint(args) = l.Fire(args) - end - -class MyCanvas2 = - let l = MyEventListeners() - object - inherit Form - member x.Redraw = l - override x.OnPaint(args) = l.Fire(args) - end -*) - -(* -let form = new MyCanvas2() -// form.Paint.Add(...) -// form.add_Paint(...) -form.Redraw.AddHandler(new Handler(fun _ args -> Printf.printf "OnRedraw\n")) -form.Redraw.Add(fun args -> Printf.printf "OnRedraw\n") - - -form.Activate() -Application.Run(form) -*) - -//x.add_Redraw - -//--------------------------------------------------------------------- -// Test we can define an exception - -type MyException = - class - inherit System.Exception - val v: string - member x.Message = x.v - new(s:string) = { inherit System.Exception(); v=s } - end - -let _ = try raise(new MyException("help!")) with :? MyException as me -> Printf.printf "message = %s\n" me.Message - -//--------------------------------------------------------------------- -// Test we can define and subscribe to an interface - -(* -type IMyInterface = - interface - abstract MyMethod: string -> int - end -*) - -// type IMyStructuralConstraint = < MyMethod: string -> int > -// 'a :> < MyMethod: string -> int > -// 'a :> IMyStructuralConstraint -// 'a : IMyStructuralConstraint - - -//--------------------------------------------------------------------- -// Test we can define and subscribe to a generic interface - - -//--------------------------------------------------------------------- -// Test we can define a struct - - -(* -type MyStruct = - struct - val x: int - val y: int - end -*) - - -//--------------------------------------------------------------------- -// Test we can define a generic struct - -//--------------------------------------------------------------------- -// Test we can define a class with no fields - -type NoFieldClass = - class - new() = { inherit System.Object() } - end - -//--------------------------------------------------------------------- -// Test we can implement more than one interface on a class - -module MultiInterfaceTest = begin - type PrivateInterfaceA1 = interface abstract M1 : unit -> unit end - type PrivateInterfaceA2 = interface abstract M2 : unit -> unit end - - type C1 = - class - interface PrivateInterfaceA1 with - member x.M1() = () - end - interface PrivateInterfaceA2 with - member x.M2() = () - end - end -end - -module MultiInterfaceTestNameConflict = begin - type PrivateInterfaceA1 = interface abstract M : unit -> unit end - type PrivateInterfaceA2 = interface abstract M : unit -> unit end - - type C1 = - class - interface PrivateInterfaceA1 with - member x.M() = () - end - interface PrivateInterfaceA2 with - member x.M() = () - end - end -end - - -module GenericMultiInterfaceTestNameConflict = begin - type PrivateInterfaceA1<'a> = interface abstract M : 'a -> 'a end - type PrivateInterfaceA2<'a> = interface abstract M : 'a -> 'a end - - type C1 = - class - interface PrivateInterfaceA1 with - member x.M(y) = y - end - interface PrivateInterfaceA2 with - member x.M(y) = y - end - end -end - - -module DeepInterfaceInheritance = begin - type InterfaceA1 = interface abstract M1 : int -> int end - type InterfaceA2 = interface inherit InterfaceA1 abstract M2 : int -> int end - type InterfaceA3 = interface inherit InterfaceA1 inherit InterfaceA2 abstract M3 : int -> int end - - type C1 = - class - interface InterfaceA2 with - member x.M1(y) = y - member x.M2(y) = y + y - end - new() = { inherit Object(); } - end - type C2 = - class - interface InterfaceA3 with - member x.M1(y) = y - member x.M2(y) = y + y - member x.M3(y) = y + y + y - end - new() = { inherit Object(); } - end - type C3 = - class - interface InterfaceA2 with - member x.M1(y) = y - member x.M2(y) = y + y - end - interface InterfaceA3 with - member x.M3(y) = y + y + y - end - new() = { inherit Object(); } - end - - do test "fewopvrej1" (((new C1()) :> InterfaceA1).M1(4) = 4) - do test "fewopvrej2" (((new C1()) :> InterfaceA2).M2(4) = 8) - - do test "fewopvrej3" (((new C2()) :> InterfaceA1).M1(4) = 4) - do test "fewopvrej4" (((new C2()) :> InterfaceA2).M2(4) = 8) - do test "fewopvrej5" (((new C2()) :> InterfaceA3).M3(4) = 12) - do test "fewopvrej6" (((new C2()) :> InterfaceA3).M1(4) = 4) - do test "fewopvrej7" (((new C2()) :> InterfaceA3).M2(4) = 8) - - do test "fewopvrej8" (((new C3()) :> InterfaceA1).M1(4) = 4) - do test "fewopvrej9" (((new C3()) :> InterfaceA2).M2(4) = 8) - do test "fewopvrej10" (((new C3()) :> InterfaceA3).M3(4) = 12) - do test "fewopvrej11" (((new C3()) :> InterfaceA3).M1(4) = 4) - do test "fewopvrej12" (((new C3()) :> InterfaceA3).M2(4) = 8) - -end - -module DeepGenericInterfaceInheritance = begin - type InterfaceA1<'a> = interface abstract M1 : 'a -> 'a end - type InterfaceA2<'b> = interface inherit InterfaceA1<'b list> abstract M2 : 'b * 'b list -> 'b list end - type InterfaceA3 = interface inherit InterfaceA2 abstract M3 : string list -> string list end - - type C1 = - class - interface InterfaceA2 with - member this.M1(y) = 1::y - member this.M2(x,y) = x::y - end - new() = { inherit Object(); } - end - type C2 = - class - interface InterfaceA3 with - member this.M1(y) = "a" :: y - member this.M2(x,y) = x :: y - member this.M3(y) = "a" :: "b" :: "c" :: y - end - new() = { inherit Object(); } - end - type C3 = - class - interface InterfaceA2 with - member this.M1(y) = "a" :: y - member this.M2(x,y) = x :: y - end - interface InterfaceA3 with - member x.M3(y) = "a" :: "b" :: "c" :: y - end - new() = { inherit Object(); } - end - - test "fewopvrej1" (((new C1()) :> InterfaceA1).M1([1]) = [1;1]) - test "fewopvrej2" (((new C1()) :> InterfaceA2).M2(3,[1]) = [3;1]) - - test "fewopvrej3" (((new C2()) :> InterfaceA1).M1(["hi"]) = ["a";"hi"]) - test "fewopvrej4" (((new C2()) :> InterfaceA2).M1(["hi"]) = ["a";"hi"]) - test "fewopvrej4" (((new C2()) :> InterfaceA2).M2("a",["hi"]) = ["a";"hi"]) - test "fewopvrej5" (((new C2()) :> InterfaceA3).M3(["hi"]) = ["a";"b";"c";"hi"]) - test "fewopvrej6" (((new C2()) :> InterfaceA3).M1(["hi"]) = ["a";"hi"]) - test "fewopvrej7" (((new C2()) :> InterfaceA3).M2("a",["hi"]) = ["a";"hi"]) - - test "fewopvrej8" (((new C3()) :> InterfaceA1).M1(["hi"]) = ["a";"hi"]) - test "fewopvrej8" (((new C3()) :> InterfaceA2).M1(["hi"]) = ["a";"hi"]) - test "fewopvrej9" (((new C3()) :> InterfaceA2).M2("a",["hi"]) = ["a";"hi"]) - test "fewopvrej10" (((new C3()) :> InterfaceA3).M3(["hi"]) = ["a";"b";"c";"hi"]) - test "fewopvrej11" (((new C3()) :> InterfaceA3).M1(["hi"]) = ["a";"hi"]) - test "fewopvrej12" (((new C3()) :> InterfaceA3).M2("a",["hi"]) = ["a";"hi"]) - -end - - -module PointTest = begin - - - type Point = - class - new(x_init) = { inherit System.Object(); x_init = x_init; x = x_init } - val x_init : int - val mutable x : int - member p.X = p.x - member p.Offset = p.x - p.x_init - member p.Move d1 d2 = p.x <- p.x + d1 + d2 - static member TwoArgs d1 d2 = d1 + d2 - static member TwoPatternArgs [d1] [d2] = d1 + d2 - static member ThreeArgs d1 d2 d3 = d1 + d2 + d3 - static member ThreePatternArgs [d1] [d2] [d3] = d1 + d2 + d3 - member p.InstanceTwoArgs d1 d2 = p.x + d1 + d2 - member p.InstanceTwoPatternArgs [d1] [d2] = p.x + d1 + d2 - member p.InstanceThreeArgs d1 d2 d3 = p.x + d1 + d2 + d3 - member p.InstanceThreePatternArgs [d1] [d2] [d3] = p.x + d1 + d2 + d3 - end - - type Point_with_no_inherits_clause = - class - new x_init = { x_init = x_init; x = x_init } - val x_init : int - val mutable x : int - member p.X = p.x - member p.Offset = p.x - p.x_init - member p.Move d1 d2 = p.x <- p.x + d1 + d2 - end - - - let p = (new Point_with_no_inherits_clause(3)) - let f = p.Move 4 - do test "wdfjcdwkj1" (p.X = 3) - do f 4 - do test "wdfjcdwkj2" (p.X = 11) - do f 1 - do test "wdfjcdwkj3" (p.X = 16) - do test "wdfjcdwkj4" (Point.TwoArgs 1 2 = 3) - do test "wdfjcdwkj5" (Point.TwoPatternArgs [1] [2] = 3) - do test "wdfjcdwkj6" (Point.ThreeArgs 1 2 3 = 6) - do test "wdfjcdwkj7" (Point.ThreePatternArgs [1] [2] [3] = 6) - let p2 = (new Point(16)) - do test "wdfjcdwkj4" (p2.InstanceTwoArgs 1 2 = 16 + 3) - do test "wdfjcdwkj5" (p2.InstanceTwoPatternArgs [1] [2] = 16 + 3) - do test "wdfjcdwkj6" (p2.InstanceThreeArgs 1 2 3 = 16 + 6) - do test "wdfjcdwkj7" (p2.InstanceThreePatternArgs [1] [2] [3] = 16 + 6) - -end - - -//--------------------------------------------------------------------- -// Test we can implement a debug view - - - - -type - [) >] - MyIntList = MyNil | MyCons of int * MyIntList - -and MyIntListDebugView = - class - val v: MyIntList - new(x) = { v = x } - [] - member x.Items = - let rec length x acc = match x with MyNil -> acc | MyCons(a,b) -> length b (acc+1) - let len = length x.v 0 - let items = Array.zeroCreate len - let rec go n l = match l with MyNil -> () | MyCons(a,b) -> items.[n] <- a; go (n+1) b - go 0 x.v; - items - end - - -//--------------------------------------------------------------------- -// Pattern matching on objects - -module PatternMatchTests = begin - type P = - class - val x1: int; - val x2: string; - new(a,b) = {x1=a; x2=b } - end - let p = new P(3,"34") -end - - -//--------------------------------------------------------------------- -// 'then' on construction - -module ThenDoTest = begin - let res = ref 2 - type P = - class - val x1: int; val x2: string; - new(a,b) = {x1=a; x2=(test "ewqonce1" (!res = 2); b) } then res := !res + 1 - end - - do ignore(new P(3,"5")) - do test "ewqonce2" (!res = 3) - -end - -//--------------------------------------------------------------------- -// 'then' on construction recursive reference - -module ThenDoTest2 = begin - let res = ref 2 - type P = - class - val x1: int; val x2: string; - new(a,b) as x = - { x1= !res; - x2=(test "ewqonce3" (!res = 2); b) } - then - test "ewqonce4" (!res = 2); - res := !res + 1; - test "ewqonce5" (!res = 3); - test "ewqonce6" (x.x1 = 2) - end - - do ignore(new P(3,"5")) - do test "ewqonce7" (!res = 3) - -end - -module GenericInterfaceTest = begin - - type Foo<'a> = - interface - abstract fun1 : 'a -> 'a - abstract fun2 : int -> int - end - - - type Bar<'b> = - class - val store : 'b - interface Foo<'b> with - member self.fun1(x) = x - member self.fun2(x) = 1 - end - new(x) = { store = x } - end - - - type Bar2<'b> = - class - val store : 'b - interface Foo<'b> with - member self.fun1(x:'b) = x - member self.fun2(x) = 1 - end - new(x) = { store = x } - end - - type Bar3<'b> = - class - val store : int - interface Foo<'b> with - member self.fun1(x) = x - member self.fun2(x) = 1 - end - new(x) = { store = x } - end - -end - - -//--------------------------------------------------------------------- -// - - - -module Inventory = begin - - type item = A | B - type image = A | B - - type ItemDetails = - { ItemIndex: item; - InventoryImage: image; - Name : string } - - type IInventory = interface - abstract Contains : item -> bool - abstract Remove : item -> unit - abstract GetDetails : item -> ItemDetails - abstract Add : ItemDetails -> unit - abstract GetTuple : unit -> (item * image * string) list - end - - module List = - let indexNotFound() = raise (new System.Collections.Generic.KeyNotFoundException("An index satisfying the predicate was not found in the collection")) - - let rec assoc x l = - match l with - | [] -> indexNotFound() - | ((h,r)::t) -> if x = h then r else assoc x t - let rec remove_assoc x l = - match l with - | [] -> [] - | (((h,_) as p) ::t) -> if x = h then t else p:: remove_assoc x t - - - - type Inventory = class - val inv : ItemDetails list ref - new() = { inv = ref [] } - interface IInventory with - member this.Contains i = try (List.assoc i (List.map (fun itd -> (itd.ItemIndex, true)) !this.inv)) with :? System.Collections.Generic.KeyNotFoundException -> false - member this.Remove i = this.inv := List.map snd (List.remove_assoc i (List.map (fun itd -> (itd.ItemIndex, itd)) !this.inv)) - member this.GetDetails i = List.assoc i (List.map (fun itd -> (itd.ItemIndex, itd)) !this.inv) - member this.Add itd = if ((this :> IInventory).Contains (itd.ItemIndex) = false) then this.inv := itd :: !this.inv - member this.GetTuple() = - List.map (fun itd -> (itd.ItemIndex,itd.InventoryImage,itd.Name)) !this.inv - end - end - -end - -//--------------------------------------------------------------------- -// Another interface test - -module SamplerTest = begin - - type Sampler<'a,'b> = - interface - abstract Sample : 'a -> unit - abstract GetStatistic : unit -> 'b - end - -(* - let NewAverage(toFloat) = - let count = ref 0 - let total = ref 0.0 - { new Sampler<_,float> - member self.Sample(x) = incr count; total := !total + toFloat x - member self.GetStatistic() = !total / float(!count) } - -*) - let NewAverage(toFloat) = - let count = ref 0 - let total = ref 0.0 - { new Sampler<_,float> with - member __.Sample(x) = incr count; total := !total + toFloat x - member __.GetStatistic() = !total / float(!count) } - - type Average<'a> = - class - val mutable total : float - val mutable count : int - val toFloat : 'a -> float - new(toFloat) = {total = 0.0; count =0; toFloat = toFloat } - interface Sampler< 'a,float > with - member this.Sample(x) = this.count <- this.count + 1; this.total <- this.total + this.toFloat x - member this.GetStatistic() = this.total / float(this.count) - end - end - -end - - -//--------------------------------------------------------------------- -// This simple case of forward-reference revealed a bug - -type callconv = AA - with - member x.IsInstance = x.ThisConv - member x.ThisConv = 1 - end - -// Likewise - -module OverloadZeroOneTestSoohyoung = begin - - type Point = - class - val mutable mx: int - - new () = { mx = 0 } - new (ix) = { mx = ix } - end - -end - -//--------------------------------------------------------------------- -// Bad error message case - - -module Ralf = begin - - type Matrix = M | N - - [] - type Distribution = - class - new () = { } - - abstract member NumberOfDimensions : unit -> int - abstract member Sample: int -> System.Random -> Matrix - abstract member Density: Matrix -> float - abstract member CloneConstant: unit -> Distribution - abstract member Clone: unit -> Distribution - abstract member AbsoluteDifference: Distribution -> float - - end - - type Gaussian1D = - class - inherit Distribution - val PrecisionMean : float - val Precision : float - new (precisionMean, precision) = { PrecisionMean = 0.0; Precision = 0.0 } - override x.NumberOfDimensions() = 1 - override x.Density point = 1.0 - override x.AbsoluteDifference distribution = 0.0 - override x.Clone() = new Gaussian1D (0.0,0.0) :> Distribution - override x.CloneConstant() = new Gaussian1D (x.PrecisionMean,x.Precision) :> Distribution - override x.Sample numberOfSamples random = failwith "" // new Matrix (numberOfSamples,x.NumberOfDimensions) - end - -end - -//--------------------------------------------------------------------- -// A random bunch of overloaded operator tests - -module MultipleOverloadedOperatorTests = begin - - let f1 (x:DateTime) (y:TimeSpan) : DateTime = x - y - let g1 (x:DateTime) (y:DateTime) : TimeSpan = x - y - // Return type is also sufficient: - let f2 (x:DateTime) y : DateTime = x - y - let g2 (x:DateTime) y : TimeSpan = x - y - // Just argument types are also sufficient: - let f3 (x:DateTime) (y:TimeSpan) = x - y - let g3 (x:DateTime) (y:DateTime) = x - y -end - - -//--------------------------------------------------------------------- -// A random bunch of overloaded operator tests - -module OverloadedOperatorTests = begin - - - let x = [] - do printf "len = %d\n" x.Length - let c = ("abc").[2] - - let arr = [| 1 |] - do printf "len = %d\n" x.Length - let elem = arr.[0] - let _ = arr.[0] <- 3 - - let SCAL = new System.Collections.ArrayList() - let _ = SCAL.Add(3) - let _ = SCAL.[0] - let _ = SCAL.[0] <- box 4 - - let SCGL = new System.Collections.Generic.List() - let _ = SCGL.Add(3) - let _ = SCGL.[0] - let _ = SCGL.[0] <- 3 - - let f (x: 'a) = - let SCGL = new System.Collections.Generic.List<'a>() - let _ = SCGL.Add(x) - let _ = SCGL.[0] - let _ = SCGL.[0] <- x - () - - // check we have generalized - do f 1 - do f "3" - - let SCGD = new System.Collections.Generic.Dictionary() - let _ = SCGD.Add("hello",3.0) - let _ = SCGD.["hello"] - - let g (k: 'a) (v:'b)= - let SCGD = new System.Collections.Generic.Dictionary<'a,'b>() - let _ = SCGD.Add(k,v) - let _ = SCGD.[k] - let _ = SCGD.[k] <- v - () - - - - // check we have generalized - do g 1 "3" - do g "3" 1 - do g "3" "1" - do g 1 1 - - let h (v:'b)= - let arr = [| v;v;v |] - let elem = arr.[0] - let _ = arr.[0] <- v - () - - - // check we have generalized - do h 1 - do h "3" - -end - -module PropertyOverrideTests = begin - - [] - type A = class - abstract S1 : float with set - abstract S2 : string-> float with set - abstract S3 : string * string -> float with set - abstract G1 : float with get - abstract G2 : string-> float with get - abstract G3 : string * string -> float with get - end - - type IA = interface - abstract S1 : float with set - abstract S2 : string-> float with set - abstract S3 : string * string -> float with set - abstract G1 : float with get - abstract G2 : string-> float with get - abstract G3 : string * string -> float with get - end - - - - type CTest = - class - inherit A - override x.S1 with set v = () - override x.S2 with set s v = () - override x.S3 with set (s1,s2) v = () - override x.G1 with get () = 1.0 - override x.G2 with get (s:string) = 2.0 - override x.G3 with get (s1,s2) = 3.0 - interface IA with - override x.S1 with set v = () - override x.S2 with set s v = () - override x.S3 with set (s1,s2) v = () - override x.G1 with get () = 1.0 - override x.G2 with get (s:string) = 2.0 - override x.G3 with get (s1,s2) = 3.0 - end - - end - -end - -module FieldsInClassesDontContributeToRecordFieldInference = begin - - type container = class - val capacity : float - new(cap) = { capacity = cap } - end - - type cargo = class - val capacity : float // (Error does not appear when the name is changed to capacity1) - new(cap) = { capacity = cap } - end - - let total_capacity cl = List.fold(fun sum (z:container) -> z.capacity + sum) 0.0 cl - - let cap = total_capacity [ new container(100.0); new container(50.0)] - -end - -module LucianRecords1 = begin - type MyRecord1 = {a:int; x:int} - type MyRecord2 = {a:int; y:string} - let f (m:MyRecord1) : MyRecord1 = {m with a=3} - let g (m:MyRecord2) : MyRecord2 = {m with a=3} - let h (m:MyRecord1) = m.a - - type Tab = {a:string; b:string} - type Tac = {a:string; c:string} - type Test = Cab of Tab | Cac of Tac - let a = Cab( {a="hello"; b="world";} ) - -end - -module DefaultConstructorConstraints = begin - - let f1 () : 'a when 'a : (new : unit -> 'a) = new 'a() - let x1 = (f1() : obj) - let x2 = (f1() : int) - let x3 = (f1() : DateTime) - let x4 = (f1() : System.Windows.Forms.Form) - let f2 () = f1() - let y1 = (f2() : obj) - let y2 = (f2() : int) - let y3 = (f2() : DateTime) - let y4 = (f2() : System.Windows.Forms.Form) - -end - -module AccessBugOnFSharpList = begin - - open System.Web - open System.Web.Hosting - open System.Data.SqlClient - - type TopicPathProvider = - class - inherit VirtualPathProvider - - new() = { inherit VirtualPathProvider(); } - - member x.TopicExists topic = - let cmd = new SqlCommand() - cmd.CommandText <- "SELECT COUNT(*) FROM Topic WHERE Topic.Name = @name"; - (cmd.Parameters.Add("@name", System.Data.SqlDbType.NVarChar, 255)).Value <- topic; - unbox(cmd.ExecuteScalar()) > 0 - - override x.FileExists((virtualPath: string)) = - let relPath = VirtualPathUtility.ToAppRelative(virtualPath) - if relPath.StartsWith("~/topic") then - x.TopicExists (relPath.Substring(7)) - else - x.Previous.FileExists(virtualPath) - - override x.DirectoryExists((virtualDir: string)) = - let relPath = VirtualPathUtility.ToAppRelative(virtualDir) - relPath.StartsWith("~/topic") || x.DirectoryExists(virtualDir) - end - - let AppInitialize() = - let provider = new TopicPathProvider() - HostingEnvironment.RegisterVirtualPathProvider(provider) - -end - - - -module TestConstrainedItemProperty = begin - type Foo = - interface - abstract Item : int -> string with get - end - - let f1 (x : #Foo) = x.[1] - - let f2 (x : #Foo) = x.[1] -end - - -module ExplicitSyntacCtor = begin - - type C = - class - val xx : int - new(x,y) = - if y then - { xx = x} - else - { xx = x+x} - new(x) = - let six = 3 + 3 - { xx = x} - static member Create() = - let six = 3 + 3 - new C(3+3) - new() = - let six = 3 + 3 - new C(3+3) - new(a,b,c) = new C(a+b+c) - new(a,b,c,d) = - new C(a+b+c+d) - then - printf "hello" - end - - - - type C1(x) = - class - let xx = x + x - let f x = x + x - let mutable state = x + x + xx - - do printf "hello\n" - - static member Create() = - let six = 3 + 3 - new C(3+3) - - new(x,y) = new C1(x+y) - - member self.Increment = state <- state + 1 - member self.Once= xx - member self.Twice = xx + xx - end - - let createRemoteAppDomain<'T> (d: AppDomain) = - unbox<'T>(d.CreateInstanceAndUnwrap(typeof<'T>.Assembly.FullName,typeof<'T>.FullName)) - - - // This is the simple version - let rec maxList x = - match x with - | [] -> failwith "no elements" - | [h] -> h - | h::t -> max h (maxList t) - - // This is how you use an accumulating parameter - - let rec maxListAcc acc x = - match x with - | [] -> acc - | [h] -> max acc h - | h::t -> maxListAcc (max acc h) t - - let maxList2 x = - match x with - | [] -> failwith "no elements" - | h::t -> maxListAcc h t - - type ICool = - interface - abstract tst : unit->bool - end - - [] - type Cool() = - class - abstract tst : unit -> bool - interface ICool with - member this.tst () = true - end - end - - type beCool() = - class - inherit Cool() - override this.tst() = false - interface ICool with - member this.tst () = (this : beCool).tst() - end - end - -end - -module Ex11 = - type MutableVector2D(dx:float,dy:float) = - let mutable currDX = dx - let mutable currDY = dy - - member this.DX with get() = currDX and set(v) = currDX <- v - member this.DY with get() = currDY and set(v) = currDY <- v - - member v.Length - with get () = sqrt(currDX*currDX+currDY*currDY) - and set len = - let theta = v.Angle - currDX <- cos(theta)*len; - currDY <- sin(theta)*len - - member c.Angle - with get () = atan2 currDY currDX - and set theta = - let len = c.Length - currDX <- cos(theta)*len; - currDY <- sin(theta)*len - - let v1 = MutableVector2D(3.0,4.0) - v1.Length - v1.Angle - v1.Angle <- System.Math.PI / 6.0 // = 30 degrees - v1.Length - v1.DX, v1.DY - - v1.DY / v1.Length - - type Vector2D(dx: float, dy: float) = - let length = sqrt(dx * dx + dy * dy) - member v.DX = dx - member v.DY = dy - member v.Length = length - member v.Scale(k) = Vector2D(k*dx, k*dy) - member v.ShiftX(dx') = Vector2D(dx=dx+dx', dy=dy) - member v.ShiftY(dy') = Vector2D(dx=dx, dy=dy+dy') - static member Zero = Vector2D(dx=0.0, dy=0.0) - static member OneX = Vector2D(dx=1.0, dy=0.0) - static member OneY = Vector2D(dx=0.0, dy=1.0) - - type SparseVector (items: seq)= - let elems = new System.Collections.Generic.SortedDictionary<_,_>() - do items |> Seq.iter (fun (k,v) -> elems.Add(k,v)) - member t.Item - with get i = - if elems.ContainsKey(i) then elems.[i] - else 0.0 - - type UnitVector2D(dx,dy) = - let tolerance = 0.000001 - let len = sqrt(dx * dx + dy * dy) - do if abs(len - 1.0) >= tolerance then failwith "not a unit vector"; - member v.DX = dx - member v.DY = dy - -module Ex11b = - type Vector2D (dx:float,dy:float) = - member x.DX = dx - member x.DY = dy - static member (+) ((v1:Vector2D),(v2:Vector2D)) = - Vector2D(v1.DX + v2.DX, v1.DY + v2.DY) - static member (-) ((v1:Vector2D),(v2:Vector2D)) = - Vector2D(v1.DX - v2.DX, v1.DY - v2.DY) - - let v1 = Vector2D(3.0,4.0) - v1 - v1 + v1 - v1 - v1 - - -module Ex11c = - type Vector2D (dx:float,dy:float) = - member x.DX = dx - member x.DY = dy - static member Create(? dx: float, ?dy:float) = - let dx = match dx with None -> 0.0 | Some v -> v - let dy = match dy with None -> 0.0 | Some v -> v - Vector2D(dx,dy) - -module T1 = - type Vector2D(dx: float, dy: float) = - let len = sqrt(dx * dx + dy * dy) - member v.DX = dx - member v.DY = dy - member v.Length = len - - Vector2D(1.0,1.0) = Vector2D(1.0,1.0) - -module Ex5 = - open System.Drawing - type Label(?text,?font) = - let text = match text with None -> "" | Some v -> v - let font = match font with None -> new Font(FontFamily.GenericSansSerif,12.0f) | Some v -> v - member x.Text = text - member x.Font = font - - Label(text="Hello World") - Label(font=new Font(FontFamily.GenericMonospace,36.0f), - text="Hello World") - -module Ex6 = - type IShape = - abstract Contains : Point -> bool - abstract BoundingBox : Rectangle - - and Vector = - { DX:float; DY:float } - member v.Length = sqrt(v.DX*v.DX+v.DY*v.DY) - static member (+) (v1:Vector,v2:Vector) = { DX=v1.DX+v2.DX; DY=v1.DY+v2.DY } - static member (-) (v1:Vector,v2:Vector) = { DX=v1.DX-v2.DX; DY=v1.DY-v2.DY } - - and Point = - { X:float; Y:float } - - static member (-) (p1:Point,p2:Point) = { DX=p1.X-p2.X; DY=p1.Y-p2.Y } - - static member (-) (p:Point,v:Vector) = { X=p.X-v.DX; Y=p.Y-v.DY } - - static member (+) (p:Point,v:Vector) = { X=p.X+v.DX; Y=p.Y+v.DY } - - and Rectangle = - {X1:float; Y1:float; X2:float; Y2:float} - static member Create(p1:Point,p2:Point) = - {X1=p1.X; Y1=p1.Y; X2=p2.X; Y2=p2.Y } - - - let circle(center:Point,radius:float) = - { new IShape with - member x.Contains(p:Point) = (p - center).Length < radius - member x.BoundingBox = - let diag = {DX=radius;DY=radius} - Rectangle.Create(center-diag,center+diag) } - - - let square(center:Point,side:float) = - { new IShape with - member x.Contains(p:Point) = - let v = (p - center) - abs(v.DX) < side/2.0 && abs(v.DY) < side/2.0 - member x.BoundingBox = - let diag = {DX=side/2.0;DY=side/2.0} - Rectangle.Create(center-diag,center+diag) } - - type MovingSquare() = - let mutable center = {X=0.0;Y=0.0} - let mutable side = 1.0 - member sq.Center with get() = center and set(v) = center <- v - member sq.SideLength with get() = side and set(v) = side <- v - interface IShape with - member x.Contains(p:Point) = - let v = (p - center) - abs(v.DX) < side/2.0 && abs(v.DY) < side/2.0 - member x.BoundingBox = - let diag = {DX=side/2.0;DY=side/2.0} - Rectangle.Create(center-diag,center+diag) - -module Ex7 = - open System.Drawing - type IShape = - abstract Contains : Point -> bool - abstract BoundingBox : Rectangle - - let circle(center:Point,radius:int) = - { new IShape with - member x.Contains(p:Point) = - let dx = float32 (p.X - center.X) - let dy = float32 (p.Y - center.Y) - sqrt(dx*dx+dy*dy) < float32 radius - member x.BoundingBox = - Rectangle(center.X-radius,center.Y-radius,2*radius,2*radius) } - - - let bigCircle = circle(Point(0,0), 100) - - bigCircle.BoundingBox - bigCircle.Contains(Point(70,70)) - bigCircle.Contains(Point(71,71)) - - let square(center:Point,side:int) = - { new IShape with - member x.Contains(p:Point) = - let dx = p.X - center.X - let dy = p.Y - center.Y - abs(dx) < side/2 && abs(dy) < side/2 - member x.BoundingBox = - Rectangle(center.X-side,center.Y-side,side*2,side*2) } - - type MovingSquare() = - let mutable center = Point(x=0,y=0) - let mutable side = 10 - member sq.Center with get() = center and set(v) = center <- v - member sq.SideLength with get() = side and set(v) = side <- v - interface IShape with - member x.Contains(p:Point) = - let dx = p.X - center.X - let dy = p.Y - center.Y - abs(dx) < side/2 && abs(dy) < side/2 - member x.BoundingBox = - Rectangle(center.X-side,center.Y-side,side*2,side*2) - - -module MoreOptionalArgTests = - open System - open System.Text - open System.Collections.Generic - - - let defaultArg x y = match x with None -> y | Some v -> v - - type T() = - static member OneNormalTwoOptional (arg1, ?arg2, ?arg3) = - let arg2 = defaultArg arg2 3 - let arg3 = defaultArg arg3 10 - arg1 + arg2 + arg3 - - static member TwoOptional (?arg1, ?arg2) = - let arg1 = defaultArg arg1 3 - let arg2 = defaultArg arg2 10 - arg1 + arg2 - - - test "optional arg test" (16 = T.OneNormalTwoOptional(3)) - test "optional arg test" (15 = T.OneNormalTwoOptional(3,2)) - test "optional arg test" (16 = T.OneNormalTwoOptional(arg1=3)) - test "optional arg test" (14 = T.OneNormalTwoOptional(arg1=3,arg2=1)) - test "optional arg test" (13 = T.OneNormalTwoOptional(arg2=3,arg1=0)) - test "optional arg test" (14 = T.OneNormalTwoOptional(arg2=3,arg1=0,arg3=11)) - test "optional arg test" (14 = T.OneNormalTwoOptional(0,3,11)) - test "optional arg test" (14 = T.OneNormalTwoOptional(0,3,arg3=11)) - - test "optional arg test" (16 = T.OneNormalTwoOptional(arg1=3)) - test "optional arg test" (14 = T.OneNormalTwoOptional(arg1=3,?arg2=Some(1))) - test "optional arg test" (14 = T.OneNormalTwoOptional(arg2=3,arg1=0,arg3=11)) - test "optional arg test" (14 = T.OneNormalTwoOptional(?arg2=Some(3),arg1=0,arg3=11)) - test "optional arg test" (14 = T.OneNormalTwoOptional(0,3,?arg3=Some(11))) - - - test "optional arg test" (13 = T.TwoOptional()) - test "optional arg test" (12 = T.TwoOptional(2)) - test "optional arg test" (11 = T.TwoOptional(arg1=1)) - test "optional arg test" (13 = T.TwoOptional(arg1=3)) - test "optional arg test" (14 = T.TwoOptional(arg1=3,arg2=11)) - test "optional arg test" (14 = T.TwoOptional(3,11)) - test "optional arg test" (14 = T.TwoOptional(3,arg2=11)) - do printfn "Done MoreOptionalArgTests" - - -module MoreRandomTests = - do printfn "MoreRandomTests" - - let memoize f = - let cache = ref Map.empty - fun x -> - match (!cache).TryFind(x) with - | Some res -> res - | None -> - let res = f x - cache := (!cache).Add(x,res) - res - - - - // Save computed results by using an internal dictionary. - // Note that memoize is inferred to have type - // ('a -> 'b) -> ('a -> 'b) - let memoize2 f = - let cache = System.Collections.Generic.Dictionary<_, _>() - fun x -> - let ok,res = cache.TryGetValue(x) - if ok then res - else let res = f x - cache.[x] <- res - res - - -module MemberTakingOptionalArgumentUsedAsFirstClassFunctionValue = - type C() = - static member M(?a:int) = a - - let pf = (C.M, C.M) - - fst pf () - snd pf () - -module StillMoreRandomTests = - do printfn "StillMoreRandomTests" - - type Var = string - - type ArithExpr = - | Sum of ArithExpr * ArithExpr - | Mul of ArithExpr * ArithExpr - | Neg of ArithExpr - | Var of Var - | Let of Var * ArithExpr * ArithExpr - - - type Circuit = - | And of Circuit * Circuit - | Not of Circuit - | True - | Var of Var - | Exists of Var * Circuit - - let False = Not(True) - let Forall(v,p) = Not(Exists(v,Not(p))) - let Or (p1,p2) = Not(And(Not(p1),Not(p2))) - - // nice infix notation, also deerived equality and implication - let (&&&) p1 p2 = And(p1,p2) - let (|||) p1 p2 = Or(p1,p2) - let (===) p1 p2 = (p1 &&& p2) ||| (Not(p1) &&& Not(p2)) - let (==>) p1 p2 = (Not(p1) ||| p2) - let Cond p1 p2 p3 = (p1 ==> p2) &&& (Not(p1) ==> p3) - - - type Env = Map - - let rec eval (env:Env) p = - match p with - | And(p1,p2) -> eval env p1 && eval env p2 - | Not(p1) -> not (eval env p1) - | Var(v) -> env.[v] - | True -> true - | Exists(v,p) -> - // Evaluate p with the variable 'true' - eval (env.Add(v,true)) p || - // Evaluate p with the variable 'false' - eval (env.Add(v,false)) p - - - eval Map.empty True - - let varCount = ref 0 - let freshVariable() = incr varCount; (!varCount).ToString() - - let hide1 g = - let stateVar = freshVariable() - let state = Var(stateVar) - Exists(stateVar, g(state)) - - //let circuit inp out = hide1 (fun state -> state === (state &&& inp) &&& out === state) - //let circuit2 inp out = hide1 (fun inner -> circuit inp inner &&& circuit inner out) - - /// Helper to generate a variable and generate a circuit that - /// uses the variable. - let forall1 g = - let v1 = freshVariable() - Forall(v1,g(Var(v1))) - - /// Same for three variables - let forall3 g = forall1 (fun v1 -> forall1 (fun v2 -> forall1 (fun v3 -> g v1 v2 v3))) - - // This is the circuit: it chooses the output based on the input - // The circuit looks at input 0, and chooses the ouput to be input 1 or input 2 - let circuit (inp : Circuit[]) out = - Cond inp.[0] (out === inp.[1]) (out === inp.[2]) - - /// This is a specification of one property of the circuit. It says - /// that if input 1 is the same as input 2 then the result is - /// this input, regardless of the values of the inputs - let check1 = forall3 (fun inp0 inp1 out -> circuit [| inp0;inp1;inp1 |] out ==> (out === inp1)) - - eval Map.empty check1 // 'true' - the property holds - - eval Map.empty (Cond True False False) = false - eval Map.empty (Cond True False True) = false - eval Map.empty (Cond True True False) = true - eval Map.empty (Cond False True False) = false - eval Map.empty (Cond False False True) = true - eval Map.empty (False === True) = false - eval Map.empty (False === False) = true - eval Map.empty (True === True) = true - eval Map.empty (True === False) = false - eval Map.empty (Forall("a",Var("a") === Var("a"))) = true - eval Map.empty (Forall("a",Var("a") ==> Var("a"))) = true - eval Map.empty (Forall("a",Not(Var("a") === Var("a")))) = false - eval Map.empty (Forall("a",Forall("b",Var("a") === Var("b")))) = true - -module MemoizeSample = - do printfn "MemoizeSample" - - type Function<'a,'b> = interface - abstract Item : 'a -> 'b with get - abstract Clear : unit -> unit - end - - let memoize f = - let lookasideTable = new System.Collections.Generic.Dictionary<_,_>() - { new Function<_,_> with - member t.Item - with get(n) = - if lookasideTable.ContainsKey(n) then lookasideTable.[n] - else let res = f n - lookasideTable.Add(n,res) - res - member t.Clear() = - lookasideTable.Clear() } - - - let rec fibFast = memoize (fun n -> if n <= 2 then 1 else fibFast.[n-1] + fibFast.[n-2]) - - fibFast.[3] - fibFast.[30] - fibFast.Clear() - -(* -module NameLookupServiceExample = - do printfn "NameLookupServiceExample" - type NameLookupService = - abstract Contains : string -> bool - abstract ClosestPrefixMatch : string -> string - - let simpleNameLookup (words: string list) = - let wordTable = Set.ofSeq(words) - let score (w1:string) (w2:string) = - let lim = (min w1.Length w2.Length) - let rec loop i acc = - if i >= lim then acc - else loop (i+1) (Char.code w1.[i] - Char.code w2.[i] + acc) - loop 0 0 - - { new NameLookupService with - member t.Contains(w) = wordTable.Contains(w) - member t.ClosestPrefixMatch(w) = - if wordTable.Contains(w) then w - else - printfn "w = %s" w - let above = - match wordTable.GetNextElement(w) with - | Some w2 when w2.StartsWith(w) -> Some w2 - | _ -> None - let below = - match wordTable.GetPreviousElement(w) with - | Some w2 when w2.StartsWith(w) -> Some w2 - | _ -> None - printfn "above = %A, below = %A" above below - match above, below with - | Some w1,Some w2 -> if score w w1 > score w w2 then w2 else w1 - | Some res,None - | None,Some res -> res - | None,None -> failwith "no match!" } - - - let capitalLookup = simpleNameLookup ["London";"Paris";"Warsaw";"Tokyo"] - - capitalLookup.Contains "Paris" - capitalLookup.ClosestPrefixMatch "Wars" - -*) - - -module ConstraintsInMembers = begin - - type IDuplex = - interface - end - - type IServer = - interface - end - - let bind (a:#IServer) = "2" - - let Bind1(v:#IDuplex) : string = bind v - - type C() = - member x.Bind1(v:#IDuplex) : string = bind v - member x.Bind2(v:#IDuplex) : string = bind v -end - -module DelegateByrefCreation = begin - type D = delegate of int byref -> int - type D2 = delegate of int byref * int byref -> int - - let createImmediateDelegate = new D(fun b -> b) - let createImmediateDelegate2 = new D2(fun b1 b2 -> b1 + b2) -end - -module InterfaceCastingTests = begin - - type IBar = - interface - end - - type IFoo = - interface - end - - type C() = - class - end - - type D() = - class - interface IFoo - end - - type Struct = - struct - val x : int - end - - type R = - { c : int } - - type U = - A | B - - - let checkPatternTestInterfaceToInterface(l:IBar list) = - match l with - | [:? IFoo] -> None - | _ -> None - - let checkPatternTestInterfaceToUnsealedClassImplicit(l:IBar list) = - match l with - | [:? C] -> None - | _ -> None - - let checkPatternTestInterfaceToUnsealedClassExplicit(l:IBar list) = - match l with - | [:? D] -> None - | _ -> None - - - - let checkTypeTestInterfaceToInterface(l:IBar ) = - (l :? IFoo) - - let checkTypeTestInterfaceToUnsealedClassImplicit(l:IBar) = - (l :? C) - - let checkTypeTestInterfaceToUnsealedClassExplicit(l:IBar) = - (l :? D) - - let checkCoercionInterfaceToInterface(l:IBar ) = - (l :?> IFoo) - - let checkCoercionInterfaceToUnsealedClassImplicit(l:IBar) = - (l :?> C) - - let checkCoercionInterfaceToUnsealedClassExplicit(l:IBar) = - (l :?> D) - - let checkDowncastInterfaceToInterface(l:IBar ) = - (downcast l : IFoo) - - let checkDowncastInterfaceToUnsealedClassImplicit(l:IBar) = - (downcast l : C) - - let checkDowncastInterfaceToUnsealedClassExplicit(l:IBar) = - (downcast l : D) - -end - - -module MiscGenericOverrideTest = - do printfn "MiscGenericOverrideTest" - type 'a Class2 = - class - inherit obj - new () = { inherit obj(); } - override this.ToString() = base.ToString() - end - -module GlobalTickTock = - //let x = 1 - do printfn "GlobalTickTock" - type TickTock = Tick | Tock - type time = float - let private x = ref Tick - - // public module M = -// let x = 1 - - //let (private ticked,public TickEvent) = Event.create() - //let internal oneTick() = - // (x := match !x with Tick -> Tock | Tock -> Tick); - // ticked(!x) - - -module RecursiveInheritanceExampleFromTomas = - type ISome = - interface - abstract InterfaceMethod : int -> int - end - and Test = - class - interface ISome with - member this.InterfaceMethod (a) = - a + 5 - end - end - - - -module DefaultImplementationsOfAbstractProperties = - type A() = class - abstract Prop : int with set - abstract Prop : int with get - default x.Prop - with get() = printf "A::Prop.get"; 6 - and set(v) = printf "A::Prop.set(%d)" v - end - -module StructDefinition = - type ('h,'t) BUN = - struct - val head : 'h - val tail : 't - new(h,t) = {head = h; tail = t} - end - - let heap = Array.init 100 (fun i -> BUN(i,i)) - - let _ = heap.[3] - - -module StructKeywordAsConstraintTest = - - type Struct1<'a when 'a : struct> = - struct - val x : int - end - - type Struct2<'a when 'a : not struct> = - struct - val x : int - end - - type Class1<'a when 'a : struct> = - class - val x : int - end - - type Class2<'a when 'a : not struct> = - class - val x : int - end - - type Class1b<'a when 'a : struct>(x:int) = - member self.X = x - - type Class2b<'a when 'a : not struct>(x:int) = - member self.X = x - - -module StaticInitializerTest1 = - - type C<'a>() = - static let mutable v = 2 + 2 - static do v <- 3 - - member x.P = v - static member P2 = v+v - - test "lwnohivw0" ((new C()).P = 3) - test "lwnohivw1" ((new C()).P = 3) - test "lwnohivw2" ((new C()).P = 3) - test "lwnohivw3" ((C.P2) = 6) - test "lwnohivw4" ((C.P2) = 6) - -module StaticInitializerTest2 = - - type C() = - static let mutable v = 2 + 2 - static do v <- 3 - - member x.P = v - static member P2 = v+v - - check "lwnohivq01" (new C()).P 3 - check "lwnohivq12" (new C()).P 3 - check "lwnohivq33" C.P2 6 - check "lwnohivq44" C.P2 6 - - -module StaticInitializerTest3 = - - let x = ref 2 - do x := 3 - - type C() = - static let mutable v = x.Value + 1 - static do v <- 3 - - member x.P = v - static member P2 = v+x.Value - - check "lwnohivq05" (new C()).P 3 - check "lwnohivq16" (new C()).P 3 - check "lwnohivq37" C.P2 6 - check "lwnohivq48" C.P2 6 - - -module OkStructTest3 = begin - type OkStruct1 = - struct - val x : list - end -end - -module FSharp_1_0_bug_1748_Problem_Calling_A_Base_Member_A = begin - - type C<'a>(value) = - member x.BaseM() = printf "out %d" value - - type D<'b>(value:int) = - inherit C<'b>(value) - - member x.M() = base.BaseM() - -end - -(* -module FSharp_1_0_bug_1748_Problem_Calling_A_Base_Member_B = begin - - type Exp<'c when 'c :> Exp<'c>> = abstract Print : unit -> unit - - type PrintLit<'c when 'c :> Exp<'c>>(value) = - member x.Value = value - member x.BasePrint() = printf "out %d" x.Value - interface Exp<'c> with - member x.Print() = x.BasePrint() - - type PrintAdd<'c when 'c :> Exp<'c>>(left:'c, right:'c) = - member x.Left = left - member x.Right = right - member x.BasePrint() = x.Left.Print(); printf "+"; x.Right.Print() - interface Exp<'c> with - member x.Print() = x.BasePrint() - - type EvalExp<'c when 'c :> EvalExp<'c>> = - inherit Exp<'c> - abstract Eval : unit -> int - - type EvalLit<'c when 'c :> EvalExp<'c>>(value:int) = - inherit PrintLit<'c>(value) - member x.BaseEval() = x.Value - interface EvalExp<'c> with - //the base is not strictly necessary here, but used for clarity - member x.Print() = base.BasePrint() - member x.Eval() = x.BaseEval() - - type EvalAdd<'c when 'c :> EvalExp<'c>>(left:'c, right:'c) = - inherit PrintAdd<'c>(left, right) - member x.BaseEval() = x.Left.Eval() + x.Right.Eval() - interface EvalExp<'c> with - member x.Print() = base.BasePrint() - member x.Eval() = x.BaseEval() - - type EvalExpFix = inherit EvalExp - - type EvalLitFix(value) = - inherit EvalLit(value) - interface EvalExpFix with - member x.Print() = base.BasePrint() - member x.Eval() = base.BaseEval() - - type EvalAddFix(left:EvalExpFix, right:EvalExpFix) = - inherit EvalAdd(left, right) - interface EvalExpFix with - member x.Print() = base.BasePrint() - member x.Eval() = base.BaseEval() - - let e1 = new EvalLitFix(2) - let e2 = new EvalLitFix(3) - let e3 = new EvalAddFix(e1, e2) :> EvalExpFix - do e3.Print() - System.Console.Write(" = " + e3.Eval().ToString()) -end -*) - - -module Test1 = begin - type C() = class end - - type ITest = interface - abstract member Read : #C -> unit - end - - type Impl() = - interface ITest with - override this.Read (orgList : #C) = printfn "done" - end - - let impl() = - { new ITest with - override this.Read (orgList : #C) = printfn "done" - } -end - -module Test2 = begin - - type C<'a>() = class end - - type ITest<'d> = interface - abstract member Read : #C<'a> -> unit - end - - type Impl() = - interface ITest with - override this.Read (orgList : #C<'b>) = printfn "done" - end - - let impl() = - { new ITest with - override this.Read (orgList : #C<'b>) = printfn "done" - } - -end - - -module Test3 = begin - - type C<'a>() = class end - - type ITest<'d> = interface - abstract member Read<'b when 'b :> C<'d> > : 'd -> unit - end - - type Impl() = - interface ITest with - override this.Read<'c when 'c :> C > _ = printfn "done" - end - - let impl() = - { new ITest with - override this.Read<'c when 'c :> C > _ = printfn "done" - } - -end -module Test4 = begin - - type C<'a>() = class end - - type ITest<'d> = interface - abstract member Read<'b > : 'b -> unit - end - - type Impl() = - interface ITest with - override this.Read _ = printfn "done" - end - - let impl() = - { new ITest with - override this.Read _ = printfn "done" - } - -end - -module Test5 = begin - - type ITest = interface - abstract member Read<'b > : int -> unit - end - - type Impl() = - interface ITest with - override this.Read _ = printfn "done" - end - - let impl() = - { new ITest with - override this.Read _ = printfn "done" - } - -end - -module Test6 = begin - - - type ITest<'d> = interface - abstract member Read : int -> unit - end - - type Impl<'e>() = - interface ITest <'e> with - override this.Read (orgList : int) = printfn "done" - end - - let impl<'e>() = - { new ITest <'e> with - override this.Read (orgList : int) = printfn "done" - } - -end - - -module Test7 = begin - - type ITest<'d> = interface - abstract member Read : 'd -> unit - end - - type Impl<'e>() = - interface ITest <'e> with - override this.Read (orgList : 'e) = printfn "done" - end - - let impl() = - { new ITest <'e> with - override this.Read (orgList : 'e) = printfn "done" - } - -end - - - -module Test8 = begin - - type C<'a>() = class end - - type ITest<'q> = interface - abstract member Read : #C<'q> -> unit - end - - type Impl<'f>() = - interface ITest <'f> with - override this.Read (orgList : #C<'f>) = printfn "done" - end - - let impl() = - { new ITest <'f> with - override this.Read (orgList : #C<'f>) = printfn "done" - } - -end - - -// FSB 1112, Bug in definition of generic interface - -module Test9 = begin - open System.Collections.Generic - - type ITest<'T> = interface - abstract member Read : #IList<'T> -> unit - end - - type Impl<'t>() = - interface ITest<'t> with - override this.Read (orgList : #IList<'t>) = printfn "done" - - - let impl = {new ITest<'t> with - override this.Read orgList = printfn "done"}; - -end - - -module InterfaceEndTokenTests_bugs_FSharp_1_0_1148_and_1431 = - type IFoo = interface - abstract Meth3 : unit -> unit - end - - type IBar = interface - abstract Meth3 : unit -> unit - end - - - type Foo() = class - interface IFoo with - member this.Meth3 () = () - end - - type Foo1x() = class - interface IFoo with - member this.Meth3 () = () - end - end - - type Foo1b() = - class - interface IFoo with - member this.Meth3 () = () - end - - type Foo1c() = - class - interface IFoo with - member this.Meth3 () = () - end - - type Foo1d() = - class - interface IFoo with - member this.Meth3 () = () - - // note the 'end' token doesn't have to align with 'class' - end - - type Foo1e() = - class - interface IFoo with - member this.Meth3 () = () - - // note the 'end' token doesn't have to align with 'class' - end - - type Foo2() = class - interface IFoo with - member this.Meth3 () = () - end - end - - - type Foo3() = - interface IFoo with - member this.Meth3 () = () - end - - type Foo4() = - interface IFoo with - member this.Meth3 () = () - end - - - type Foo5() = - interface IFoo with - member this.Meth3 () = () - - type Foo6() = - interface IFoo with - member this.Meth3 () = () - interface IBar with - member this.Meth3 () = () - - - type Foo7() = - interface IFoo with - member this.Meth3 () = () - interface IBar with - member this.Meth3 () = () - end - - type Foo7b() = - interface IFoo with - member this.Meth3 () = () - end - interface IBar with - member this.Meth3 () = () - end - - type Foo8() = - interface IFoo with - member this.Meth3 () = () - end - interface IBar with - member this.Meth3 () = () - - type Foo9() = - interface IFoo with - member this.Meth3 () = () - end - interface IBar with - member this.Meth3 () = () - - type Foo10() = - interface IFoo with - member this.Meth3 () = () - end - // Spec issue: interfaces and members can progressively indent if 'end' tokens included - interface IBar with - member this.Meth3 () = () - - - -type node = - interface - abstract wombat :string - end -type nodeB = - //member it.dummy = "dummy" - interface node with - member it.wombat = "B.wombat" - - -module Check_Static_Let_Bindings_In_Structs = - let r = ref 0 - - [] - type S(x:int) = - static let mutable v = 3 - static do printfn "Initialize S" - static do v <- v + 1 - //do printfn "hello" - //do incr r - member y.P = x - static member V = v - - do test "vr09jrweokm" (S.V = 3 || S.V = 4) - //do test "vr09jrweokm" (!r = 0) - let s3 = S(3) - let s4 = S(4) - do test "vr09jrweokm" (S.V = 4) - //do test "vr09jrweokm" (!r = 2) - -module UnitArgs = - let f () = - printfn "hello from f" - printfn "hello from f" - printfn "hello from f" - printfn "hello from f" - printfn "hello from f" - printfn "hello from f" - 1+2 - - let f2 (c:unit) = - printfn "hello from f2"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - 1+2 - - let f3 = fun () -> - printfn "hello from f3"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - 1+2 - - let f4 = function () -> - printfn "hello from f4"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - 1+2 - - let f5 = (fun () -> - printfn "hello from f5"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - printfn "hello"; - 1+2) - - - type C(x:int) = - static member M() = - printfn "hello from C.M" - printfn "hello from C.M" - printfn "hello from C.M" - printfn "hello from C.M" - printfn "hello from C.M" - printfn "hello from C.M" - 1+2 - - member x.M2() = - printfn "hello from C.M2" - printfn "hello from C.M2" - printfn "hello from C.M2" - printfn "hello from C.M2" - printfn "hello from C.M2" - printfn "hello from C.M2" - 1+2 - member x.M3 = fun () -> - printfn "hello from C.M3" - printfn "hello from C.M3" - printfn "hello from C.M3" - printfn "hello from C.M3" - printfn "hello from C.M3" - printfn "hello from C.M3" - 1+2 - member x.M4 () () = - printfn "hello from C.M4" - printfn "hello from C.M4" - printfn "hello from C.M4" - printfn "hello from C.M4" - printfn "hello from C.M4" - printfn "hello from C.M4" - 1+2 - f() - List.map f [();();()] - f2() - List.map f2 [();();()] - f2() - List.map f3 [();();()] - f3() - List.map f4 [();();()] - f4() - List.map f5 [();();()] - f5() - List.map C.M [();();()] - C.M() - let c = C(3) - c.M2() - List.map c.M2 [();();()] - c.M3() - List.map c.M3 [();();()] - c.M4() () - List.map (c.M4 ()) [();();()] - -//--------------------------------------------------------------------- -// Finish up - - - - -module SingleArgumentFunctions = - type C() = - let f0 () = 1 - let f1 (x:int) = x - let f2 (x:int) = f1 x + f0() - let rec f3 (x:int) = 2 - let f4 (x:int) = f3 x + f0() - let v = f4 5 - let f5 (x:int) = f4 v + 6 - let rec f6 (x:int) = if x = 0 then 6 else f6 (x-1) - let v2 = f6 5 - let v3 = List.map f0 [(); ()] - let v4 = List.map f1 [1;2] - let v5 = List.map f3 [1;2] - member x.Result = - List.sum v3 + List.sum v4 + List.sum v5 + v2 + v - - let c = C() - printfn "c.Result = %d" c.Result - test "vrewiorvw09j" (c.Result = 18) - -module MultiArgumentFunctions = - type C() = - let f1 (x1:int) x2 = x1 + x2 - let v5 = f1 2 3 - member x.Result = - f1 3 4 + v5 - - let c = C() - printfn "c.Result = %d" c.Result - test "vrewiorvw09h" (c.Result = 12) - - - -module TupledMultiArgumentFunctions = - type C() = - let f1 (x1:int,x2:int) (x3:int,x4:int) = x1 + x2 + x3 + x4 - let v5 = f1 (2,3) (4,5) - member x.Result = - f1 (6,7) (8,9) + v5 - - let c = C() - printfn "c.Result = %d" c.Result - test "vrewiorvw09g" (c.Result = 44) - -module FunctionInGenericClass = - type C<'a>() = - let f1 (x1:int) = x1 + 3 - let v5 = f1 3 - member x.Result = - f1 6 + v5 - - let c = C() - printfn "c.Result = %d" c.Result - test "vrewiorvw09f" (c.Result = 15) - -module GenericFunctions = - type C() = - let f1 x1 = x1 - let f2 (x : 'a) : 'a when 'a :> System.IComparable = x - let v5 = f1 3 - let v6 = f1 "hello" - let v7 = f2 1 - let v8 = f2 "hello" - member x.Result = - f1 6 + v5 + v6.Length - - let c = C() - printfn "c.Result = %d" c.Result - test "vrewiorvw09d" (c.Result = 14) - -module GenericFunctionInGenericClass = - type C<'a>() = - let f1 x1 = x1 - let rec f2 n x1 = if n = 0 then x1 else f2 (n-1) x1 - let rec f3 n (x1:int) = if n = 0 then x1 else f2 (n-1) x1 - let v5 = f1 3 + sizeof<'a> - let v6 = f1 "hello" - let v7 = f2 8 3 + sizeof<'a> - let v8 = f2 10 "hello" - let v9 = f3 8 3 + sizeof<'a> - member x.Result = - f1 6 + v5 + v6.Length + v7 + v8.Length + f2 8 6 + f3 8 6 - member x.Functions = - (f1 : int -> int), (f1 : string -> string), - (f2 : int -> int -> int), (f2 : int -> string -> string), - // Non generic function in generic class used as a first class value - (f3 : int -> int -> int) - - let c = C() - printfn "c.Result = %d" c.Result - let c2 = C() - printfn "c2.Result = %d" c2.Result - test "vrewiorvw09s" (c.Result = 42) - test "vrewiorvw09a" (c2.Result = 50) - -module TailCallLoop = - type C<'a>() = - let rec f x = if x = 0 then 1 else f (x - 1) - let v5 = f 10000000 - member x.Result = - f 10000000 + v5 - - let c = C() - printfn "c.Result = %d" c.Result - let c2 = C() - printfn "c2.Result = %d" c2.Result - test "vrewiorvw09o" (c.Result = 2) - test "vrewiorvw09i" (c2.Result = 2) - -module FunctionsAsLambdas = - type C() = - let f0 = fun () -> 1 - let f1 = fun (x:int) -> x - let f2 = fun (x:int) -> f1 x + f0() - let rec f3 = fun (x:int) -> 2 - let f4 = fun (x:int) -> f3 x + f0() - let v = f4 5 - let f5 = fun (x:int) -> f4 v + 6 - let rec f6 = fun (x:int) -> if x = 0 then 6 else f6 (x-1) - let v2 = f6 5 - let v3 = List.map f0 [(); ()] - let v4 = List.map f1 [1;2] - let v5 = List.map f3 [1;2] - let f6 = fun (x1:int) x2 -> x1 + x2 - let v6 = f6 2 3 - let f7 = fun (x1:int,x2:int) (x3:int,x4:int) -> x1 + x2 + x3 + x4 - let v7 = f7 (2,3) (4,5) - let f8 = fun (x1:int,x2:int) () -> x1 + x2 - let v8 = f8 (2,3) () - let f9 = fun () -> fun (x1:int,x2:int) -> x1 + x2 - let v9 = f9 () (2,3) - let f10 = fun x1 -> x1 - let v10a = f10 3 - let v10b = f10 "hello" - member x.Result = - List.sum v3 + List.sum v4 + List.sum v5 + v2 + v + v6 + v7 + v8 + v9 + v10a + v10b.Length - - let c = C() - printfn "c.Result = %d" c.Result - test "vrewiorvw09u" (c.Result = 55) - - - -module Pathological1 = - type C<'a>() = - let mutable f1 = fun x1 -> x1 - let v5 = f1 3 + sizeof<'a> - member x.Result = - f1 6 + v5 - - let c = C() - printfn "c.Result = %d" c.Result - let c2 = C() - printfn "c2.Result = %d" c2.Result - test "vrewiorvw09y" (c.Result = 13) - test "vrewiorvw09t" (c2.Result = 17) - - - -module StaticSingleArgumentFunctions = - type C() = - static let f0 () = 1 - static let f1 (x:int) = x - static let f2 (x:int) = f1 x + f0() - static let rec f3 (x:int) = 2 - static let f4 (x:int) = f3 x + f0() - static let v = f4 5 - static let f5 (x:int) = f4 v + 6 - static let rec f6 (x:int) = if x = 0 then 6 else f6 (x-1) - static let v2 = f6 5 - static let v3 = List.map f0 [(); ()] - static let v4 = List.map f1 [1;2] - static let v5 = List.map f3 [1;2] - static member Result = - List.sum v3 + List.sum v4 + List.sum v5 + v2 + v - - printfn "c.Result = %d" C.Result - test "vrewiorvw09r" (C.Result = 18) - -module StaticMultiArgumentFunctions = - type C() = - static let f1 (x1:int) x2 = x1 + x2 - static let v5 = f1 2 3 - static member Result = - f1 3 4 + v5 - - printfn "c.Result = %d" C.Result - test "vrewiorvw09e" (C.Result = 12) - -module StaticTupledMultiArgumentFunctions = - type C() = - static let f1 (x1:int,x2:int) (x3:int,x4:int) = x1 + x2 + x3 + x4 - static let v5 = f1 (2,3) (4,5) - static member Result = - f1 (6,7) (8,9) + v5 - - printfn "c.Result = %d" C.Result - test "vrewiorvw09w" (C.Result = 44) - -module StaticFunctionInGenericClass = - type C<'a>() = - static let f1 (x1:int) = x1 + 3 + sizeof<'a> - static let v5 = f1 3 - static member Result = - f1 6 + v5 - - printfn "C.Result = %d" (C.Result) - printfn "C.Result = %d" (C.Result) - test "vrewiorvw09q" (C.Result = 23) - test "vrewiorvw099" (C.Result = 31) - -module StaticGenericFunctions = - type C() = - static let f1 x1 = x1 - static let f2 (x : 'a) : 'a when 'a :> System.IComparable = x - static let v5 = f1 3 - static let v6 = f1 "hello" - static let v7 = f2 1 - static let v8 = f2 "hello" - static member Result = - f1 6 + v5 + v6.Length - - printfn "c.Result = %d" C.Result - test "vrewiorvw098" (C.Result = 14) - -module StaticGenericFunctionInGenericClass = - type C<'a>() = - static let f1 x1 = x1 - static let rec f2 n x1 = if n = 0 then x1 else f2 (n-1) x1 - static let rec f3 n (x1:int) = if n = 0 then x1 else f2 (n-1) x1 - static let v5 = f1 3 + sizeof<'a> - static let v6 = f1 "hello" - static let v7 = f2 8 3 + sizeof<'a> - static let v8 = f2 10 "hello" - static let v9 = f3 8 3 + sizeof<'a> - static member Result = - f1 6 + v5 + v6.Length + v7 + v8.Length + f2 8 6 + f3 8 6 - static member Functions = - (f1 : int -> int), (f1 : string -> string), - (f2 : int -> int -> int), (f2 : int -> string -> string), - // Non generic function in generic class used as a first class value - (f3 : int -> int -> int) - - printfn "C.Result = %d" (C.Result) - printfn "C.Result = %d" (C.Result) - test "vrewiorvw097" (C.Result = 42) - test "vrewiorvw096" (C.Result = 50) - -module StaticTailCallLoop = - type C<'a>() = - static let rec f x = if x = 0 then sizeof<'a> else f (x - 1) - static let v5 = f 10000000 - static member Result = - f 10000000 + v5 - - printfn "C.Result = %d" (C.Result) - printfn "C.Result = %d" (C.Result) - test "vrewiorvw095" (C.Result = 8) - test "vrewiorvw094" (C.Result = 16) - -module StaticFunctionsAsLambdas = - type C() = - static let f0 = fun () -> 1 - static let f1 = fun (x:int) -> x - static let f2 = fun (x:int) -> f1 x + f0() - static let rec f3 = fun (x:int) -> 2 - static let f4 = fun (x:int) -> f3 x + f0() - static let v = f4 5 - static let f5 = fun (x:int) -> f4 v + 6 - static let rec f6 = fun (x:int) -> if x = 0 then 6 else f6 (x-1) - static let v2 = f6 5 - static let v3 = List.map f0 [(); ()] - static let v4 = List.map f1 [1;2] - static let v5 = List.map f3 [1;2] - static let f6 = fun (x1:int) x2 -> x1 + x2 - static let v6 = f6 2 3 - static let f7 = fun (x1:int,x2:int) (x3:int,x4:int) -> x1 + x2 + x3 + x4 - static let v7 = f7 (2,3) (4,5) - static let f8 = fun (x1:int,x2:int) () -> x1 + x2 - static let v8 = f8 (2,3) () - static let f9 = fun () -> fun (x1:int,x2:int) -> x1 + x2 - static let v9 = f9 () (2,3) - static let f10 = fun x1 -> x1 - static let v10a = f10 3 - static let v10b = f10 "hello" - static member Result = - List.sum v3 + List.sum v4 + List.sum v5 + v2 + v + v6 + v7 + v8 + v9 + v10a + v10b.Length - - printfn "c.Result = %d" C.Result - test "vrewiorvw093" (C.Result = 55) - - - -module StaticPathological1 = - type C<'a>() = - static let mutable f1 = fun x1 -> x1 - static let v5 = f1 3 + sizeof<'a> - static member Result = - f1 6 + v5 - - printfn "C.Result = %d" (C.Result) - printfn "C.Result = %d" (C.Result) - test "vrewiorvw092" (C.Result = 13) - test "vrewiorvw091" (C.Result = 17) - -module ImplicitOperatorTests = - type Foo(x : int) = - member this.Val = x - - static member (-->) ((src : Foo), (target : Foo)) = new Foo(src.Val + target.Val) - static member (-->) ((src : Foo), (target : int)) = new Foo(src.Val + target) - - static member (!!) (src : Foo) = new Foo(-src.Val) - - static member (+) ((src : Foo), (target : Foo)) = new Foo(src.Val + target.Val) - static member (+) ((src : Foo), (target : int)) = new Foo(src.Val + target) - - let x = Foo(3) --> 4 - let y = Foo(3) --> Foo(5) - let z = (-->) (Foo(3)) (Foo(5)) - let f1 : Foo -> Foo = (-->) (Foo(3)) - let _ = f1 (Foo(5)) - let f2 : int -> Foo = (-->) (Foo(3)) - let _ = f2 3 - let x2 = Foo(3) + 4 - let y2 = Foo(3) + Foo(4) - let z2 = !!Foo(3) - -module SlicingTests = - let s1 = "abcdef" - - check "ce0cew9j1" s1.[2..] "cdef" - check "ce0cew9j2" s1.[2..2] "c" - check "ce0cew9j3" s1.[5..5] "f" - check "ce0cew9j4" s1.[0..0] "a" - check "ce0cew9j5" s1.[2..1] "" - check "ce0cew9j6" s1.[0.. -1] "" - check "ce0cew9j7" s1.[2..3] "cd" - check "ce0cew9j8" s1.[2..4] "cde" - check "ce0cew9j9" s1.[2..5] "cdef" - - - let a1 = [| for c in "abcdef" -> c |] - - check "ce0cew9jq" a1.[2..] [| for c in "cdef" -> c |] - - a1.[3..] <- [| for c in "DEF" -> c |] - - check "ce0cew9jw" a1.[2..] [| for c in "cDEF" -> c |] - - let m1 = Array2D.init 6 7 (fun i j -> i + 2*j) - - check "ce0cew9je" m1 (Array2D.init 6 7 (fun i j -> i + 2*j)) - for i = 1 to 5 do - for j = 1 to 6 do - check "ce0cew9jr" m1.[1..i,1..j] (Array2D.init i j (fun i j -> (i+1) + 2*(j+1))) - - - m1.[1..3,1..4] <- Array2D.zeroCreate 3 4 - - for i = 1 to 5 do - for j = 1 to 6 do - check "ce0cew9js" m1.[1..i,1..j] (Array2D.init i j (fun i j -> if (i+1) >= 1 && (i+1) <= 3 && (j+1) >= 1 && (j+1) <= 4 then 0 else (i+1) + 2*(j+1))) - - - - type System.Int32 with - member x.GetSlice(idx1,idx2) = - let idx1 = defaultArg idx1 0 - let idx2 = defaultArg idx2 17 - x % (17 * idx1 + idx2) - member x.GetSlice(idx1,idx2,idx3,idx4) = - let idx1 = defaultArg idx1 0 - let idx2 = defaultArg idx2 17 - let idx3 = defaultArg idx3 17 - let idx4 = defaultArg idx4 17 - x % (17 * idx1 + idx2 + idx3 + idx4) - - (3).[3..4] - (3).[3..] - (3).[..4] - - (3).[3..4,4..5] - (3).[3..,6..7] - (3).[..4,8..9] - (3).[..4,*] - (3).[*,*] - - type Foo() = - member this.GetSlice(lb1:int option, ub1:int option) = [1] - member this.SetSlice(lb1:int option, ub1:int option, v2D: int list) = () - - let f = new Foo() - - let vs = f.[1 .. 3] - f.[1..3] <- [3] - f.[..3] <- [3] - f.[1..] <- [3] - f.[*] <- [3] - -module Bug_FSharp_1_0_3246 = - type R1 = - { x : int } - static member Empty = { x = 3 } - - and R2 = - { x : int } - static member Empty = { x = 3 } - - let r1 : R1 = R1.Empty - let r2 : R2 = R2.Empty - -module First_class_use_of_non_overloaded_method_should_detuple_1 = - - let count = ref 0 - type A() = - let f (x,y) = incr count; printfn "hello"; incr count - member this.M0 () = f (1,2) - member this.M1 (x:int) = f (x,x) - member this.M2 (x:int,y:float) = f (x,y) - - static member SM0 () = incr count; printfn "hello"; incr count - static member SM1 (x:int) = incr count; printfn "hello"; incr count - static member SM2 (x:int,y:float) = incr count; printfn "hello"; incr count - - - [| (1,3.0) |] |> Array.iter (fun (x,y) -> A.SM2 (x,y)) - [| (1,3.0) |] |> Array.iter (fun d -> A.SM2 d) - [| (1,3.0) |] |> Array.iter A.SM2 - - [| 1;2;3 |] |> Array.iter (fun d -> A.SM1 d) - [| 1;2;3 |] |> Array.iter A.SM1 - - [| ();();() |] |> Array.iter (fun d -> A.SM0()) - [| ();();() |] |> Array.iter A.SM0 - - let a = A() - [| (1,3.0) |] |> Array.iter (fun (x,y) -> a.M2 (x,y)) - [| (1,3.0) |] |> Array.iter (fun d -> a.M2 d) - [| (1,3.0) |] |> Array.iter a.M2 - - [| 1;2;3 |] |> Array.iter (fun d -> a.M1 d) - [| 1;2;3 |] |> Array.iter a.M1 - - [| ();();() |] |> Array.iter (fun d -> a.M0()) - [| ();();() |] |> Array.iter a.M0 - -module First_class_use_of_non_overloaded_method_should_detuple_2 = - - let count = ref 0 - type A<'a>() = - let f (x,y) = incr count; printfn "hello"; incr count - member this.M0 () = f (1,2) - member this.M1 (x:'a) = f (x,x) - member this.M2 (x:'a,y:'a) = f (x,y) - - static member SM0 () = incr count; printfn "hello"; incr count - static member SM1 (x:'a) = incr count; printfn "hello"; incr count - static member SM2 (x:'a,y:'a) = incr count; printfn "hello"; incr count - - - [| (1,3) |] |> Array.iter (fun (x,y) -> A.SM2 (x,y)) - [| (1,3) |] |> Array.iter (fun d -> A.SM2 d) - [| (1,3) |] |> Array.iter A.SM2 - - [| 1;2;3 |] |> Array.iter (fun d -> A.SM1 d) - [| 1;2;3 |] |> Array.iter A.SM1 - - [| ();();() |] |> Array.iter (fun d -> A.SM1 d) - [| ();();() |] |> Array.iter A.SM1 - - [| ();();() |] |> Array.iter (fun d -> A.SM0()) - [| ();();() |] |> Array.iter A.SM0 - - let a = A() - [| (1,3) |] |> Array.iter (fun (x,y) -> a.M2 (x,y)) - [| (1,3) |] |> Array.iter (fun d -> a.M2 d) - [| (1,3) |] |> Array.iter a.M2 - - let au = A() - [| ();();() |] |> Array.iter (fun d -> au.M1 d) - [| ();();() |] |> Array.iter au.M1 - - [| 1;2;3 |] |> Array.iter (fun d -> a.M1 d) - [| 1;2;3 |] |> Array.iter a.M1 - - [| ();();() |] |> Array.iter (fun d -> a.M0()) - [| ();();() |] |> Array.iter a.M0 - - -module First_class_use_of_non_overloaded_method_should_detuple_3 = - - let count = ref 0 - type A() = - let f (x,y) = () - member this.M0 () = f (1,2) - member this.M1 (x:'a) = f (x,x) - member this.M2 (x:'a,y:'a) = f (x,y) - - static member SM0 () = () - static member SM1 (x:'a) = () - static member SM2 (x:'a,y:'a) = () - - - [| (1,3) |] |> Array.iter (fun (x,y) -> A.SM2 (x,y)) - [| (1,3) |] |> Array.iter (fun d -> A.SM2 d) - [| (1,3) |] |> Array.iter A.SM2 - - [| 1;2;3 |] |> Array.iter (fun d -> A.SM1 d) - [| 1;2;3 |] |> Array.iter A.SM1 - - [| ();();() |] |> Array.iter (fun d -> A.SM1 d) - [| ();();() |] |> Array.iter A.SM1 - - [| ();();() |] |> Array.iter (fun d -> A.SM0()) - [| ();();() |] |> Array.iter A.SM0 - - let a = A() - [| (1,3) |] |> Array.iter (fun (x,y) -> a.M2 (x,y)) - [| (1,3) |] |> Array.iter (fun d -> a.M2 d) - [| (1,3) |] |> Array.iter a.M2 - - [| ();();() |] |> Array.iter (fun d -> a.M1 d) - [| ();();() |] |> Array.iter a.M1 - - [| 1;2;3 |] |> Array.iter (fun d -> a.M1 d) - [| 1;2;3 |] |> Array.iter a.M1 - - [| ();();() |] |> Array.iter (fun d -> a.M0()) - [| ();();() |] |> Array.iter a.M0 - -module Bug_1438 = - - type Tuples = - static member Sel1 t = match t with | (a,_) -> a - - static member Sel2 t = match t with | (_,b) -> b - - let unzip (xs : seq<'a * 'b>) : seq<'a> * seq<'b> = - ( xs |> Seq.map (fun x -> Tuples.Sel1 x), - xs |> Seq.map (fun x -> Tuples.Sel2 x) ) - - let unzip2 (xs : seq<'a * 'b>) : seq<'a> * seq<'b> = - ( xs |> Seq.map Tuples.Sel1, - xs |> Seq.map Tuples.Sel2 ) - -module InheritingFromPartiallyImplementedTypes = - module PositiveTests = - - - - module Test2 = - type ITest = - abstract member Meth1: string -> string - - type ITestSub = - inherit ITest - abstract member Meth2: int -> int - - type OkComplete () = - interface ITest with - override this.Meth1 x = x + "1" - interface ITestSub with - override this.Meth2 x = x + 1 - - module Throwaway = - let foo = OkComplete() - - - module Test4 = - [] - type wire<'a>() = - abstract Send : 'a -> unit - - let createWire() = - {new wire<'a>() with - member obj.Send(x:'a) = () - } - - type CreateWire<'a>() = - inherit wire<'a>() - override obj.Send(x) = () - - - module Test5 = - type ITest = - abstract member Meth1: int -> int - - type ITestSub = - inherit ITest - abstract member Meth1: int -> int - - [] - type Partial() = - abstract Meth1 : int -> int - interface ITest with - override this.Meth1 x = this.Meth1 x - interface ITestSub with - override this.Meth1 x = this.Meth1 x - - type OkComplete () = - inherit Partial() - override this.Meth1 x = x - - module Throwaway = - let foo = OkComplete() - - module MorePositiveTests = - - - type IEnumerator<'T> = - abstract Current : 'T - - [] - type MapEnumerator<'T> (x:'T) = - interface IEnumerator<'T> with - member this.Current = x - - type MapE<'U>() = - inherit MapEnumerator<'U>(failwith "") - - - module MorePositiveTEsts2 = - open System.Reflection - - type IDelegateEvent<'del when 'del :> System.Delegate > = - abstract AddHandler: handler:'del -> unit - - type IEvent<'del,'args when 'del :> System.Delegate > = - inherit IDelegateEvent<'del> - - let f<'Delegate,'Args when 'Delegate :> System.Delegate >() = - { new IEvent<'Delegate,'Args> with - member x.AddHandler(d) = () } - - - module MorePositiveTEsts3 = - - type IEvent<'del,'a> = - abstract Add : ('a -> unit) -> unit - - [] - type wire<'a>() = - abstract Send : 'a -> unit - abstract Listen : ('a -> unit) -> unit - interface IEvent,'a> with - member x.Add(handler) = x.Listen(handler) - - let createWire() = - let listeners = ref [] in - {new wire<'a>() with // Expect an error here - Add2 no implemented - member obj.Send(x) = List.iter (fun f -> f x) !listeners - member obj.Listen(f) = listeners := f :: !listeners - } - -module MoreConstraintTEsts = - type C1<'T when 'T :> System.Array>() = - member x.P = 1 - - type C2<'T when 'T :> System.Delegate>() = - member x.P = 1 - - type C3<'T when 'T :> System.Enum>() = - member x.P = 1 - - - type C4<'T when 'T :> System.ValueType>() = - member x.P = 1 - - type C5<'T when 'T :> System.IComparable and 'T :> System.IComparable>() = - member x.P = 1 - - - type C6<'T when 'T :> System.Array and 'T :> System.Array>() = - member x.P = 1 - - type C7<'T when 'T :> System.Array and 'T :> System.IComparable>() = - member x.P = 1 -// Can't constraint to multiple class types anymore -// It is ok to constrain to multiple interfaces though. - type C8<'T when 'T :> System.Array and 'T :> System.IComparable and 'T :> System.ICloneable>() = - member x.P = 1 - - let f x = new C8<_>() - -module FinalizerTEst = - type S<'a>(x:'a) = class [] val mutable x : 'a override x.Finalize() = printfn "hello" end - - let x = S(3) |> box - -module CheckBoxingSemantics = - module StructTest1 = - - type IX = abstract ToStringMember : unit -> string - - - [] - type Counter = - interface IX with - member x.ToStringMember() = x.value <- x.value + 1; x.value.ToString() - - [] - val mutable value : int - - let x = ref (new Counter()) - - let f (x:'a when 'a :> IX) = - [ x.ToStringMember(); x.ToStringMember(); x.ToStringMember() ] - - check "vklnvwer0" (f x.Value) ["1"; "1"; "1"] - - module StructTest2 = - - - [] - type Counter = - [] - val mutable value : int - member x.ToStringMember() = x.value <- x.value + 1; x.value.ToString() - - let x = ref (new Counter()); - - check "vklnvwer0" [ x.contents.ToStringMember(); x.contents.ToStringMember(); x.contents.ToStringMember() ] ["1"; "2"; "3"] - - module StructTest3 = - - [] - type Counter = - [] - val mutable value : int - member x.ToStringMember() = x.value <- x.value + 1; x.value.ToString() - - let x = Array.init 3 (fun i -> new Counter()); - check "vklnvwer0" [ x.[0].ToStringMember(); x.[0].ToStringMember(); x.[0].ToStringMember() ] ["1"; "2"; "3"] - - module StructTest4 = - - [] - type Counter = - [] - static val mutable private value : int - member x.ToStringMember() = Counter.value <- Counter.value + 1; Counter.value.ToString() - - let x = Array.init 3 (fun i -> new Counter()); - check "vklnvwer0" [ x.[0].ToStringMember(); x.[0].ToStringMember(); x.[0].ToStringMember() ] ["1"; "2"; "3"] - - - - -module InterfaceExtendsSystemIComparable_Bug4919 = - open System.Collections - open System.Collections.Generic - - exception EmptyQueue - - type Queue<'a> = - inherit IEnumerable<'a> - inherit IEnumerable - inherit System.IEquatable> - inherit System.IComparable - abstract IsEmpty : bool - abstract PushBack : 'a -> Queue<'a> - abstract PopFront : unit -> 'a * Queue<'a> - - let private queueEnumerator (q: Queue<_>) = - let decap (q: Queue<_>) = if q.IsEmpty then None else Some(q.PopFront()) - (Seq.unfold decap q).GetEnumerator() - - module BatchedQueue = - let rec private mk(f, r) = - let mk = function - | [], r -> mk(List.rev r, []) - | q -> mk q - { new Queue<'a> with - override q.IsEmpty = - match f with - | [] -> true - | _ -> false - - override q.PushBack x = - mk(f, x::r) - - override q.PopFront() = - match f with - | x::f -> x, mk(f, r) - | [] -> raise EmptyQueue - - override q.GetEnumerator() = - ((q: Queue<'a>).GetEnumerator() :> IEnumerator) - - override q.GetEnumerator() : IEnumerator<'a> = - queueEnumerator q - - override q1.Equals(q2: Queue<'a>) = - List.ofSeq q1 = List.ofSeq q2 - - override q1.CompareTo(q2: obj) = - let q2 = unbox> q2 - Seq.compareWith compare q1 q2 - } - - let empty<'a when 'a : equality and 'a : comparison> = mk<'a>([], []) - - let add (q: Queue<_>) x = q.PushBack x - - let take (q: Queue<_>) = q.PopFront() - - let time f x = - let t = System.Diagnostics.Stopwatch.StartNew() - try f x finally - printf "Took %dms\n" t.ElapsedMilliseconds - - let _ = - time (Seq.length << Seq.fold BatchedQueue.add BatchedQueue.empty) (seq {1 .. 100}) - |> printf "Queue length %d\n" - -module AllowExtensionsWithinARecursiveGroup = begin - type System.Object with - member x.Name = "a" - - and System.String with - member x.Freddy = "b" - - and C with - member x.FreddyAndName = let a,b = x.NameAndFreddy in b,a - - and C(s:string) = - member x.NameAndFreddy = s.Name, s.Freddy - -end - - - -module PreferOverloadsUsingSystemFunc = begin - - type Foo() = - static member Method(x:System.Action) = 1 - static member Method(x:System.Func<'T>) = 2 - - Foo.Method(fun _ -> ()) // expect return result 2 -end - - -module AllowNullLiteralTest = begin - - [] - type I = - interface - abstract P : int - end - - let i = (null : I) - - let i2 = ((box null) :?> I) - - - [] - type C() = - member x.P = 1 - - let c = (null : C) - - let c2 = ((box null) :?> C) - - - [] - type D() = - inherit C() - interface I with - member x.P = 2 - member x.P = 1 - - let d = (null : D) - - let d2 = ((box null) :?> D) - -end - -module UnionConstructorsAsFirstClassValues = begin - type A = - | A of int * int - - let x = (1, 1) - let y = (A) x // OK - let z = A x // expect this to be ok -end - - -module ExtensionMemberTests = - module Set1 = - type System.DateTime with - static member Prop1 = (1,1) - - type System.DateTime with - static member Meth1(s:string) = (1,2) - - type System.DateTime with - static member Meth2(s:string) = (1,2) - - type System.DateTime with - member x.InstanceProp1 = (1,1) - - type System.DateTime with - member x.InstanceMeth1(s:string) = (1,2) - - type System.DateTime with - member x.InstanceMeth2(s:string) = (1,2) - - - module Set2 = - type System.DateTime with - static member Prop1 = (2,2) - - type System.DateTime with - static member Meth1(s:string) = (2,1) - - type System.DateTime with - static member Meth2(s:obj) = (2,1) - - type System.DateTime with - member x.InstanceProp1 = (2,2) - - type System.DateTime with - member x.InstanceMeth1(s:string) = (2,1) - - type System.DateTime with - member x.InstanceMeth2(s:obj) = (2,1) - - // overloaded indexed extension properties - module Set3A = - type A() = - member m.Item with get(a: string) = "Item(string)" - member m.Item with set(a: string) (value:string) = failwith "Setting Item(string) string" - member m.Item with set(a: bool) (value:string) = failwith "Setting Item(bool) string" - - member m.Prop with get(a: string, b:string) = "Prop(string, string)" - member m.Prop with set(a: string, b: string) (value:string) = failwith "Setting Prop(string, string) string" - member m.Prop with set(a: string, b: bool) (value:string) = failwith "Setting Prop(string, bool) string" - - member m.Plain with get() = "Intrinsic plain" - member m.Plain with set(a:string) = failwith "Setting intrinsic plain" - - member m.NonIndexed with get() = "Intrinsic nonindexed" - - member m.Indexed with get(a: string) = "Intrinsic indexed" - - - module Set3B = - type Set3A.A with - member m.Item with get(a: bool) = "Item(bool)" - member m.Item with set(a: bool) (value: bool) = failwith "Setting Item(bool) bool" - member m.Item with set(a: string) (value: bool) = failwith "Setting Item(string) bool" - - member m.Prop with get(a: string, b:bool) = "Prop(string, bool)" - member m.Prop with set(a: string, b:bool) (value: bool) = failwith "Setting Prop(string, bool) bool" - member m.Prop with set(a: string, b:string) (value: bool) = failwith "Setting Prop(string, string) bool" - - member m.Plain with get() = "Extension plain" - member m.Plain with set(a:string) = failwith "Setting extension plain" - - member m.NonIndexed with get(a: bool) = "Extension nonindexed" - - member m.Indexed with get() = "Extension indexed" - - member m.ExtensionOnly with get(a: bool) = "ExtensionOnly(bool)" - - type System.Net.WebHeaderCollection with - member m.Item with get(a : bool) = "ExtensionGet" - - module Tests1 = - open Set1 - open Set2 - check "fewnr-0vrwep0" System.DateTime.Prop1 (2,2) - check "fewnr-0vrwep1" (System.DateTime.Meth1("a")) (2,1) - check "fewnr-0vrwep2" (System.DateTime.Meth2("a")) (1,2) // Set1 always preferred due to more precise type - - check "fewnr-0vrwep0" System.DateTime.Now.InstanceProp1 (2,2) - check "fewnr-0vrwep1" (System.DateTime.Now.InstanceMeth1("a")) (2,1) - check "fewnr-0vrwep2" (System.DateTime.Now.InstanceMeth2("a")) (1,2) // Set1 always preferred due to more precise type - - module Tests2 = - open Set2 - open Set1 - check "fewnr-0vrwep3" System.DateTime.Now.InstanceProp1 (1,1) - check "fewnr-0vrwep4" (System.DateTime.Now.InstanceMeth1("a")) (1,2) - check "fewnr-0vrwep5" (System.DateTime.Now.InstanceMeth2("a")) (1,2) // Set1 always preferred due to more precise type - - module Tests3 = - open Set3A - open Set3B - - let checkSet testName (f : unit -> unit) expected = - let result = - let mutable res = "" - try f() with | e -> res <- e.Message - res - - check testName result expected - - let foo = A() - - // getters - check "ExtensionProps 0" (foo.[""]) "Item(string)" - check "ExtensionProps 1" (foo.[true]) "Item(bool)" - - check "ExtensionProps 2" (foo.Prop("", "")) "Prop(string, string)" - check "ExtensionProps 3" (foo.Prop("", true)) "Prop(string, bool)" - - // in case of exact duplicate, per spec intrinsic should be preferred - check "ExtensionProps 4" (foo.Plain) "Intrinsic plain" - - check "ExtensionProps 5" (foo.NonIndexed) "Intrinsic nonindexed" - // not expected to work: check "ExtensionProps 6" (foo.NonIndexed(true)) "Extension nonindexed" - - check "ExtensionProps 7" (foo.Indexed("")) "Intrinsic indexed" - // not expected to work: check "ExtensionProps 8" (foo.Indexed) "Extension indexed" - - check "ExtensionProps 9" (System.Net.WebHeaderCollection().[true]) "ExtensionGet" - - // setters - checkSet "ExtensionProps 10" (fun () -> foo.[""] <- "") "Setting Item(string) string" - checkSet "ExtensionProps 11" (fun () -> foo.[true] <- "") "Setting Item(bool) string" - checkSet "ExtensionProps 13" (fun () -> foo.[true] <- true) "Setting Item(bool) bool" - checkSet "ExtensionProps 14" (fun () -> foo.[""] <- true) "Setting Item(string) bool" - - checkSet "ExtensionProps 16" (fun () -> foo.Prop("", "") <- "") "Setting Prop(string, string) string" - checkSet "ExtensionProps 17" (fun () -> foo.Prop("", true) <- "") "Setting Prop(string, bool) string" - checkSet "ExtensionProps 19" (fun () -> foo.Prop("", true) <- true) "Setting Prop(string, bool) bool" - checkSet "ExtensionProps 20" (fun () -> foo.Prop("", "") <- true) "Setting Prop(string, string) bool" - - checkSet "ExtensionProps 22" (fun () -> foo.Plain <- "") "Setting intrinsic plain" - -module AccessThisAsPartOfSUperClassConstruction1 = - open System - type Z(x : obj) = class end - - type X() as Y = - class - inherit Z(Y.x) - do - () - [] - val mutable x : int - end - - -module AccessThisAsPartOfSUperClassConstruction2 = - - module Test1 = - open System - type Z(x : obj) = class end - - type X() as Y = - class - inherit Z(Y.x) - do - () - [] - val mutable x : int - end - - - - module Test2 = - open System - type Z(x : obj) = class end - - type X() as Y = - class - inherit Z(Y.x) - do - () - [] - val mutable x : int - - member self.ThisPtr = Y - end - - module Test3 = - open System - type Z(x : obj) = class end - - type X() as Y = - class - inherit Z(Y.x) - let getThis () = Y - do - () - [] - val mutable x : int - - member self.ThisPtr = getThis() - end - - module Test4 = - open System - type Z(x : obj) = class end - - type X() as Y = - class - inherit Z(Y.x) - let ths = Y - do - () - [] - val mutable x : int - - member self.ThisPtr = ths - end - - - - - module GenericTest1 = - open System - type Z(x : obj) = class end - - type X<'T>() as Y = - class - inherit Z(Y.x) - do - () - [] - val mutable x : int - end - - - - module GenericTest2 = - open System - type Z(x : obj) = class end - - type X<'T>() as Y = - class - inherit Z(Y.x) - do - () - [] - val mutable x : int - - member self.ThisPtr = Y - end - - module GenericTest3 = - open System - type Z(x : obj) = class end - - type X<'T>() as Y = - class - inherit Z(Y.x) - let getThis () = Y - do - () - [] - val mutable x : int - - member self.ThisPtr = getThis() - end - - module GenericTest4 = - open System - type Z(x : obj) = class end - - type X<'T>() as Y = - class - inherit Z(Y.x) - let ths = Y - do - () - [] - val mutable x : int - - member self.ThisPtr = ths - end - - -module AccessThisAsPartOfSUperClassConstruction3 = - - type B(obj:obj) = - member x.P = 1 - - type C1() as a = - inherit B((fun () -> a)) // captures 'this' as part of call to super class constructor - member x.P = 1 - - type C2() as a = - inherit B((fun () -> a)) // captures 'this' as part of call to super class constructor - member x.P = a // and captures it in a method - - -module EqualityComparisonPositiveTests = - - - module StructDefaultConstructorCantBeUsed = - - [] - type U1(v:int) = - member x.P = v - - let v1 = U1() // can be used - expect no error - - - module BasicExample1 = - let f1 (x : list) = (x = x) // expect ok - let f2 (x : option) = (x = x) // expect ok - let f3 (x : Choice) = (x = x) // expect ok - let f4 (x : Choice) = (x = x) // expect ok - let f5 (x : Choice) = (x = x) // expect ok - let f6 (x : Choice) = (x = x) // expect ok - let f7 (x : Choice) = (x = x) // expect ok - let f8 (x : Choice) = (x = x) // expect ok - let f9 (x : ref) = (x = x) // expect ok - let fq (x : Set) = (x = x) // expect ok - let fw (x : Map) = (x = x) // expect ok - - let fe (x : list) = (x = x) // expect ok - let fr (x : option) = (x = x) // expect ok - let ft (x : Choice) = (x = x) // expect ok - let fy (x : Choice) = (x = x) // expect ok - let fu (x : Choice) = (x = x) // expect ok - let fi (x : Choice) = (x = x) // expect ok - let fo (x : Choice) = (x = x) // expect ok - let fp (x : Choice) = (x = x) // expect ok - let fa (x : ref) = (x = x) // expect ok - - - let fn (x : Set>) = () // expect ok - let fm (x : Set>) = () // expect ok - let fQ (x : Set>) = () // expect ok - let fW (x : Set>) = () // expect ok - let fE (x : Set>) = () // expect ok - let fO (x : Set) = () // expect ok - let fP (x : Set) = () // expect ok - let fA (x : Set) = () // expect ok - let fS (x : Set) = () // expect ok - let fD (x : Set) = () // expect ok - let fF (x : Set) = () // expect ok - let fG (x : Set) = () // expect ok - let fH (x : Set) = () // expect ok - let fJ (x : Set) = () // expect ok - let fK (x : Set) = () // expect ok - - type R<'T> = R of 'T * R<'T> - let r1 (x : Set>) = () // expect ok - let r3 (x : R) = (x = x) // expect ok - let r4 (x : R) = (x = x) // expect ok - - //type R2<'T> = | R2 : 'T * R2<'T> -> R2<'T> - //let q1 (x : Set>) = () // expect ok - //let q3 (x : R2) = (x = x) // expect ok - //let q4 (x : R2) = (x = x) // expect ok - - module Example1 = - type X<'T> = X of 'T - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - let f3 (x : X>) = (x = x) // expect ok - let f5 (x : X>) = (x = x) // expect ok - - module Example1_Record = - type X<'T> = { r : 'T } - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - let f3 (x : X>) = (x = x) // expect ok - let f5 (x : X>) = (x = x) // expect ok - - module Example1_Struct = - type X<'T> = struct val r : 'T end - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - let f3 (x : X>) = (x = x) // expect ok - let f5 (x : X>) = (x = x) // expect ok - - module Example1_StructImplicit = - [] - type X<[] 'T>(r:'T) = struct member x.R = r end - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - let f3 (x : X>) = (x = x) // expect ok - let f5 (x : X>) = (x = x) // expect ok - - module Example1_StructImplicit2 = - [] - type X<[] 'T>(r:'T) = struct member x.R = r end - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - let f3 (x : X>) = (x = x) // expect ok - let f5 (x : X>) = (x = x) // expect ok - - module Example2 = - type X<'T> = X of list<'T> - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - - let f4 (x : X>) = (x = x) // expect ok - let f6 (x : X>) = (x = x) // expect ok - - - module Example3 = - type X<'T> = X of Y<'T> - and Y<'T> = Y of 'T - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - - let f4 (x : X>) = (x = x) // expect ok - let f6 (x : X>) = (x = x) // expect ok - - module Example4 = - type X<'T> = X of Y<'T> - and Y<'T> = Y of 'T * X<'T> - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - - let f4 (x : X>) = (x = x) // expect ok - let f6 (x : X>) = (x = x) // expect ok - - let g0 (x : Set>) = () // expect ok - let g1 (x : Set>) = () // expect ok - - let g4 (x : Y>) = (x = x) // expect ok - let g6 (x : Y>) = (x = x) // expect ok - - module Example5 = - type X<'T> = X of Y<'T> - and Y<'T> = Y of int - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - let f2 (x : Set>) = () // expect ok - let f3 (x : Set>>) = () // expect ok - - let f4 (x : X>) = (x = x) // expect ok - let f5 (x : X int>) = (x = x) // expect ok - let f6 (x : X>) = (x = x) // expect ok - let f7 (x : X int>>) = (x = x) // expect ok - - let g0 (x : Set>) = () // expect ok - let g1 (x : Set>) = () // expect ok - let g2 (x : Set>) = () // expect ok - let g3 (x : Set>>) = () // expect ok - - let g4 (x : Y>) = (x = x) // expect ok - let g5 (x : Y int>) = (x = x) // expect ok - let g6 (x : Y>) = (x = x) // expect ok - let g7 (x : Y int>>) = (x = x) // expect ok - - module Example6 = - type X<'T> = X of Y - and Y<'T,'U> = Y of 'T * X<'T> - - let f0 (x : Set>) = () // expect ok - let f1 (x : Set>) = () // expect ok - let f2 (x : Set>) = () // expect ok - let f3 (x : Set>>) = () // expect ok - - let f4 (x : X>) = (x = x) // expect ok - let f5 (x : X int>) = (x = x) // expect ok - let f6 (x : X>) = (x = x) // expect ok - let f7 (x : X int>>) = (x = x) // expect ok - - let g0 (x : Set>) = () // expect ok - let g1 (x : Set>) = () // expect ok - - let g4 (x : Y,int>) = (x = x) // expect ok - let g6 (x : Y, int>) = (x = x) // expect ok - - - let g8 (x : Y>) = (x = x) // expect ok - let g9 (x : Y int)>) = (x = x) // expect ok - let g10 (x : Y>) = (x = x) // expect ok - let g11 (x : Y int)>>) = (x = x) // expect ok - - module Example7 = - // a type inferred to be without equality or comparison - type X = X of (int -> int) - // a type transitively inferred to be without equality or comparison - type Y = Y of X - - - module Example8 = - // a type inferred to be without comparison - type X = X of System.Type - // a type transitively inferred to be without comparison - type Y = Y of X - - let f2 (x : X) = (x = x) // expect ok - let f3 (x : Y) = (x = x) // expect ok - - -module RuntimeCheckForSelfCallThroughProperty1 = begin - [] - type Base(callIt:bool) as self = - do if callIt then printfn "P = %d" self.P // expect an exception here - abstract P: int - - type C(callIt:bool) = - inherit Base(callIt) - let x = 1 - override __.P = x - - check "cewlkcnc332a" (try C(true) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "fail" - check "cewlkcnc332b" (try C(false) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "ok" -end - -module RuntimeCheckForSelfCallThroughSetterProperty1 = begin - [] - type Base(callIt:bool) as self = - do if callIt then self.P <- 1 // expect an exception here - abstract P: int with set - - type C(callIt:bool) = - inherit Base(callIt) - let x = 1 - override __.P with set v = () - - check "cewlkcnc332c" (try C(true) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "fail" - check "cewlkcnc332d" (try C(false) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "ok" -end - -module RuntimeCheckForSelfCallThroughInterfaceSetterProperty1 = begin - - type I = - abstract P: int with set - - type Base(callIt:bool) as self = - do if callIt then (box self :?> I).P <- 1 // expect an exception here - - type C(callIt:bool) = - inherit Base(callIt) - let x = 1 - interface I with - member __.P with set v = () - - check "cewlkcnc332y" (try C(true) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "fail" - check "cewlkcnc332t" (try C(false) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "ok" -end - - -module RuntimeCheckForSelfCallThroughProperty1ExplicitClass = begin - [] - type Base = - new (callIt: bool) as self = - { } - then - if callIt then printfn "P = %d" self.P // expect an exception here - - abstract P: int - - type C = - inherit Base - val x : int - new (callIt: bool) as self = { inherit Base(callIt); x = 1 } - override __.P = x - - check "explicit-cewlkcnc332a" (try C(true) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "fail" - check "explicit-cewlkcnc332b" (try C(false) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "ok" -end - -module RuntimeCheckForSelfCallThroughSetterProperty1ExplicitClass = begin - [] - type Base = - new (callIt: bool) as self = - { } - then - if callIt then self.P <- 1 // expect an exception here - abstract P: int with set - - type C = - inherit Base - val x : int - new (callIt: bool) as self = { inherit Base(callIt); x = 1 } - override __.P with set v = () - - check "explicit-cewlkcnc332c" (try C(true) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "fail" - check "explicit-cewlkcnc332d" (try C(false) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "ok" -end - -module RuntimeCheckForSelfCallThroughInterfaceSetterProperty1ExplicitClass = begin - - type I = - abstract P: int with set - - type Base = - new (callIt: bool) as self = - { } - then - if callIt then (box self :?> I).P <- 1 // expect an exception here - - - type C = - inherit Base - val x : int - new (callIt: bool) as self = { inherit Base(callIt); x = 1 } - interface I with - member __.P with set v = () - - check "explicit-cewlkcnc332y" (try C(true) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "fail" - check "explicit-cewlkcnc332t" (try C(false) |> ignore; "ok" with :? System.InvalidOperationException -> "fail") "ok" -end - -module PartiallyReimplementInheritedInterfaces = begin - //--------------------------------------------------- - // Basic test 1 - - module BasicTest1 = - type public I1 = - abstract V1 : string - - type public I2 = - inherit I1 - abstract V2 : string - - type public C1() = - interface I1 with - member this.V1 = "C1" - - type public C2() = - inherit C1() - interface I2 with - member this.V2 = "C2" - - type public C3() = - inherit C1() - interface I2 with - member this.V1 = "C1b" - member this.V2 = "C2b" - - check "8kvnvwe0-we1" (C2() :> I2).V2 "C2" - check "8kvnvwe0-we2" (C2() :> I1).V1 "C1" - check "8kvnvwe0-we3" (C3() :> I1).V1 "C1b" - - //--------------------------------------------------- - // Basic test 3 - IEnumerable --> IEnumerable - - - module InheritIEnumerableTest1 = - open System.Collections - open System.Collections.Generic - type BaseCollection() = - override __.GetHashCode() = 0 - override __.Equals(yobj) = true - interface System.Collections.IEnumerator with - member __.Reset() = () - member __.Current = box 1 - member __.MoveNext() = true - - type DerivedCollection() = - inherit BaseCollection() - interface System.Collections.Generic.IEnumerator with - member __.Reset() = () - member __.Current = 2 - member __.Current = box 2 - member __.Dispose() = () - member __.MoveNext() = false - - - type ReDerivedCollection1() = - inherit DerivedCollection() - interface System.Collections.Generic.IEnumerator - - type ReDerivedCollection2() = - inherit DerivedCollection() - interface System.Collections.IEnumerator - - type ReDerivedCollection3() = - inherit DerivedCollection() - interface System.IDisposable - interface System.Collections.IEnumerator - - type ReDerivedCollection4() = - inherit DerivedCollection() - interface System.IDisposable - - - check "8kvnvwe0-we4" (new DerivedCollection() :> IEnumerator).Current 2 - check "8kvnvwe0-we5" ((new DerivedCollection() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-we6" (new DerivedCollection() :> IEnumerator).Current (box 2) - check "8kvnvwe0-we7" ((new DerivedCollection() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-we8" (new ReDerivedCollection1() :> IEnumerator).Current 2 - check "8kvnvwe0-we9" ((new ReDerivedCollection1() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-weq" (new ReDerivedCollection2() :> IEnumerator).Current 2 - check "8kvnvwe0-wew" ((new ReDerivedCollection2() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wee" (new ReDerivedCollection3() :> IEnumerator).Current 2 - check "8kvnvwe0-wer" ((new ReDerivedCollection3() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wet" (new BaseCollection() :> IEnumerator).Current (box 1) - check "8kvnvwe0-wey" ((new BaseCollection() :> IEnumerator).MoveNext()) true - - module InheritIEnumerableTest2 = - open System.Collections - open System.Collections.Generic - type BaseCollection() = - override __.GetHashCode() = 0 - override __.Equals(yobj) = true - interface System.Collections.IEnumerator with - member __.Reset() = () - member __.Current = box 1 - member __.MoveNext() = true - - type DerivedCollection() = - inherit BaseCollection() - interface System.Collections.Generic.IEnumerator with - // Emit one or more members to inherit implementations of some of the interfaces - //member __.Reset() = () - member __.Current = 2 - member __.Current = box 2 - member __.Dispose() = () - member __.MoveNext() = false - - type ReDerivedCollection1() = - inherit DerivedCollection() - interface System.Collections.Generic.IEnumerator - - type ReDerivedCollection2() = - inherit DerivedCollection() - interface System.Collections.IEnumerator - - type ReDerivedCollection3() = - inherit DerivedCollection() - interface System.IDisposable - interface System.Collections.IEnumerator - - type ReDerivedCollection4() = - inherit DerivedCollection() - interface System.IDisposable - - check "8kvnvwe0-weu" (new DerivedCollection() :> IEnumerator).Current 2 - check "8kvnvwe0-wei" ((new DerivedCollection() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-weo" (new DerivedCollection() :> IEnumerator).Current (box 2) - check "8kvnvwe0-wep" ((new DerivedCollection() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wea" (new ReDerivedCollection1() :> IEnumerator).Current 2 - check "8kvnvwe0-wes" ((new ReDerivedCollection1() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wed" (new ReDerivedCollection2() :> IEnumerator).Current 2 - check "8kvnvwe0-wef" ((new ReDerivedCollection2() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-weg" (new ReDerivedCollection3() :> IEnumerator).Current 2 - check "8kvnvwe0-weh" ((new ReDerivedCollection3() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wej" (new BaseCollection() :> IEnumerator).Current (box 1) - check "8kvnvwe0-wek" ((new BaseCollection() :> IEnumerator).MoveNext()) true - - module InheritIEnumerableTest3 = - open System.Collections - open System.Collections.Generic - type BaseCollection() = - override __.GetHashCode() = 0 - override __.Equals(yobj) = true - interface System.Collections.IEnumerator with - member __.Reset() = () - member __.Current = box 1 - member __.MoveNext() = true - - type DerivedCollection() = - inherit BaseCollection() - interface System.Collections.Generic.IEnumerator with - // Emit one or more members to inherit implementations of some of the interfaces - //member __.Reset() = () - member __.Current = 2 - //member __.Current = box 1 - member __.Dispose() = () - member __.MoveNext() = false - - type ReDerivedCollection1() = - inherit DerivedCollection() - interface System.Collections.Generic.IEnumerator - - type ReDerivedCollection2() = - inherit DerivedCollection() - interface System.Collections.IEnumerator - - type ReDerivedCollection3() = - inherit DerivedCollection() - interface System.IDisposable - interface System.Collections.IEnumerator - - type ReDerivedCollection4() = - inherit DerivedCollection() - interface System.IDisposable - - check "8kvnvwe0-wel" (new DerivedCollection() :> IEnumerator).Current 2 - check "8kvnvwe0-wez" ((new DerivedCollection() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wex" (new DerivedCollection() :> IEnumerator).Current (box 1) - check "8kvnvwe0-wec" ((new DerivedCollection() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wev" (new ReDerivedCollection1() :> IEnumerator).Current 2 - check "8kvnvwe0-web" ((new ReDerivedCollection1() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-wen" (new ReDerivedCollection2() :> IEnumerator).Current 2 - check "8kvnvwe0-wem" ((new ReDerivedCollection2() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-weQ" (new ReDerivedCollection3() :> IEnumerator).Current 2 - check "8kvnvwe0-weW" ((new ReDerivedCollection3() :> IEnumerator).MoveNext()) false - check "8kvnvwe0-weE" (new BaseCollection() :> IEnumerator).Current (box 1) - check "8kvnvwe0-weR" ((new BaseCollection() :> IEnumerator).MoveNext()) true - - module InheritIEnumerableTest4 = - open System.Collections - open System.Collections.Generic - type BaseCollection() = - override __.GetHashCode() = 0 - override __.Equals(yobj) = true - interface System.Collections.IEnumerator with - member __.Reset() = () - member __.Current = box 1 - member __.MoveNext() = true - - type DerivedCollection() = - inherit BaseCollection() - interface System.Collections.Generic.IEnumerator with - // Emit one or more members to inherit implementations of some of the interfaces - //member __.Reset() = () - member __.Current = 2 - //member __.Current = box 1 - member __.Dispose() = () - //member __.MoveNext() = true - - type ReDerivedCollection1() = - inherit DerivedCollection() - interface System.Collections.Generic.IEnumerator - - type ReDerivedCollection2() = - inherit DerivedCollection() - interface System.Collections.IEnumerator - - type ReDerivedCollection3() = - inherit DerivedCollection() - interface System.IDisposable - interface System.Collections.IEnumerator - - type ReDerivedCollection4() = - inherit DerivedCollection() - interface System.IDisposable - - - check "8kvnvwe0-weT" (new DerivedCollection() :> IEnumerator).Current 2 - check "8kvnvwe0-weY" ((new DerivedCollection() :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weU" (new DerivedCollection() :> IEnumerator).Current (box 1) - check "8kvnvwe0-weI" ((new DerivedCollection() :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weO" (new ReDerivedCollection1() :> IEnumerator).Current 2 - check "8kvnvwe0-weP" ((new ReDerivedCollection1() :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weA" (new ReDerivedCollection2() :> IEnumerator).Current 2 - check "8kvnvwe0-weS" ((new ReDerivedCollection2() :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weD" (new ReDerivedCollection3() :> IEnumerator).Current 2 - check "8kvnvwe0-weF" ((new ReDerivedCollection3() :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weG" (new BaseCollection() :> IEnumerator).Current (box 1) - check "8kvnvwe0-weH" ((new BaseCollection() :> IEnumerator).MoveNext()) true - - // Add some generics - module InheritIEnumerableTest5 = - open System.Collections - open System.Collections.Generic - type BaseCollection<'T>(x:'T) = - override __.GetHashCode() = 0 - override __.Equals(yobj) = true - interface System.Collections.IEnumerator with - member __.Reset() = () - member __.Current = box x - member __.MoveNext() = true - - type DerivedCollection<'U>(x:'U) = - inherit BaseCollection<'U>(x) - interface System.Collections.Generic.IEnumerator<'U> with - // Emit one or more members to inherit implementations of some of the interfaces - //member __.Reset() = () - member __.Current = x - //member __.Current = box 1 - member __.Dispose() = () - //member __.MoveNext() = true - - type ReDerivedCollection1() = - inherit DerivedCollection(3) - interface System.Collections.Generic.IEnumerator - - type ReDerivedCollection2() = - inherit DerivedCollection("4") - interface System.Collections.IEnumerator - - type ReDerivedCollection3() = - inherit DerivedCollection(3u) - interface System.IDisposable - interface System.Collections.IEnumerator - - type ReDerivedCollection4<'T>(x:'T) = - inherit DerivedCollection<'T>(x) - interface System.IDisposable - - - check "8kvnvwe0-weJ" (new DerivedCollection(2) :> IEnumerator).Current 2 - check "8kvnvwe0-weK" ((new DerivedCollection(2) :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weL" (new DerivedCollection(1) :> IEnumerator).Current (box 1) - check "8kvnvwe0-weZ" ((new DerivedCollection(1) :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weX" (new ReDerivedCollection1() :> IEnumerator).Current 3 - check "8kvnvwe0-weC" ((new ReDerivedCollection1() :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weV" (new ReDerivedCollection2() :> IEnumerator).Current "4" - check "8kvnvwe0-weB" ((new ReDerivedCollection2() :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weN" (new ReDerivedCollection3() :> IEnumerator).Current 3u - check "8kvnvwe0-weM" ((new ReDerivedCollection3() :> IEnumerator).MoveNext()) true - check "8kvnvwe1-weq" (new BaseCollection(1) :> IEnumerator).Current (box 1) - check "8kvnvwe1-wWw" ((new BaseCollection(1) :> IEnumerator).MoveNext()) true - - // Add some units of measure - module InheritIEnumerableTest6 = - [] type kg - - type BaseCollection<'T>(x:'T) = - override __.GetHashCode() = 0 - override __.Equals(yobj) = true - interface System.Collections.IEnumerator with - member __.Reset() = () - member __.Current = box x - member __.MoveNext() = true - - type DerivedCollection<'U>(x:'U) = - inherit BaseCollection<'U>(x) - interface System.Collections.Generic.IEnumerator<'U> with - // Emit one or more members to inherit implementations of some of the interfaces - //member __.Reset() = () - member __.Current = x - //member __.Current = box 1 - member __.Dispose() = () - //member __.MoveNext() = true - - type ReDerivedCollection1() = - inherit DerivedCollection>(3) - interface System.Collections.Generic.IEnumerator> - - type ReDerivedCollection2() = - inherit DerivedCollection>(4.0) - interface System.Collections.IEnumerator - - type ReDerivedCollection3() = - inherit DerivedCollection>(3L) - interface System.IDisposable - interface System.Collections.IEnumerator - - type ReDerivedCollection4<'T>(x:'T) = - inherit DerivedCollection<'T>(x) - interface System.IDisposable - - type ReDerivedCollection5<'T>(x:'T) = - inherit ReDerivedCollection3() - interface System.IDisposable - interface System.Collections.Generic.IEnumerator> - - - check "8kvnvwe0-weJ" (new DerivedCollection(2) :> IEnumerator).Current 2 - check "8kvnvwe0-weK" ((new DerivedCollection(2) :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weL" (new DerivedCollection(1) :> IEnumerator).Current (box 1) - check "8kvnvwe0-weZ" ((new DerivedCollection(1) :> IEnumerator).MoveNext()) true - check "8kvnvwe0-weX" (new ReDerivedCollection1() :> IEnumerator>).Current 3 - check "8kvnvwe0-weC" ((new ReDerivedCollection1() :> IEnumerator>).MoveNext()) true - check "8kvnvwe0-weV" (new ReDerivedCollection2() :> IEnumerator>).Current 4.0 - check "8kvnvwe0-weB" ((new ReDerivedCollection2() :> IEnumerator>).MoveNext()) true - check "8kvnvwe0-weN" (new ReDerivedCollection3() :> IEnumerator>).Current 3L - check "8kvnvwe0-weM" ((new ReDerivedCollection3() :> IEnumerator>).MoveNext()) true - check "8kvnvwe1-weq" (new BaseCollection(1) :> IEnumerator).Current (box 1) - check "8kvnvwe1-wWw" ((new BaseCollection(1) :> IEnumerator).MoveNext()) true - -end - -module ClassWithInheritAndImmediateReferenceToThisInLet = - type B() = - member __.P = 1 - - let id x = x - - type C() as x = - inherit B() - let y = id x // it is ok to access the this pointer and pass it to external code as long as it doesn't call any members - member __.ThisPointer1 = x - member __.ThisPointer2 = y - - - let checkA() = - let c = C() - check "cwknecw021" c.ThisPointer1 c.ThisPointer2 - -module ClassWithNoInheritAndImmediateReferenceToThisInLet = - type C() as x = - let y = id x // it is ok to access the this pointer and pass it to external code as long as it doesn't call any members - member __.ThisPointer1 = x - member __.ThisPointer2 = y - - - let checkB() = - let c = C() - check "cwknecw021b" c.ThisPointer1 c.ThisPointer2 - - -module CheckResolutionOrderForMembers1 = - type System.String with - static member M1 () = 1 - static member M1 (?s : string) = 2 - let a = System.String.M1() - check "vew98vrknj1" a 1 - -module CheckResolutionOrderForMembers2 = - type System.String with - static member M1 (?s : string) = 2 - static member M1 () = 1 - - let b = System.String.M1() - - check "vew98vrknj2" b 1 - -module CheckResolutionOrderForMembers3 = - type C = - static member M1 () = 1 - static member M1 (?s : string) = 2 - - let a1 = C.M1() - let a2 = C.M1("2") - check "vew98vrknj3" a1 1 - check "vew98vrknj3" a2 2 - +module StaticInitializerTest3 = -module CheckUsesOfNonOverloadMembersAssertReturnTypeBeforeCheckingArgs = + let x = ref 2 + do x := 3 type C() = - static member M(x:int) = 0 - static member M(x:string) = 1 - - member __.N(x:int) = 0 - member __.N(x:string) = 1 - - let test (x:int) = 1 - type D() = - static member Test (x:int) = 1 - - - // In this case, the overload C.M resolves, because the return type of - // loopX is known, from the return type of test. - - let rec loopX() = test (C.M(loopX())) - - // In this case, the overload C.M resolves, because the return type of - // loopY is known, from the return type of test. - - let rec loopY() = D.Test (C.M(loopY())) - - // Instance member versions of the same - let c = C() - let rec loopX1() = test (c.N(loopX1())) - let rec loopY1() = D.Test (c.N(loopY1())) - - -// Believe it or not, this caused the type checker to loop (bug 5803) -module BasicTypeCHeckingLoop = - - - type Vector() = - static member (+)(v1:Vector,v2) = 0 - - let foo (v1:Vector) v2 : int = v1 + v2 - -module CheckGeneralizationOfMembersInRecursiveGroupsWhichIncludeImplicitConstructors = - - open System.Collections - open System.Collections.Generic - - type IA<'T> = interface abstract M2 : int -> int end - - type X<'T>() = - let mutable redirectTo : X<'T> = Unchecked.defaultof<_> - - member x.M1() = if true then redirectTo else x - member x.M2() = if true then redirectTo else x - interface IA with - member x.M2 y = y - - - [] - type S<'T>(redirectTo : list>) = - - member x.M() = if true then redirectTo.[0] else x - - - module Issue3Minimal = - type MyDiscrUnion<'t> = - | MyCase of MyConstructedClass<'t> - - member this.M() = - match this with - | MyCase r -> r.Record - and MyConstructedClass<'t>( record : MyDiscrUnion<'t> ) = - member x.Record = record - - module Issue4 = - type MyDiscrUnion<'t> = - | MyCase of MyConstructedClass<'t> - member x.Value (t : 't) = - match x with - | MyCase r -> r.Apply t - and MyConstructedClass<'t>( foo : 't ) = - member x.Apply ( t: 't ) = t - - type ClassA<'t>(b: ClassB<'t>, c:'t) = - member x.A() = b.A() - and ClassB<'t>( a : ClassA<'t> ) = - member x.A() = a - -module CheckGeneralizationOfMembersInRecursiveGroupsWhichIncludeImplicitConstructorsPart2 = - - // This test raised a code generation assert - module DontGeneralizeTypeVariablesBoundByInnerPositions_1 = - type C() = - let someFuncValue = C.Meth2() // someFuncValue initially has variable type. This type is not generalized. - static member Meth2() = C.Meth2() - and C2() = - static member Meth1() = C.Meth2() - - // This test raised a code generation assert - module DontGeneralizeTypeVariablesBoundByInnerPositions_2 = - type C<'T>() = - let someFuncValue = C<'T>.Meth2() // someFuncValue initially has variable type. This type is not generalized. - static member Meth2() = C<'T>.Meth2() - and C2<'T>() = - static member Meth1() = C<'T>.Meth2() - - // This test is a trimmed down version of a regression triggered by this fix - module M0 = - type C<'T>(orig : 'T) = - [] - val mutable parent : C<'T> - let MyFind(x : C<'T>) = x.parent - member this.Find() = MyFind(this) - - // This test is a trimmed down version of a regression triggered by this fix - module M1 = - type C<'T>(orig : 'T) as this = - [] - val mutable parent : C<'T> - let MyFind(x : C<'T>) = x.parent - member this.Find() = MyFind(this) - - // This test is an adapted version of the above trim-down - module M2 = - type C<'T>(orig : 'T) as this = - [] - val mutable parent : C2<'T> - let MyFind(x : C<'T>) = (x.parent , x.parent.parent) - member this.Find() = MyFind(this) - and C2<'T>(orig : 'T) as this = - [] - val mutable parent : C<'T> - let MyFind(x : C2<'T>) = (x.parent , x.parent.parent) - member this.Find() = MyFind(this) - - // This test is an adapted version of the above trim-down - module M3 = - type C<'T>(orig : 'T) = - [] - val mutable parent : C2<'T> - let MyFind(x : C<'T>) = (x.parent , x.parent.parent) - member this.Find() = MyFind(this) - and C2<'T>(orig : 'T) = - [] - val mutable parent : C<'T> - let MyFind(x : C2<'T>) = (x.parent , x.parent.parent) - member this.Find() = MyFind(this) - - // These are variations on tests where a cycle of methods and "let" bindings across one or more test is an adapted version of the above trim-down - module RoundInCircles = - type C<'T>() as this = - let someFuncValue = (); (fun () -> - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this)) - let someFunc1() = - someFuncValue() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this) - let rec someFunc2() = - someFunc2() |> ignore; - someFunc1() - member this.Meth1() = someFunc2() - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this)) - - // Mutual recursion between two generic classes - module RoundInCircles2 = - type C<'T>() as this = - let someFuncValue = (); (fun () -> - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this)) - let someFunc1() = - someFuncValue() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this) - let rec someFunc2() = - someFunc2() |> ignore; - someFunc1() - member this.Meth1() = someFunc2() - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this)) - and C2<'T>(x:C<'T>) as this = - let someFuncValue = (); (fun () -> - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(x)) - let someFunc1() = - someFuncValue() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(x) - let rec someFunc2() = - someFunc2() |> ignore; - someFunc1() - member this.Meth1() = someFunc2() - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(x)) - - - // Mutual recursion between generic class and generic record type - module RoundInCircles3 = - type C<'T>() as this = - let someFuncValue = (); (fun () -> - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this)) - let someFunc1() = - someFuncValue() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this) - let rec someFunc2() = - someFunc2() |> ignore; - someFunc1() - member this.Meth1() = someFunc2() - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this)) - and C2<'T> = - { x:C<'T> } - member this.Meth1() = - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this.x) - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this.x)) - - // Mutual recursion between generic class and generic union type - module RoundInCircles4 = - type C<'T>() as this = - let someFuncValue = (); (fun () -> - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this)) - let someFunc1() = - someFuncValue() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this) - let rec someFunc2() = - someFunc2() |> ignore; - someFunc1() - member this.Meth1() = someFunc2() - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this)) - and C2<'T> = - | Parition2 of C<'T> - member this.Value = match this with Parition2 x -> x - member this.Meth1() = - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this.Value) - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this.Value)) - - // Mutual recursion between generic class and generic union type, slight variation passing 'this' explicitly - module RoundInCircles5 = - type C<'T>() = - let someFuncValue = (); (fun (this:C<'T>) -> - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this)) - let someFunc1 this = - someFuncValue this |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this) - let rec someFunc2 this = - someFunc2 this |> ignore; - someFunc1 this - member this.Meth1() = someFunc2 this - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this)) - and C2<'T> = - | Parition2 of C<'T> - member this.Value = match this with Parition2 x -> x - member this.Meth1() = - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this.Value) - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this.Value)) - - // Mutual recursion between generic class and generic struct - module RoundInCircles6 = - type C<'T>() as this = - let someFuncValue = (); (fun () -> - this.Prop1() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this)) - let someFunc1() = - someFuncValue() |> ignore - this.Meth1() |> ignore - C<'T>.Meth2(this) - let rec someFunc2() = - someFunc2() |> ignore; - someFunc1() - member this.Meth1() = someFunc2() - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = (); (fun () -> - this.Meth1() |> ignore - C<'T>.Meth2(this)) - and C2<'T>(x:C<'T>) = - struct - member this.Value = x - member this.Meth1() = x.Meth1() - static member Meth2(this:C<'T>) = this.Meth1() - member this.Prop1 = let v = this in (); (fun () -> - v.Meth1() |> ignore - C<'T>.Meth2(v.Value)) - end - -module CheckGeneralizationOfMembersInRecursiveGroupsWhichIncludeImplicitConstructorsAndStaticMembers = - - open System.Collections - open System.Collections.Generic - - type IA<'T> = interface abstract M2 : int -> int end - - type X<'T>() = - let mutable redirectTo : X<'T> = Unchecked.defaultof<_> - static let instance = X<'T>() - static member Instance = instance - member x.M1() = if true then redirectTo else x - member x.M2() = if true then redirectTo else x - interface IA with - member x.M2 y = y - - - [] - type S<'T>(redirectTo : list>) = - static let instance = S<'T>(List.empty>) - static member Instance = instance - member x.M() = if true then redirectTo.[0] else x - - - // This test raised a code generation assert - module DontGeneralizeTypeVariablesBoundByInnerPositions_2 = - type C<'T>() = - static let someStaticFuncValue = C<'T>.Meth2() - let someFuncValue = C<'T>.Meth2() // someFuncValue initially has variable type. This type is not generalized. - static member SomeStaticFuncValue = someStaticFuncValue - static member Meth2() = C<'T>.Meth2() - and C2<'T>() = - static member Meth1() = C<'T>.Meth2() - - module Misc = - - type Foo<'a>() = - static let theInstance = new Foo<'a>() - static member Instance = theInstance - - type Bar<'a,'b>() = - static let theInstance = new Bar<'a,'b>() - static member Instance = theInstance - - // Equi-recursive type defs - type Rec1<'a>() = - static let rec2Instance = new Rec2<'a>() - static let rec1Instance = new Rec1<'a>() - static member Rec2Instance = rec2Instance - static member Rec1Instance = rec1Instance - - and Rec2<'a>() = - static let rec1Instance = new Rec1<'a>() - static let rec2Instance = new Rec2<'a>() - static member Rec1Instance = rec1Instance - static member Rec2Instance = rec2Instance - - // recursive type defs - multi tyargs - type Rec1AB<'a,'b>() = - static let rec2Instance = new Rec2B<'a>() - static let rec1Instance = new Rec1AB<'a,'b>() - static member Rec2Instance = rec2Instance - static member Rec1Instance = rec1Instance - - and Rec2B<'a>() = - static let rec2Instance = new Rec2B<'a>() - static member Rec2Instance = rec2Instance - - // functions - type FooFunc<'a>() = - static let fact() = new FooFunc<'a>() - static member factory() = fact() + static let mutable v = x.Value + 1 + static do v <- 3 - // test methods - type FooFunc2<'a>() = - static let fact = new FooFunc2<'a>() - static member factory() = fact - - type BerFunc<'a,'b>() = - static let fact() = new BerFunc<'a,'b>() - static member factory() = fact() - - // Equi-recursive type defs - type Rec1Func<'a>() = - static let rec2Instance() = new Rec2Func<'a>() - static let rec1Instance() = new Rec1Func<'a>() - static member Rec2Instance() = rec2Instance() - static member Rec1Instance() = rec1Instance() - and Rec2Func<'a>() = - static let rec1Instance() = new Rec1Func<'a>() - static let rec2Instance() = new Rec2Func<'a>() - static member Rec1Instance() = rec1Instance() - static member Rec2Instance() = rec2Instance() - - // recursive type defs - multi tyargs - type Rec1ABFunc<'a,'b>() = - static let rec2Instance() = new Rec2BFunc<'a>() - static let rec1Instance() = new Rec1ABFunc<'a,'b>() - static member Rec2Instance() = rec2Instance() - static member Rec1Instance() = rec1Instance() - and Rec2BFunc<'a>() = - static let rec2Instance() = new Rec2BFunc<'a>() - static member Rec2Instance() = rec2Instance() - -module Devdiv2_Bug_41009 = - type Rope<'T> = - { x : int } - member x.Empty : Rope<_> = failwith "" // the type variable for "_" is ungeneralized because this is a property - member x.Create(lhs:Rope<'T>) : Rope<'T> = - x.Empty // here the type variable for "_" gets instantiated to 'T, but this gets generalized. This must not be considered an escaping variable - - -module Devdiv2_Bug_10649 = - - // This should compile, because it compiles with F# 2.0. A has been generalized too early, - // but all recursive uses of the member end up consistent with the final inferred type - module InstanceMembersEarlyGeneralizationPotentiallyInvalidButUltimatelyConsistent = - type C<'T>() = - let mutable x = Unchecked.defaultof<_> // this inference variable ultimately becomes 'obj' - member this.A() = x - member this.B1(c:C) = c.A() - member this.B2(c:C) = c.A() - - // This should compile, because it compiles with F# 2.0. A has been generalized too early, - // but all recursive uses of the member end up consistent with the final inferred type - module StaticMembersEarlyGeneralizationPotentiallyInvalidButUltimatelyConsistent = - type C<'T>() = - static let mutable x = Unchecked.defaultof<_> // this inference variable ultimately becomes 'obj' - static member A() = x - static member B1() = C.A() - static member B2() = C.A() - - // This should compile, because it early generalization is valid for A - module InstanceMembersEarlyGeneralizationValid = - type C<'T>() = - member this.A() = 1 - member this.B1(c:C) = c.A() - member this.B2(c:C) = c.A() - - // This should compile, because it early generalization is valid for A - module StaticMembersEarlyGeneralizationValid = - type C<'T>() = - static member A() = 1 - static member B1() = C.A() - static member B2() = C.A() - - -module Devdiv2_Bug_5385 = - let memoize (f: 'a -> 'b) = - let t = new System.Collections.Generic.Dictionary<'a, 'b>() - fun n -> - if t.ContainsKey(n) then - t.[n] - else - let res = f n - t.[n] <- res - res - - // In this variation, - // -- 'f' is generic even though it is in the same mutually recursive group as the computed function 'g', because although 'f' calls 'g', its type doesn't involve any type from 'g' - // -- 'g' is not generic since 'g' is computed - let test3e () = - let count = ref 0 - let rec f (x: 'T) = - incr count; - if !count > 4 then - 1 - else - g "1" |> ignore; // note, use of non-generic 'g' within a generic, generalized memoized function - 2 - - and g : string -> int = memoize f // note, computed function value using generic �f� at an instance - g "1" - - let res = test3e() - - check "fe09ekn" res 2 - - printfn "test passed ok without NullReferenceException" - -module Devdiv2_5385_repro2 = - - open System - type Dispatch<'t, 'a> = 't -> ('t -> Lazy<'a>) -> 'a - - let internal driver (mkString : 't -> string) (dispatch : Dispatch<'t, 'a>) (t : 't) : 'a = - let rec driver2 (seen : Map>) (t : 't) : Lazy<'a> = - let tKey = mkString t - let find = seen.TryFind tKey - match find with - | Some x -> x - | None -> - let rec seen2 = seen.Add(tKey,res) - and res = lazy dispatch t (driver2 seen2) - res - (driver2 (Map.empty) t).Value - - - - let res : int = driver (fun t -> t.ToString()) (fun t f -> if t > 50 then (f (t/2)).Value else t) 100 - - check "kjnecwwe9" res 50 - - printfn "test passed ok without NullReferenceException" + member x.P = v + static member P2 = v+x.Value + check "lwnohivq16" (new C()).P 3 + check "lwnohivq48" C.P2 6 let _ = if not failures.Value.IsEmpty then (eprintfn "Test Failed, failures = %A" failures.Value; exit 1) diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl index 21b795880a3..1d64f0abcc0 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl @@ -34,6 +34,9 @@ Usage: fsiAnyCpu [script.fsx []] --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) +--realInternalSignature[+|-] Generate assembly with dotnet + visibility that matches source + visibility --pathmap: Maps physical paths to source path names output by the compiler --crossoptimize[+|-] Enable or disable cross-module diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl index da80f614ab5..2f60c980bcb 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl @@ -36,6 +36,9 @@ Usage: fsiAnyCpu [script.fsx []] --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) +--realInternalSignature[+|-] Generate assembly with dotnet + visibility that matches source + visibility --pathmap: Maps physical paths to source path names output by the compiler --crossoptimize[+|-] Enable or disable cross-module diff --git a/vsintegration/src/FSharp.Editor/LanguageService/Tokenizer.fs b/vsintegration/src/FSharp.Editor/LanguageService/Tokenizer.fs index f6fc4a34af3..5b873129f22 100644 --- a/vsintegration/src/FSharp.Editor/LanguageService/Tokenizer.fs +++ b/vsintegration/src/FSharp.Editor/LanguageService/Tokenizer.fs @@ -925,7 +925,7 @@ module internal Tokenizer = lineData, textLinePos, contents - let inline tokenizeLine (documentKey, sourceText, position, fileName, defines, langVersion, strictIndentation, cancellationToken) = + let tokenizeLine (documentKey, sourceText, position, fileName, defines, langVersion, strictIndentation, cancellationToken) = try let lineData, _, _ = getCachedSourceLineData ( From e4c5638a59d88d6bccfaff389696f695c7f879a3 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Tue, 16 Jan 2024 05:12:18 -0800 Subject: [PATCH 02/58] remove unused binding --- src/Compiler/AbstractIL/il.fs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Compiler/AbstractIL/il.fs b/src/Compiler/AbstractIL/il.fs index f97f1700a0c..e681752944f 100644 --- a/src/Compiler/AbstractIL/il.fs +++ b/src/Compiler/AbstractIL/il.fs @@ -1909,8 +1909,6 @@ type ILMethodDef customAttrsStored: ILAttributesStored, metadataIndex: int32 ) = - let _x = 10 - new(name, attributes, implAttributes, callingConv, parameters, ret, body, isEntryPoint, genericParams, securityDecls, customAttrs) = ILMethodDef( name, From 0108fc280dfc477ce4855489f232b689e70aa57d Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 16 Jan 2024 19:43:57 -0800 Subject: [PATCH 03/58] temp --- .../ModuleInitialization.fs | 86 +- ...Count.fsx.realInternalSignatureOff.il.bsl} | 0 ...sx.realInternalSignatureOff.il.net472.bsl} | 0 ...x.realInternalSignatureOff.il.netcore.bsl} | 0 ...nqCount.fsx.realInternalSignatureOn.il.bsl | 118 + ....fsx.realInternalSignatureOn.il.net472.bsl | 131 + ...fsx.realInternalSignatureOn.il.netcore.bsl | 136 + ...perty.fsx.realInternalSignatureOff.il.bsl} | 0 ...roperty.fsx.realInternalSignatureOn.il.bsl | 216 + ...thod.fsx.realInternalSignatureOff.err.bsl} | 0 ...ethod.fsx.realInternalSignatureOff.il.bsl} | 0 ...ethod.fsx.realInternalSignatureOn.err.bsl} | 0 ...nMethod.fsx.realInternalSignatureOn.il.bsl | 241 + ...ions.fsx.realInternalSignatureOff.err.bsl} | 0 ...sions.fsx.realInternalSignatureOff.il.bsl} | 0 ...sions.fsx.realInternalSignatureOn.err.bsl} | 0 ...ensions.fsx.realInternalSignatureOn.il.bsl | 562 ++ ...nsion.fsx.realInternalSignatureOff.err.bsl | 0 ...nsion.fsx.realInternalSignatureOff.il.bsl} | 0 ...ension.fsx.realInternalSignatureOn.err.bsl | 0 ...tension.fsx.realInternalSignatureOn.il.bsl | 240 + ...Calls.fsx.realInternalSignatureOff.err.bsl | 0 ...Calls.fsx.realInternalSignatureOff.il.bsl} | 0 ...dCalls.fsx.realInternalSignatureOn.err.bsl | 0 ...edCalls.fsx.realInternalSignatureOn.il.bsl | 265 + .../TypeChecks/PropertyShadowingTests.fs | 28 +- tests/fsharp/core/letrec/test.fsx | 2 - tests/fsharp/core/quotes/cslib.cs | 11 - tests/fsharp/core/quotes/test.fsx | 5946 ----------------- tests/fsharp/tests.fs | 13 - 30 files changed, 2020 insertions(+), 5975 deletions(-) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{LinqCount.fsx.il.bsl => LinqCount.fsx.realInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{LinqCount.fsx.il.net472.bsl => LinqCount.fsx.realInternalSignatureOff.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{LinqCount.fsx.il.netcore.bsl => LinqCount.fsx.realInternalSignatureOff.il.netcore.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowStaticProperty.fsx.il.bsl => ShadowStaticProperty.fsx.realInternalSignatureOff.il.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowWithExtensionMethod.fsx.err.bsl => ShadowWithExtensionMethod.fsx.realInternalSignatureOff.err.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowWithExtensionMethod.fsx.il.bsl => ShadowWithExtensionMethod.fsx.realInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowWithLastOpenedTypeExtensions.fsx.err.bsl => ShadowWithExtensionMethod.fsx.realInternalSignatureOn.err.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowWithTypeExtension.fsx.err.bsl => ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.err.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowWithLastOpenedTypeExtensions.fsx.il.bsl => ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowingAndStillOkWithChainedCalls.fsx.err.bsl => ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.err.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.err.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowWithTypeExtension.fsx.il.bsl => ShadowWithTypeExtension.fsx.realInternalSignatureOff.il.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.err.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.err.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/{ShadowingAndStillOkWithChainedCalls.fsx.il.bsl => ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.il.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.err.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl delete mode 100644 tests/fsharp/core/quotes/cslib.cs delete mode 100644 tests/fsharp/core/quotes/test.fsx diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index f34294aa1b4..25cde02e8d3 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -359,7 +359,7 @@ type MyType = type C() = static let mutable v = x.Value + 1 static do v <- 3 - + member x.P = v static member P2 = v+x.Value @@ -465,6 +465,90 @@ module {{recursive}} MyModule = "Do end MyModule" ] + let withFlavor release compilation = + if not release then + compilation |> withDebug + else + compilation + + [] // RealSig, release + [] // Regular, release + [] // RealSig, debug + [] // Regular, debug + [] + let ``recursive types in module`` (realSig, release) = + FSharp $$""" +module rec MyModule = + type Node = { Next: Node; Value: int } + + let one = { Next = two; Value = 1 } + + // An intervening type declaration + type M() = static member X() = one + + let two = { Next = one; Value = 2 } + + let test t s1 s2 = + if s1 <> s2 then + stdout.WriteLine ($"test:{t} '{s1}' '{s2}' failed") + else + stdout.WriteLine ($"test:{t} '{s1}' '{s2}' succeeded") + + [] + let main args = + test "one.Value 1" one.Value 1 + test "one.Next.Value 2" one.Next.Value 2 + test "one.Next.Value 2" one.Next.Value 1 + test "(M.X()).Value 1" (M.X()).Value 1 + test "(M.X()).Next.Value 2" (M.X()).Next.Value 2 + test "(M.X()).Next.Next.Value 1" (M.X()).Next.Next.Value 1 + test "two.Value 2" two.Value 2 + test "two.Next.Value 1" two.Next.Value 1 + test "two.Next.Next.Value 2" two.Next.Next.Value 2 + 0 + """ + |> withFlavor release + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "test:one.Value 1 '1' '1' succeeded" + "test:one.Next.Value 2 '2' '2' succeeded" + "test:one.Next.Value 2 '2' '1' failed" + "test:(M.X()).Value 1 '1' '1' succeeded" + "test:(M.X()).Next.Value 2 '2' '2' succeeded" + "test:(M.X()).Next.Next.Value 1 '1' '1' succeeded" + "test:two.Value 2 '2' '2' succeeded" + "test:two.Next.Value 1 '1' '1' succeeded" + "test:two.Next.Next.Value 2 '2' '2' succeeded" + ] + +(* +module rec Test12384e = + type Node = + { + Next: Node + Value: int + } + + let one = + { + Next = two + Value = 1 + } + + // An intervening type declaration + type M() = + static member X() = one + + let two = + { + Next = one + Value = 2 + } +*) + [] // RealSig [] // Regular [] diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOff.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOff.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOff.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOff.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..684fa3ce5e7 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,118 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname clo@4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + } + + .method public specialname static class [System.Collections]System.Collections.Generic.List`1 + get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [System.Collections]System.Collections.Generic.List`1 ''.$assembly$fsx::r@2 + IL_0005: ret + } + + .property class [System.Collections]System.Collections.Generic.List`1 + r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly initonly class [System.Collections]System.Collections.Generic.List`1 r@2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static + void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor() + IL_0005: stsfld class [System.Collections]System.Collections.Generic.List`1 ''.$assembly$fsx::r@2 + IL_000a: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_000f: callvirt instance int32 class [System.Collections]System.Collections.Generic.List`1::get_Count() + IL_0014: pop + IL_0015: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_001a: ldnull + IL_001b: ldftn bool assembly/clo@4::Invoke(int32) + IL_0021: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_0026: call int32 [System.Linq]System.Linq.Enumerable::Count(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_002b: pop + IL_002c: ret + } + +} + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl new file mode 100644 index 00000000000..bcc8d5b601e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl @@ -0,0 +1,131 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname clo@4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + } + + .field static assembly class [runtime]System.Collections.Generic.List`1 r@2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [runtime]System.Collections.Generic.List`1 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.List`1 assembly::r@2 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor() + IL_0005: stsfld class [runtime]System.Collections.Generic.List`1 assembly::r@2 + IL_000a: call class [runtime]System.Collections.Generic.List`1 assembly::get_r() + IL_000f: callvirt instance int32 class [runtime]System.Collections.Generic.List`1::get_Count() + IL_0014: pop + IL_0015: call class [runtime]System.Collections.Generic.List`1 assembly::get_r() + IL_001a: ldnull + IL_001b: ldftn bool assembly/clo@4::Invoke(int32) + IL_0021: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_0026: call int32 [System.Core]System.Linq.Enumerable::Count(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_002b: pop + IL_002c: ret + } + + .property class [runtime]System.Collections.Generic.List`1 + r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.List`1 assembly::get_r() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl new file mode 100644 index 00000000000..d9d0242f7ff --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl @@ -0,0 +1,136 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname clo@4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + } + + .field static assembly class [System.Collections]System.Collections.Generic.List`1 r@2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [System.Collections]System.Collections.Generic.List`1 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [System.Collections]System.Collections.Generic.List`1 assembly::r@2 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor() + IL_0005: stsfld class [System.Collections]System.Collections.Generic.List`1 assembly::r@2 + IL_000a: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_000f: callvirt instance int32 class [System.Collections]System.Collections.Generic.List`1::get_Count() + IL_0014: pop + IL_0015: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_001a: ldnull + IL_001b: ldftn bool assembly/clo@4::Invoke(int32) + IL_0021: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_0026: call int32 [System.Linq]System.Linq.Enumerable::Count(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_002b: pop + IL_002c: ret + } + + .property class [System.Collections]System.Collections.Generic.List`1 + r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..d6aa818e4f6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,216 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@1 + .method private specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public specialname static int32 get_X() cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@1 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 assembly/Foo::x + IL_0016: ret + } + + .method public specialname static void set_X(int32 v) cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@1 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 assembly/Foo::x + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 assembly/Foo::x + IL_0006: ldc.i4.1 + IL_0007: volatile. + IL_0009: stsfld int32 assembly/Foo::init@1 + IL_000e: ret + } + + .property int32 X() + { + .set void assembly/Foo::set_X(int32) + .get int32 assembly/Foo::get_X() + } + } + + .class abstract auto ansi sealed nested public Exts2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: mul + IL_0003: call void assembly/Foo::set_X(int32) + IL_0008: ret + } + + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/Foo::staticInitialization@() + IL_0005: ldc.i4.1 + IL_0006: call void assembly/Foo::set_X(int32) + IL_000b: call int32 assembly/Foo::get_X() + IL_0010: ldc.i4.1 + IL_0011: beq.s IL_001b + + IL_0013: ldc.i4.1 + IL_0014: call void [runtime]System.Environment::Exit(int32) + IL_0019: br.s IL_001b + + IL_001b: ldc.i4.4 + IL_001c: call void assembly/Foo::set_X(int32) + IL_0021: call int32 assembly/Foo::get_X() + IL_0026: ldc.i4.4 + IL_0027: beq.s IL_0031 + + IL_0029: ldc.i4.2 + IL_002a: call void [runtime]System.Environment::Exit(int32) + IL_002f: br.s IL_0031 + + IL_0031: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..4950986c0ff --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,241 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable nested public FooExt + extends [runtime]System.Object + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public static class assembly/Foo + X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + } + + .field static assembly class assembly/Foo f@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@9-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@9-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::f@12 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@9-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@9-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@9-2' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo assembly::f@12 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo assembly::'f@9-2' + IL_0045: call class assembly/Foo assembly::'get_f@9-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@9-1'() + IL_0055: stsfld class assembly/Foo assembly::'f@9-1' + IL_005a: call class assembly/Foo assembly::get_f@9() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@9() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@9() + } + .property class assembly/Foo + 'f@9-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@9-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.err.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.err.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.err.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..deec7c5e04f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,562 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .method private specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public specialname static int32 get_X() cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 assembly/Foo::x + IL_0016: ret + } + + .method public specialname static void set_X(int32 v) cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 assembly/Foo::x + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 assembly/Foo::x + IL_0006: ldc.i4.1 + IL_0007: volatile. + IL_0009: stsfld int32 assembly/Foo::init@4 + IL_000e: ret + } + + .property int32 X() + { + .set void assembly/Foo::set_X(int32) + .get int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo1@20-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@20-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@20-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo1@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@22-2'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@22-2'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit todo1@18 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field static assembly initonly class assembly/todo1@18 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 V_0) + IL_0000: ldc.i4.1 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: call int32 assembly/Foo::get_X() + IL_000b: ldc.i4.1 + IL_000c: beq.s IL_0023 + + IL_000e: ldc.i4.1 + IL_000f: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewError(!1) + IL_0014: stloc.0 + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/'todo1@20-1'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_001b: tail. + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0022: ret + + IL_0023: ldnull + IL_0024: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewOk(!0) + IL_0029: stloc.0 + IL_002a: ldloc.0 + IL_002b: newobj instance void assembly/'todo1@22-2'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_0030: tail. + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0037: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/todo1@18::.ctor() + IL_0005: stsfld class assembly/todo1@18 assembly/todo1@18::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo2@39-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@39-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@39-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo2@41-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@41-2'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@41-2'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit todo2@37 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field static assembly initonly class assembly/todo2@37 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 V_0) + IL_0000: ldc.i4.2 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: call int32 assembly/Foo::get_X() + IL_000b: ldc.i4.2 + IL_000c: beq.s IL_0023 + + IL_000e: ldc.i4.2 + IL_000f: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewError(!1) + IL_0014: stloc.0 + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/'todo2@39-1'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_001b: tail. + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0022: ret + + IL_0023: ldnull + IL_0024: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewOk(!0) + IL_0029: stloc.0 + IL_002a: ldloc.0 + IL_002b: newobj instance void assembly/'todo2@41-2'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_0030: tail. + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0037: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/todo2@37::.ctor() + IL_0005: stsfld class assembly/todo2@37 assembly/todo2@37::@_instance + IL_000a: ret + } + + } + + .class abstract auto ansi sealed nested public Exts2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: mul + IL_0003: call void assembly/Foo::set_X(int32) + IL_0008: ret + } + + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> todo1@16 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 matchValue@25 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> todo2@35 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'matchValue@44-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_todo1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo1@16 + IL_0005: ret + } + + .method assembly specialname static valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 get_matchValue@25() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_todo2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo2@35 + IL_0005: ret + } + + .method assembly specialname static valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'get_matchValue@44-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + IL_0000: call void assembly/Foo::staticInitialization@() + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_000a: ldsfld class assembly/todo1@18 assembly/todo1@18::@_instance + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo1@16 + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo1() + IL_001e: ldnull + IL_001f: ldnull + IL_0020: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously>(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0025: stsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_002a: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_002f: call instance int32 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_Tag() + IL_0034: ldc.i4.1 + IL_0035: bne.un.s IL_0039 + + IL_0037: br.s IL_003b + + IL_0039: br.s IL_004a + + IL_003b: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_0040: call instance !1 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_ErrorValue() + IL_0045: call void [runtime]System.Environment::Exit(int32) + IL_004a: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_004f: ldsfld class assembly/todo2@37 assembly/todo2@37::@_instance + IL_0054: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0059: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo2@35 + IL_005e: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo2() + IL_0063: ldnull + IL_0064: ldnull + IL_0065: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously>(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_006a: stsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_006f: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_0074: call instance int32 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_Tag() + IL_0079: ldc.i4.1 + IL_007a: bne.un.s IL_007e + + IL_007c: br.s IL_0080 + + IL_007e: br.s IL_008f + + IL_0080: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_0085: call instance !1 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_ErrorValue() + IL_008a: call void [runtime]System.Environment::Exit(int32) + IL_008f: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + todo1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo1() + } + .property valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 + matchValue@25() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::get_matchValue@25() + } + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + todo2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo2() + } + .property valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 + 'matchValue@44-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'get_matchValue@44-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.err.bsl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.err.bsl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..a1bee123acc --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,240 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class assembly/Foo + Foo.X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + } + + .field static assembly class assembly/Foo f@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@8-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@8-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::f@11 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@8() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@8-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@8-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@8-2' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo assembly::f@11 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo assembly::'f@8-2' + IL_0045: call class assembly/Foo assembly::'get_f@8-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@8-1'() + IL_0055: stsfld class assembly/Foo assembly::'f@8-1' + IL_005a: call class assembly/Foo assembly::get_f@8() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@8() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@8() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@8() + } + .property class assembly/Foo + 'f@8-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@8-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.err.bsl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.err.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.err.bsl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..807a182aa63 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,265 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable nested public FooExt + extends [runtime]System.Object + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public static class assembly/Foo + X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + .method public static class assembly/Foo + X(class assembly/Foo f, + string i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/Foo::X@ + IL_0007: stloc.0 + IL_0008: ldloca.s V_0 + IL_000a: constrained. [runtime]System.Int32 + IL_0010: callvirt instance string [runtime]System.Object::ToString() + IL_0015: callvirt instance int32 [runtime]System.String::get_Length() + IL_001a: ldarg.1 + IL_001b: callvirt instance int32 [runtime]System.String::get_Length() + IL_0020: add + IL_0021: stfld int32 assembly/Foo::X@ + IL_0026: ldarg.0 + IL_0027: ret + } + + } + + .field static assembly class assembly/Foo f@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@10-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@10-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::f@17 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@10() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@10-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@10-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@10-2' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo assembly::f@17 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo assembly::'f@10-2' + IL_0045: call class assembly/Foo assembly::'get_f@10-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@10-1'() + IL_0055: stsfld class assembly/Foo assembly::'f@10-1' + IL_005a: call class assembly/Foo assembly::get_f@10() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@10() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@10() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@10() + } + .property class assembly/Foo + 'f@10-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@10-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs index fe178ad1975..1500123883b 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs @@ -16,15 +16,39 @@ let [] folder = __SOURCE_DIRECTORY__ + "/PropertyShadowing" "ShadowStaticProperty.fsx" "ShadowWithLastOpenedTypeExtensions.fsx" |] + , BaselineSuffix = ".realInternalSignatureOff" )>] -let ``can hide property`` compilation = +let ``can hide property - realInternalSignatureOff`` compilation = compilation |> asFsx |> withOptions ["--langversion:preview"] + |> withRealInternalSignatureOff |> verifyBaselines |> compileAndRun |> shouldSucceed - + +[] +let ``can hide property - realInternalSignatureOn`` compilation = + compilation + |> asFsx + |> withOptions ["--langversion:preview"] + |> withRealInternalSignatureOn + |> verifyBaselines + |> compileAndRun + |> shouldSucceed + [ removeDoubleSpaces |> normalizeActivePatternResults) - (v2.Replace("\r","").Replace("\n","") |> removeDoubleSpaces |> normalizeActivePatternResults) - -let checkQuoteString s expected (q: Expr) = checkStrings s (sprintf "%A" q) expected - -let (|TypedValue|_|) (v : 'T) value = - match value with - | Patterns.Value(:? 'T as v1, ty) when ty = typeof<'T> && v = v1-> Some () - | _ -> None - -let (|ObjTy|_|) ty = if ty = typeof then Some() else None -let (|IntTy|_|) ty = if ty = typeof then Some() else None -let (|StringTy|_|) ty = if ty = typeof then Some() else None - -let (|TupleTy|_|) ty = - if Microsoft.FSharp.Reflection.FSharpType.IsTuple ty then - let [| t1; t2 |] = Microsoft.FSharp.Reflection.FSharpType.GetTupleElements ty - Some (t1, t2) - else None - -[] -type S = - val mutable x : int - - -module TypedTest = begin - - // Checks the shape of the quotation to match that of - // foreach implemented in terms of GetEnumerator () - let (|ForEachShape|_|) = function - | Let ( - inputSequence, - inputSequenceBinding, - Let ( - enumerator, - enumeratorBinding, - TryFinally ( - WhileLoop ( - guard, - Let (i, currentExpr, body)), - cleanup) - ) - ) -> Some inputSequence - | _ -> None - - let x = <@ 1 @> - - test "check SByte" ((<@ 1y @> |> (function SByte 1y -> true | _ -> false))) - test "check Int16" ((<@ 1s @> |> (function Int16 1s -> true | _ -> false))) - test "check Int32" ((<@ 1 @> |> (function Int32 1 -> true | _ -> false))) - test "check Int64" ((<@ 1L @> |> (function Int64 1L -> true | _ -> false))) - test "check Byte" ((<@ 1uy @> |> (function Byte 1uy -> true | _ -> false))) - test "check UInt16" ((<@ 1us @> |> (function UInt16 1us -> true | _ -> false))) - test "check UInt32" ((<@ 1u @> |> (function UInt32 1u -> true | _ -> false))) - test "check UInt64" ((<@ 1UL @> |> (function UInt64 1UL -> true | _ -> false))) - test "check String" ((<@ "1" @> |> (function String "1" -> true | _ -> false))) - - test "check ~SByte" ((<@ "1" @> |> (function SByte _ -> false | _ -> true))) - test "check ~Int16" ((<@ "1" @> |> (function Int16 _ -> false | _ -> true))) - test "check ~Int32" ((<@ "1" @> |> (function Int32 _ -> false | _ -> true))) - test "check ~Int64" ((<@ "1" @> |> (function Int64 _ -> false | _ -> true))) - test "check ~Byte" ((<@ "1" @> |> (function Byte _ -> false | _ -> true))) - test "check ~UInt16" ((<@ "1" @> |> (function UInt16 _ -> false | _ -> true))) - test "check ~UInt32" ((<@ "1" @> |> (function UInt32 _ -> false | _ -> true))) - test "check ~UInt64" ((<@ "1" @> |> (function UInt64 _ -> false | _ -> true))) - test "check ~String" ((<@ 1 @> |> (function String "1" -> false | _ -> true))) - -#if !FSHARP_CORE_31 - test "check Decimal" ((<@ 1M @> |> (function Decimal 1M -> true | _ -> false))) - test "check ~Decimal" ((<@ "1" @> |> (function Decimal _ -> false | _ -> true))) - test "check ~Decimal neither" ((<@ 1M + 1M @> |> (function Decimal _ -> false | _ -> true))) -#endif - - test "check AndAlso" ((<@ true && true @> |> (function AndAlso(Bool(true),Bool(true)) -> true | _ -> false))) - test "check OrElse" ((<@ true || true @> |> (function OrElse(Bool(true),Bool(true)) -> true | _ -> false))) - test "check AndAlso" ((<@ true && true @> |> (function AndAlso(Bool(true),Bool(true)) -> true | _ -> false))) - test "check OrElse" ((<@ true || true @> |> (function OrElse(Bool(true),Bool(true)) -> true | _ -> false))) - test "check AndAlso" ((<@ false && false @> |> (function AndAlso(Bool(false),Bool(false)) -> true | _ -> false))) - test "check OrElse" ((<@ false || false @> |> (function OrElse(Bool(false),Bool(false)) -> true | _ -> false))) - test "check AndAlso - encoded" ((<@ true && false @> |> (function IfThenElse(Bool(true),Bool(false),Bool(false)) -> true | _ -> false))) - test "check OrElse - encoded" ((<@ true || false @> |> (function IfThenElse(Bool(true),Bool(true),Bool(false)) -> true | _ -> false))) - - - test "check ForIntegerRangeLoop" (<@ for i = 1 to 10 do printf "hello" @> |> (function ForIntegerRangeLoop(v,Int32(1),Int32(10),b) -> true | _ -> false)) - test "check ForIntegerRangeLoop" (<@ for i in 1 .. 10 do printf "hello" @> |> (function ForIntegerRangeLoop(v,Int32(1),Int32(10),b) -> true | _ -> false)) - // In this example, the types of the start and end points are not known at the point the loop - // is typechecked. There was a bug (6064) where the transformation to a ForIntegerRangeLoop was only happening - // when types were known - test "check ForIntegerRangeLoop" (<@ for i in failwith "" .. failwith "" do printf "hello" @> |> (function ForIntegerRangeLoop(v,_,_,b) -> true | _ -> false)) - // Checks that foreach over non-integer ranges should have the shape of foreach implemented in terms of GetEnumerator - test "check ForEachInSeq" (<@ for i in seq {for x in 0..10 -> x} do printf "hello" @> |> (function ForEachShape(_) -> true | _ -> false)) - test "check ForEachInList" (<@ for i in "123" do printf "hello" @> |> (function ForEachShape(_) -> true | _ -> false)) - test "check ForEachInString" (<@ for i in [1;2;3] do printf "hello" @> |> (function ForEachShape(_) -> true | _ -> false)) - // A slight non orthogonality is that all other 'for' loops go to (quite complex) the desugared form - test "check Other Loop" (<@ for i in 1 .. 2 .. 10 do printf "hello" @> |> (function Let(v,_,b) -> true | _ -> false)) - test "check Other Loop" (<@ for i in 1L .. 10L do printf "hello" @> |> (function Let(v,_,b) -> true | _ -> false)) - - let mutable mutableX = 1 - test "check mutableX top level set" ((<@ mutableX <- 10 @> |> (function PropertySet(None,pinfo,[],Int32 10) when pinfo.Name = "mutableX" -> true | _ -> false))) - test "check mutableX top level get" ((<@ mutableX @> |> (function PropertyGet(None,pinfo,[]) when pinfo.Name = "mutableX" -> true | _ -> false))) - - - let structFieldSetFromArray () = - <@ let mutable arr = [| S() |] - arr.[0].x <- 3 @> - - let structFieldGetFromArray () = - <@ let mutable arr = [| S() |] - arr.[0].x @> - - test "check struct field set from array" - ((structFieldSetFromArray() |> - (function - | Let (varr, NewArray (_, [ DefaultValue _ ]),FieldSet (Some (Call (None, getter, [arr; Int32 0])), field, Int32 3)) -> true - | _ -> false))) - - test "check struct field get from array" - ((structFieldGetFromArray() |> - (function - | Let (varr, NewArray (_, [ DefaultValue _ ]),FieldGet (Some (Call (None, getter, [arr; Int32 0])), field)) -> true - | _ -> false))) - - - test "checkIsMutable1" - (let e = <@@ let mutable x = 1 in if x = 1 then x <- 2 @@> - - match e with - |Let(v,e1,e2) -> v.IsMutable - |_ -> failwith "unexpected shape") - - test "checkIsMutable2" - (let e = <@@ let x = 1 in if x = 1 then 2 else 3 @@> - - match e with - |Let(v,e1,e2) -> not v.IsMutable - |_ -> failwith "unexpected shape") - - test "checkIsMutable3" - (let e = <@@ let f (x:int) = 1 in f 3 @@> - - match e with - |Let(v,e1,e2) -> not v.IsMutable - |_ -> failwith "unexpected shape") - - test "checkType" - (let e = <@@ let mutable x = 1 in if x = 1 then x <- 2 @@> - - match e with - |Let(v,e1,e2) -> v.Type = typeof - |_ -> failwith "unexpected shape") - - - type MyEnum = Foo = 0 | Bar = 1 - test "klnwce-0" - (match <@@ MyEnum.Foo @@> with | Value(x,ty) when ty = typeof && (x:?>MyEnum)=MyEnum.Foo -> true | _ -> false) - test "klnwce-1" - (match <@@ MyEnum.Bar @@> with | Value(x,ty) when ty = typeof && (x:?>MyEnum)=MyEnum.Bar -> true | _ -> false) - test "klnwce-2" - (match <@@ System.DayOfWeek.Monday @@> with | Value(x,ty) when ty = typeof && (x:?>System.DayOfWeek)=System.DayOfWeek.Monday -> true | _ -> false) - test "klnwce-3" - (<@@ System.DayOfWeek.Monday @@>.Type = typeof) - test "klnwce-4" - (match <@@ (fun () -> MyEnum.Bar) @@> with | Lambda(_,Value(x,ty)) when ty = typeof && (x:?>MyEnum)=MyEnum.Bar -> true | _ -> false) - - test "check NewArray" (<@ [| |] :int[] @> |> (function NewArray(typ,[]) when typ = typeof -> true | _ -> false)) - test "check NewArray" (<@ [| 1;2;3 |] @> |> (function NewArray(typ,[Int32(1);Int32(2);Int32(3)]) when typ = typeof -> true | _ -> false)) - test "check NewRecord" (<@ { contents = 3 } @> |> (function NewRecord(typ,args) -> true | _ -> false)) - test "check NewUnion" (<@ [] @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) - test "check NewUnion" (<@ [1] @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) - test "check NewUnion" (<@ None @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) - test "check NewUnion" (<@ Some(1) @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) - - test "check NewDelegate" (<@ new System.EventHandler(fun sender evArgs -> ()) @> |> (function NewDelegate(ty,[v1;v2],_) when v1.Name = "sender" && v2.Name = "evArgs" -> true | _ -> false)) - - test "check NewTuple (2)" (<@ (1,2) @> |> (function NewTuple([Int32(1);Int32(2)]) -> true | _ -> false)) - test "check NewTuple (3)" (<@ (1,2,3) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3)]) -> true | _ -> false)) - test "check NewTuple (4)" (<@ (1,2,3,4) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4)]) -> true | _ -> false)) - test "check NewTuple (5)" (<@ (1,2,3,4,5) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4);Int32(5)]) -> true | _ -> false)) - test "check NewTuple (6)" (<@ (1,2,3,4,5,6) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4);Int32(5);Int32(6)]) -> true | _ -> false)) - test "check NewTuple (6)" (<@ (1,2,3,4,5,6,7) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4);Int32(5);Int32(6);Int32(7)]) -> true | _ -> false)) - - test "check Lambda" ((<@ (fun (x:int) -> x) @> |> (function Lambda(v,_) -> true | _ -> false))) - test "check Lambda" ((<@ (fun (x:int,y:int) -> x) @> |> (function Lambda(v,_) -> true | _ -> false))) - test "check Lambda" ((<@ (fun (p:int*int) -> p) @> |> (function Lambda(v,_) -> true | _ -> false))) - test "check Lambda" ((<@ (fun () -> 1) @> |> (function Lambda(v,_) -> true | _ -> false))) - - test "check Lambdas" ((<@ (fun (x:int) -> x) @> |> (function Lambdas([[v]],_) -> true | _ -> false))) - test "check Lambdas" ((<@ (fun (x:int,y:int) -> x) @> |> (function Lambdas([[v1;v2]],_) -> true | _ -> false))) - test "check ~Lambdas" ((<@ (fun (x:int) (y:int) -> x) @> |> (function Lambdas([[v1;v2]],_) -> false | _ -> true))) - test "check Lambdas" ((<@ (fun (x:int,y:int) (z:int) -> z) @> |> (function Lambdas([[v1;v2];[v3]],_) -> true | _ -> false))) - test "check Lambdas" ((<@ (fun ((x:int,y:int),(z:int)) -> z) @> |> (function Lambdas([[v1;v2]],_) -> true | _ -> false))) - test "check Lambdas" ((<@ (fun ((x:int),(y:int,z:int)) -> z) @> |> (function Lambdas([[v1;v2]],_) -> true | _ -> false))) - // - //test "check Lambdas" ((<@ (fun [(x:int)] -> x) @> |> (function Lambdas([[v1]],_) -> true | _ -> false))) - test "check Lambdas" ((<@ (fun () -> 1) @> |> (function Lambdas([[v1]],_) -> true | _ -> false))) - - test "check Let" ((<@ let x = 1 in x @> |> (function Let(v,Int32(1),Var(v2)) when v = v2 -> true | _ -> false))) - test "check Let" ((<@ let x = 1 - let y = 2 - x,y @> |> (function Let(vx,Int32(1),Let(vy,Int32(2),NewTuple([Var(vx2);Var(vy2)]))) when vx.Name = "x" && vx = vx2 && vy = vy2 -> true | _ -> false))) - - test "check Let" ((<@ let x = 1 - let x = 2 - x,x @> |> (function Let(vx,Int32(1),Let(vy,Int32(2),NewTuple([Var(vx2);Var(vy2)]))) when vx.Name = "x" && vy.Name = "x" && vy = vx2 && vy = vy2 -> true | _ -> false))) - - test "check Let" ((<@ let f () = 1 in f @> |> (function Let(v,Lambda(_,Int32(1)),Var(v2)) when v = v2 -> true | _ -> false))) - - test "check LetRecursive" ((<@ let rec f (x:int) : int = 1 in f @> |> (function LetRecursive([vf,Lambda(vx,Int32(1))],Var(vf2)) when vf = vf2 -> true | _ -> false))) - - test "check LetRecursive" ((<@ let rec f (x:int) : int = 1 - and g (x:int) = 2 - (f,g) @> |> (function LetRecursive([(vf,Lambda(vx,Int32(1)));(vg,Lambda(vx2,Int32(2)))],NewTuple[Var(vf2);Var(vg2)]) when (vf = vf2 && vg = vg2)-> true | _ -> false))) - - test "check Application" ((<@ let f () = 1 in f () @> |> (function Let(fv1,Lambda(_,Int32(1)),Application(Var(fv2),Unit)) when fv1 = fv2 -> true | _ -> false))) - test "check Application" ((<@ let f (x:int) = 1 in f 1 @> |> (function Let(fv1,Lambda(_,Int32(1)),Application(Var(fv2),Int32(1))) when fv1 = fv2 -> true | _ -> false))) - test "check Application" ((<@ let f (x:int) (y:int) = 1 in f 1 2 @> |> (function Let(fv1,Lambda(_,Lambda(_,Int32(1))),Application(Application(Var(fv2),Int32(1)),Int32(2))) when fv1 = fv2 -> true | _ -> false))) - test "check Application" ((<@ let f (x:int,y:int) = 1 in f (1,2) @> |> (function Let(fv1,Lambdas(_,Int32(1)),Application(Var(fv2),NewTuple[Int32(1);Int32(2)])) when fv1 = fv2 -> true | _ -> false))) - test "check Applications" ((<@ let f (x:int) (y:int) = 1 in f 1 2 @> |> (function Let(fv1,Lambdas(_,Int32(1)),Applications(Var(fv2),[[Int32(1)];[Int32(2)]])) when fv1 = fv2 -> true | _ -> false))) - test "check Applications" ((<@ let f (x:int,y:int) = 1 in f (1,2) @> |> (function Let(fv1,Lambdas(_,Int32(1)),Applications(Var(fv2),[[Int32(1);Int32(2)]])) when fv1 = fv2 -> true | _ -> false))) - test "check Applications" ((<@ let f () = 1 in f () @> |> (function Let(fv1,Lambdas(_,Int32(1)),Applications(Var(fv2),[[]])) when fv1 = fv2 -> true | _ -> false))) - - test "check pattern matching 1" - ((<@ function (x:int) -> x @> - |> (function Lambda(argv1,Let(xv1,Var(argv2),Var(xv2))) when xv1 = xv2 && argv1 = argv2 -> true | _ -> false))) - - test "check incomplete pattern matching 1" - ((<@ function (None : int option) -> 1 @> - // Pipe the quotation into a matcher that checks its form - |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucase1),Int32(1),Call(None,minfo,[_]))) when argv1 = argv2 && minfo.Name = "Raise" && ucase1.Name = "None" -> true - | _ -> false))) - - test "check pattern matching 2" - ((<@ function { contents = (x:int) } -> x @> - // Pipe the quotation into a matcher that checks its form - |> (function Lambda(argv1,Let(xv1,PropertyGet(Some(Var(argv2)),finfo,[]),Var(xv2))) when xv1 = xv2 && argv1 = argv2 -> true - | _ -> false))) - - test "check pattern matching 3" - ((<@ function ([]:int list) -> 1 | _ -> 2 @> - // Pipe the quotation into a matcher that checks its form - |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucase),Int32(1),Int32(2))) when argv1 = argv2 -> true | _ -> false))) - - test "check pattern matching 4" - ((<@ function ([]:int list) -> 1 | h::t -> 2 @> - // Pipe the quotation into a matcher that checks its form - |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucaseCons), - Let(tv1,PropertyGet(Some(Var(argv3)),pinfoTail,[]), - Let(hv1,PropertyGet(Some(Var(argv4)),pinfoHead,[]), - Int32(2))), - Int32(1))) when (argv1 = argv2 && - argv1 = argv3 && - argv1 = argv4 && - ucaseCons.Name = "Cons" && - pinfoTail.Name = "Tail" && - pinfoTail.Name = "Tail") -> true - | _ -> false))) - - test "check pattern matching 5" - ((<@ function h::t -> 2 | ([]:int list) -> 1 @> - |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucaseEmpty), - Int32(1), - Let(tv1,PropertyGet(Some(Var(argv3)),pinfoTail,[]), - Let(hv1,PropertyGet(Some(Var(argv4)),pinfoHead,[]), - Int32(2))))) when (argv1 = argv2 && - argv1 = argv3 && - argv1 = argv4 && - ucaseEmpty.Name = "Empty" && - pinfoTail.Name = "Tail" && - pinfoTail.Name = "Tail") -> true - | _ -> false))) - - test "check pattern matching 6" - ((<@ function [h1;(h2:int)] -> 2 | _ -> 0 @> - |> (function Lambda(argv1, - IfThenElse(UnionCaseTest(Var(argv2),ucaseCons), - IfThenElse(UnionCaseTest(PropertyGet(Some(Var(argv3)),pinfoTail,[]),ucaseCons2), - IfThenElse(UnionCaseTest(PropertyGet(Some(PropertyGet(Some(Var(argv4)),pinfoTail2,[])),pinfoTail3,[]),ucaseEmpty), - Let(h1v1,PropertyGet(Some(Var(argv5)),pinfoHead,[]), - Let(h2v1,PropertyGet(Some(PropertyGet(Some(Var(argv6)),pinfoTail4,[])),pinfoHead2,[]), - Int32(2))), - Int32(0)), - Int32(0)), - Int32(0))) - when (argv1 = argv2 && - argv1 = argv3 && - argv1 = argv4 && - argv1 = argv5 && - argv1 = argv6 && - h1v1.Name = "h1" && - h2v1.Name = "h2" && - ucaseEmpty.Name = "Empty" && - pinfoTail.Name = "Tail" && - pinfoTail2.Name = "Tail" && - pinfoTail3.Name = "Tail" && - pinfoTail4.Name = "Tail" && - pinfoHead.Name = "Head" && - pinfoHead2.Name = "Head") -> true - | _ -> false))) - - // Check the elaborated form of a pattern match that uses an active pattern - let (|RefCell|) (x : int ref) = x.Value - test "check pattern matching 7" - ((<@ function RefCell(x) -> x @> - |> (function Lambda(argv1, - Let(apv1, Call(None,minfo,[Var(argv2)]), - Let(xv1, Var(apv2), - Var(xv2)))) - when (argv1 = argv2 && - xv1 = xv2 && - apv1 = apv2 && - minfo.Name = "|RefCell|") -> true - | _ -> false))) - - // Check calling .NET things - test "check NewObject" ((<@ new System.Object() @> |> (function NewObject(_,[]) -> true | _ -> false))) - test "check NewObject" ((<@ new System.String('c',3) @> |> (function NewObject(_,[Char('c');Int32(3)]) -> true | _ -> false))) - - test "check Call (static)" ((<@ System.Object.Equals("1","2") @> |> (function Call(None,_,[Coerce(String("1"),_);Coerce(String("2"),_)]) -> true | _ -> false))) - test "check Call (instance)" ((<@ ("1").Equals("2") @> |> (function Call(Some(String("1")),_,[String("2")]) -> true | _ -> false))) - test "check Call (instance)" ((<@ ("1").GetHashCode() @> |> (function Call(Some(String("1")),_,[]) -> true | _ -> false))) - test "check PropertyGet (static)" ((<@ System.DateTime.Now @> |> (function PropertyGet(None,_,[]) -> true | _ -> false))) - test "check PropertyGet (instance)" ((<@ ("1").Length @> |> (function PropertyGet(Some(String("1")),_,[]) -> true | _ -> false))) - -#if !NETCOREAPP - test "check PropertySet (static)" ((<@ System.Environment.ExitCode <- 1 @> |> (function PropertySet(None,_,[],Int32(1)) -> true | _ -> false))) -#endif - test "check PropertySet (instance)" ((<@ ("1").Length @> |> (function PropertyGet(Some(String("1")),_,[]) -> true | _ -> false))) - - test "check null (string)" (<@ (null:string) @> |> (function Value(null,ty) when ty = typeof -> true | _ -> false)) - - let v = Expr.GlobalVar("IntVar") - test "check var (GlobalVar)" (v |> (function Var(v2) when v2.Name = "IntVar" -> true | _ -> false)) - - test "check Var" (<@ %v @> |> (function Var(v2) when v2.Name = "IntVar" -> true | _ -> false)) - test "check Coerce" (<@ 3 :> obj @> |> (function Coerce(x,ty) when ty = typeof -> true | _ -> false)) - test "check Sequential" (<@ (); () @> |> (function Sequential(Unit,Unit) -> true | _ -> false)) - test "check Sequential" (<@ ""; () @> |> (function Sequential(Sequential(String(""),Unit),Unit) -> true | _ -> false)) (* changed for bug 3628 fix *) - test "check Sequential" (<@ (); "" @> |> (function Sequential(Unit,String("")) -> true | _ -> false)) - test "check Sequential" (<@ (); (); () @> |> (function Sequential(Unit,Sequential(Unit,Unit)) -> true | _ -> false)) - test "check WhileLoop" (<@ while true do () done @> |> (function WhileLoop(Bool(true),Unit) -> true | _ -> false)) - test "check TryFinally" (<@ try 1 finally () @> |> (function TryFinally(Int32(1),Unit) -> true | _ -> false)) - - <@ new obj() :?> int @> - - [] - let f (x:int) = 1 - - [] - module M = - let f (x:int) = 1 - - test "clewlkjncew" - ((<@ f 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - - - test "clewlkjncewb" - ((<@ M.f 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - // check failure of TryGetReflectedDefinition on non-ReflectedDefinition for locally-defined f3 - - //[] - let f3 (x:int) = 1 - test "ejnwe98" - ((<@ f3 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsNone | _ -> false))) - - [] - let rec f2 (x:int) = not (f2 x) - - // check success of TryGetReflectedDefinition on local recursive f2 - test "cwuic9en" - ((<@ f2 1 @> - - |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - - // test GetFreeVars - - test "check lambda closed" (Seq.length ((<@ (fun (x:int) -> 1) @>).GetFreeVars() ) = 0) - test "check for loop closed" (Seq.length ((<@ for i = 1 to 10 do () done @>).GetFreeVars()) = 0) - test "check while loop closed" (Seq.length ((<@ while true do () done @>).GetFreeVars()) = 0) - test "check let rec closed" (Seq.length ((<@ let rec f (x:int) = f (f x) in f @>).GetFreeVars()) = 0) - - module AddressOfTests = - [] - type S(z : int) = - [] val mutable x : int - - [] - type S2(z : int) = - [] val mutable s : S - - test "check Struct 1" (<@ S(1).x @> |> (function Let(_,NewObject _, FieldGet (Some (Var _), _)) -> true | _ -> false)) - test "check Struct 2a" (<@ (fun (s2: S2) -> s2.s.x) @> |> (function Lambda(_,FieldGet(Some(FieldGet(Some(Var _),_)),_)) -> true | _ -> false)) - test "check Struct 2" (<@ (fun (arr: S[]) -> arr.[0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray" -> true | _ -> false)) - test "check Struct 3" (<@ (fun (arr: S[,]) -> arr.[0,0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray2D" -> true | _ -> false)) - test "check Struct 4" (<@ (fun (arr: S[,,]) -> arr.[0,0,0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray3D" -> true | _ -> false)) - test "check Struct 5" (<@ (fun (arr: S[,,,]) -> arr.[0,0,0,0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray4D" -> true | _ -> false)) - test "check Struct 2 arr" (<@ (fun (arr: S[]) -> arr.[0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray" -> true | _ -> false)) - test "check Struct 3 arr" (<@ (fun (arr: S[,]) -> arr.[0,0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray2D" -> true | _ -> false)) - test "check Struct 4 arr" (<@ (fun (arr: S[,,]) -> arr.[0,0,0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray3D" -> true | _ -> false)) - test "check Struct 5 arr" (<@ (fun (arr: S[,,,]) -> arr.[0,0,0,0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray4D" -> true | _ -> false)) - test "check Struct 6" (<@ (fun (arr: int[]) -> arr.[0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray" -> true | _ -> false)) - test "check Struct 7" (<@ (fun (arr: int[,]) -> arr.[0,0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray2D" -> true | _ -> false)) - test "check Struct 8" (<@ (fun (arr: int[,,]) -> arr.[0,0,0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray3D" -> true | _ -> false)) - test "check Struct 9" (<@ (fun (arr: int[,,,]) -> arr.[0,0,0,0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray4D" -> true | _ -> false)) - test "check Struct C" (<@ S() @> |> (function DefaultValue _ -> true | _ -> false)) - test "check Mutate 1" (<@ let mutable x = 0 in x <- 1 @> |> (function Let(v,Int32 0, VarSet(v2,Int32 1)) when v = v2 -> true | _ -> false)) - - let q = <@ let mutable x = 0 in x <- 1 @> - - let rec getMethod (e : Expr) = - match e with - | Call(None, mi, _) -> mi - | Let(_,_,m) -> getMethod m - | Lambdas(_, e) -> getMethod e - | _ -> failwithf "not a lambda: %A" e - - let increment (r : byref) = r <- r + 1 - let incrementMeth = getMethod <@ let mutable a = 10 in increment(&a) @> - - let rec rebuild (e : Expr) = - match e with - | ExprShape.ShapeLambda(v,b) -> Expr.Lambda(v, rebuild b) - | ExprShape.ShapeVar(v) -> Expr.Var v - | ExprShape.ShapeCombination(o, args) -> ExprShape.RebuildShapeCombination(o, args |> List.map rebuild) - - test "check AddressOf in call" (try let v = Var("a", typeof, true) in Expr.Let(v, Expr.Value 10, Expr.Call(incrementMeth, [Expr.AddressOf(Expr.Var v)])) |> ignore; true with _ -> false) - test "check AddressOf rebuild" (try rebuild <@ let mutable a = 10 in increment(&a) @> |> ignore; true with _ -> false) - test "check AddressOf argument" (<@ let mutable a = 10 in increment(&a) @> |> function Let(_, _, Call(None, _, [AddressOf(_)])) -> true | _ -> false) - test "check AddressOf type" (<@ let mutable a = 10 in increment(&a) @> |> function Let(_, _, Call(None, _, [AddressOf(_) as e])) -> (try e.Type = typeof.MakeByRefType() with _ -> false) | _ -> false) - - - // Test basic expression splicing - let f8383 (x:int) (y:string) = 0 - let test2 = - let v = 1 in - let s = "2" in - <@ f8383 v s @> - - let f8384 (x:'a) (y:string) = 0 - let test3a = - let v = 1 in - let s = "2" in - <@ f8384 v s @> - - let test3b() = - let v = 1 in - let s = "2" in - <@ f8384 v s @> - - check "value splice 1" test2 <@ f8383 1 "2" @> - check "value splice 2" test3a <@ f8384 1 "2" @> - check "value splice 3" (test3b()) <@ f8384 1 "2" @> - - test "value splice 4" (let v1 = 3 in let v2 = 1+2 in <@ 1 + v1 @> = <@ 1 + v2 @>) - test "expr splice 1" (<@ %(<@ 1 @>) @> = <@ 1 @>) - - // Test basic type splicing - - let f8385 (x:'a) (y:string) = <@ (x,y) @> - check "type splice 1" (f8385 1 "a") <@ (1,"a") @> - check "type splice 2" (f8385 "b" "a") <@ ("b","a") @> - - test "check TryGetReflectedDefinition (local f)" ((<@ f 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - test "check TryGetReflectedDefinition (local recursive f2)" - ((<@ f2 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo) <> None | _ -> false))) - - - test "check lambda closed" (Seq.length ((<@ (fun (x:int) -> 1) @>).GetFreeVars()) = 0) - test "check for loop closed" (Seq.length ((<@ for i = 1 to 10 do () done @>).GetFreeVars()) = 0) - test "check while loop closed" (Seq.length ((<@ while true do () done @>).GetFreeVars()) = 0) - test "check let rec closed" (Seq.length ((<@ let rec f (x:int) = f (f x) in f @>).GetFreeVars()) = 0) - - // Check we can use ReflectedDefinition on a floating point pattern match - type T = | A of float - - - test "check NewUnionCase" (<@ A(1.0) @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) - - - [] - let foo v = match v with | A(1.0) -> 0 | _ -> 1 - - test "check TryGetReflectedDefinition (local f)" - ((<@ foo (A(1.0)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - [] - let test3297327 v = match v with | A(1.0) -> 0 | _ -> 1 - - test "check TryGetReflectedDefinition (local f)" - ((<@ foo (A(1.0)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - type Foo() = - let source = [1;2;3] - [] - let foo() = source - let bar() = - let b = <@ source @> - b - member __.Bar = bar() - [] - member x.Z() = source - - - test "check accesses to implicit fields in ReflectedDefinitions" - begin - let foo = Foo() - match foo.Bar with - | FieldGet(Some (Value (v,t)), _) -> Object.ReferenceEquals(v, foo) - | _ -> false - end - -#if !FSHARP_CORE_31 && !TESTS_AS_APP && !NETCOREAPP - test "check accesses to readonly fields in ReflectedDefinitions" - begin - let c1 = Class1("a") - match <@ c1.myReadonlyField @> with - | FieldGet(Some (ValueWithName (_, v, "c1")), field) -> (v.Name = "Class1") && (field.Name = "myReadonlyField") - | _ -> false - end -#endif - -end - -(* -module SubstiutionTest = begin - let tm = (<@ (fun x y -> x + y + y) @>) - // TEST INVALID - this match fails because a variable is escaping. - let Some(x,y,y') = Template <@. (fun x y -> _ + _ + _) .@> tm - let Some(xyy) = Template <@. (fun (x:int) (y:int) -> _) .@> tm - test "check free vars (tm)" (List.length (freeInExpr tm.Raw) = 0) - test "check free vars (x)" (List.length (freeInExpr x.Raw) = 1) - test "check free vars (y)" (List.length (freeInExpr y.Raw) = 1) - test "check free vars (xyy)" (List.length (freeInExpr xyy.Raw) = 2) - - - let Some xv = Var.Query(x.Raw) - let Some body = Template <@. (fun x -> _) .@> tm - test "check free vars (body)" (List.length (freeInExpr body.Raw) = 1) - let body2 = substitute (fun _ -> None) (fun v -> if v = xv then (printf "Yes!\n"; Some((<@ 1 @>).Raw)) else None) body - test "check free vars (body2)" (List.length (freeInExpr body2.Raw) = 0) - let body3 = substitute (fun _ -> None) (fun v -> if v = xv then Some y.Raw else None) body - test "check free vars (body3)" (List.length (freeInExpr body3.Raw) = 1) - -end -*) - -(* - -module TomasP = begin - open Microsoft.FSharp.Quotations - open Microsoft.FSharp.Quotations.Patterns - - let ex1 = <@ 1 + 2 @> - let ex2 = <@ 1 + 10/5 @> - - type simple_expr = - | Int of int - | Add of simple_expr * simple_expr - | Sub of simple_expr * simple_expr - | Mul of simple_expr * simple_expr - | Div of simple_expr * simple_expr - - - let what_is x = - match x with - | Int32 (_) -> "number"; - | _ -> - match x with - | Application(_) -> "application"; - | _ -> - "something else..." - - // Prints "number" - do print_string (what_is <@ 1 @>) - - // Prints "application" - do print_string (what_is <@ 1 + 2 @>) - - let rec parse x = - match x with - // x contains the number so we can simply return Int(x) - | Int32 (x) -> Int(x); - | Applications (GenericTopDnUse <@ (+) @> tyargs,[a1;a2]) -> Add(parse a1, parse a2) - | Applications (GenericTopDnUse <@ (-) @> tyargs,[a1;a2]) -> Sub(parse a1, parse a2) - | Applications (GenericTopDnUse <@ ( * ) @> tyargs,[a1;a2]) -> Mul(parse a1, parse a2) - | Applications (GenericTopDnUse <@ ( / ) @> tyargs,[a1;a2]) -> Div(parse a1, parse a2) - | _ -> failwith "parse" - - let a = 1 - let q = <@ if (a = 0) then 1 else 2 @> - let ex4 = - match q with - | IfThenElse (cond,trueBranch,falseBranch) -> - // cond - 'expr' that represents condition - // trueBranch - 'expr' that represents the true branch - // falseBranch - 'expr' that represents the false branch - print_string "If-then-else statement" - - | _ -> - print_string "Something else" - - type a = | B of string - [] - let processStuff sequence = Seq.iter (function B packet -> ()) sequence - -end - -module ErrorEstimateTest = - open Quotations - open Quotations.Expr - - //let f x = x + 2.0*x*x - //let t = <@ fun x -> x + 2*x*x @> - - type Error = Err of float - - let rec errorEstimateAux t (env : Map<_,_>) = - match t with - | GenericTopDnApp <@ (+) @> (tyargs,[xt;yt]) -> - let x,Err(xerr) = errorEstimateAux xt env - let y,Err(yerr) = errorEstimateAux yt env - (x+y,Err(xerr+yerr)) - | GenericTopDnApp <@ (-) @> (tyargs,[xt;yt]) -> - let x,Err(xerr) = errorEstimateAux xt env - let y,Err(yerr) = errorEstimateAux yt env - (x-y,Err(xerr+yerr)) - | GenericTopDnApp <@ ( * ) @> (tyargs,[xt;yt]) -> - let x,Err(xerr) = errorEstimateAux xt env - let y,Err(yerr) = errorEstimateAux yt env - - (x*y,Err(xerr*abs(y)+yerr*abs(x)+xerr*yerr)) - - // TBD... - | GenericTopDnApp <@ ( / ) @> (tyargs,[xt;yt]) -> - let x,Err(xerr) = errorEstimateAux xt env - let y,Err(yerr) = errorEstimateAux yt env - // check: - (x/y,Err(abs((y*xerr - yerr*x)/(y+yerr)))) - - | GenericTopDnApp <@ abs @> (tyargs,[xt]) -> - let x,Err(xerr) = errorEstimateAux xt env - (abs(x),Err(xerr)) - | Let((var,vet), bodyt) -> - let varv,verr = errorEstimateAux vet env - errorEstimateAux bodyt (env.Add(var.Name,(varv,verr))) - - | App(ResolvedTopDnUse(info,Lambda(v,body)),arg) -> - errorEstimateAux (MkLet((v,arg),body)) env - | Var(x) -> env.[x] - | Double(n) -> (n,Err(0.0)) - | _ -> failwithf "unrecognized term: %A" t - - - let rec errorEstimateFun (t : Expr) = - match t with - | Lambda(x,t) -> - (fun xv -> errorEstimateAux t (Map.ofSeq [(x.Name,xv)])) - | ResolvedTopDnUse(info,body) -> - errorEstimateFun body - | _ -> failwithf "unrecognized term: %A - expected a lambda" t - - - - let errorEstimate (t : Expr float>) = errorEstimateFun t.Raw - - let rec errorEstimate2 (t : Expr float -> float>) = - match t.Raw with - | Lambdas([x;y],t) -> - (fun xv yv -> errorEstimateAux t (Map.ofSeq [(x.Name,xv); (y.Name,yv)])) - | _ -> failwithf "unrecognized term: %A - expected a lambda of two args" t - - let (±) x = Err(x) - //fsi.AddPrinter (fun (x,Err(v)) -> sprintf "%g±%g" x v) - - errorEstimate <@ fun x -> x @> (1.0,±0.1) - errorEstimate <@ fun x -> 2.0*x @> (1.0,±0.1) - errorEstimate <@ fun x -> x*x @> (1.0,±0.1) - errorEstimate <@ fun x -> 1.0/x @> (0.5,±0.1) - - errorEstimate <@ fun x -> let y = x + x - y*y + 2.0 @> (1.0,±0.1) - - errorEstimate <@ fun x -> x+2.0*x+3.0*x*x @> (1.0,±0.1) - - errorEstimate <@ fun x -> x+2.0*x+3.0/(x*x) @> (0.3,±0.1) - - [] - let poly x = x+2.0*x+3.0/(x*x) - - errorEstimate <@ poly @> (0.3,±0.1) - errorEstimate <@ poly @> (30271.3,±0.0001) -*) -module Test72594 = - let effect (i:int) = () - let foo () = () - let foo1 () = - let i = 1 // prevent uncurring of foo1 - fun () -> () - let foo2 () () = () - - type C() = - member this.CFoo() () = () - let c = C() - - test "test72594-effect" - (<@ foo (effect 1) @> - |> function (Sequential - ((Call(None,mi1,[Value(v, t)])), - (Call(None,mi2,[])))) when mi1.Name = "effect" && t = typeof && v = box 1 && mi2.Name = "foo" -> true - | _ -> false) - - test "test72594-no-effect" - (<@ foo () @> |> function (Call(None,mi2,[])) when mi2.Name = "foo"-> true | _ -> false) - - test "test72594-curried" - (<@ foo1 (effect 1) () @> - |> function Application(Sequential( - (Call (None, effect, [Value(v1,tInt)])), - (Call (None, foo1,[]))), Value (vUnit,tUnit)) - when effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof && foo1.Name = "foo1" -> true - | _ -> false) - - - test "test72594-curried-2nd-arg" - (<@ foo1 () (effect 1) @> - |> function Application(Call(None, foo1,[]),Call (None, effect, [Value(v1,tInt)])) - - when effect.Name = "effect" && v1 = box 1 && tInt = typeof && foo1.Name = "foo1" -> true - | x -> - printfn "%A" x - false) - - - test "test72594-uncurried" - (<@ foo2 (effect 1) () @> - |> function (Call(None, foo2, [Call(None,effect,[Value(v1,tInt)]);Value(vUnit,tUnit)])) - when effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof && foo2.Name = "foo2" -> true - | _ -> false) - - test "test72594-uncurried-2nd-arg" - (<@ foo2 () (effect 1) @> - |> function (Call(None, foo2, [Value(vUnit,tUnit);Call(None,effect,[Value(v1,tInt)])])) - when effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof && foo2.Name = "foo2" -> true - | _ -> false) - - test "test72594-member-curried" - (<@ c.CFoo (effect 1) () @> - |> function Application (Application (Lambda (_, - Lambda (_, - Call (Some _, cFoo, [_; _]))), - Call (None, effect, [Value (v1,tInt)])), Value (vUnit,tUnit)) - when cFoo.Name="CFoo" && effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof -> true - | _ -> false) - test "test72594-member-curried-2nd-arg" - (<@ c.CFoo () (effect 1) @> - |> function Application (Application (Lambda (_, - Lambda (_, - Call (Some _, cFoo, [_; _]))), - Value (vUnit,tUnit)), - Call (None, effect, [Value (v1,tInt)])) - when cFoo.Name="CFoo" && effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof -> true - | _ -> false) - -module Test414894 = - - let effect(a : int) = () - - let foo() = () - - let f () () = () - let f1 (x:int) () = () - let f2 () (x:int) = () - - - type X() = - static member f1 () = () - static member f2 () () = () - static member f3 (x:int) () = () - static member f4 () (x:int) = () - member x.f5 () = () - member x.f6 () () = () - member x.f7 (a:int) () = () - member x.f8 () (a:int) = () - - let x = X() - - let (|IntVal|_|) expected = - function - | Value(v, ty) when ty = typeof && expected = unbox v -> Some() - | _ -> None - - let (|UnitVal|_|) = - function - | Value(v, ty) when v = box () && ty = typeof -> Some() - | _ -> None - - let (|EffectCall|_|) = - function - | Call(_, m, _) when m.Name = "effect" -> Some() - | _ -> None - - test "test414894" - ( - <@ foo @> - |> function - | Lambda(_, Call(None, mFoo, [])) when mFoo.Name = "foo" -> true - | _ -> false - ) - test "Test414894-2curried-unit-args-1-1" - ( - <@ f @> - |> function - | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f" -> true - | _ -> false - ) - test "Test414894-2curried-args-1-2" - ( - <@ f () @> - |> function - | Let(_, UnitVal, Lambda(_, Call(_, mi, args))) when mi.Name = "f" -> true - | _ -> false - ) - test "Test414894-2curried-args-1-3" - ( - <@ f (effect 1) @> - |> function - | Let(_, EffectCall, Lambda(_, Call(_, mi, args))) when mi.Name = "f" -> true - | _ -> false - ) - - test "Test414894-2curried-args-2-1" - ( - <@ f1 @> - |> function - | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f1" -> true - | _ -> false - ) - test "Test414894-2curried-args-2-2" - ( - <@ f1 1 @> - |> function - | Let(_, IntVal 1, Lambda(_, Call(_, mi, args))) when mi.Name = "f1" -> true - | _ -> false - ) - - test "Test414894-2curried-args-3-1" - ( - <@ f2 @> - |> function - | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true - | _ -> false - ) - test "Test414894-2curried-args-3-2" - ( - <@ f2 () @> - |> function - | Let(_, UnitVal, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true - | _ -> false - ) - - test "Test414894-2curried-args-3-3" - ( - <@ f2 (effect 1) @> - |> function - | Let(_, EffectCall, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-1-1" - ( - <@ X.f1 @> - |> function - | Lambda(_, Call(None, mFoo, [])) when mFoo.Name = "f1" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-2-1" - ( - <@ X.f2 @> - |> function - | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true - | _ -> false - ) - test "Test414894-2curried-args-static-member-2-2" - ( - <@ X.f2 () @> - |> function - | Application(Lambda(_, Lambda(_, Call(None, mi, _))), UnitVal) when mi.Name = "f2" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-2-3" - ( - <@ X.f2 (effect 1) @> - |> function - | Application(Lambda(_, Lambda(_, Call(None, mi, _))), EffectCall) when mi.Name = "f2" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-3-1" - ( - <@ X.f3 @> - |> function - | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f3" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-3-2" - ( - <@ X.f3 5 @> - |> function - | Application(Lambda(_, Lambda(_, Call(None, mi, _))), IntVal 5) when mi.Name = "f3" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-4-1" - ( - <@ X.f4 @> - |> function - | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f4" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-4-2" - ( - <@ X.f4 () @> - |> function - | Application(Lambda(_, Lambda(_, Call(None, mi, _))), UnitVal) when mi.Name = "f4" -> true - | _ -> false - ) - - test "Test414894-2curried-args-static-member-4-3" - ( - <@ X.f4 (effect 1) @> - |> function - | Application(Lambda(_, Lambda(_, Call(None, mi, _))), EffectCall) when mi.Name = "f4" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-5-1" - ( - <@ x.f5 @> - |> function - | Lambda(_, Call(Some _, mFoo, [])) when mFoo.Name = "f5" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-6-1" - ( - <@ x.f6 @> - |> function - | Lambda(_, Lambda(_, Call(Some _, mi, args))) when mi.Name = "f6" -> true - | _ -> false - ) - test "Test414894-2curried-args-instance-member-6-2" - ( - <@ x.f6 () @> - |> function - | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), UnitVal) when mi.Name = "f6" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-6-3" - ( - <@ x.f6 (effect 1) @> - |> function - | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), EffectCall) when mi.Name = "f6" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-7-1" - ( - <@ x.f7 @> - |> function - | Lambda(_, Lambda(_, Call(Some _, mi, args))) when mi.Name = "f7" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-7-2" - ( - <@ x.f7 5 @> - |> function - | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), IntVal 5) when mi.Name = "f7" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-8-1" - ( - <@ x.f8 @> - |> function - | Lambda(_, Lambda(_, Call(Some _, mi, args))) when mi.Name = "f8" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-8-2" - ( - <@ x.f8 () @> - |> function - | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), UnitVal) when mi.Name = "f8" -> true - | _ -> false - ) - - test "Test414894-2curried-args-instance-member-8-3" - ( - <@ x.f8 (effect 1) @> - |> function - | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), EffectCall) when mi.Name = "f8" -> true - | _ -> false - ) - -module MoreTests = - - - open Microsoft.FSharp.Quotations - - module OneModule = - let ModuleFunctionNoArgs() = 1 - let ModuleFunctionOneArg(x:int) = 1 - let ModuleFunctionOneUnitArg(x:unit) = 1 - let ModuleFunctionOneTupledArg(x:int*int) = 1 - let ModuleFunctionTwoArgs(x:int,y:int) = 1 - - - type ClassOneArg(a:int) = - static member TestStaticMethodOneTupledArg(x:int*int) = 1 - static member TestStaticMethodOneArg(x:int) = x - static member TestStaticMethodNoArgs() = 1 - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - static member TestStaticProp = 3 - member c.TestInstanceProp = 3 - member c.TestInstanceIndexProp with get(idx:int) = 3 - member c.TestInstanceSettableIndexProp with set (idx:int) (v:int) = () - member c.TestInstanceSettableIndexProp2 with set (idx1:int, idx2:int) (v:int) = () - member c.TestInstanceMethodNoArgs() = 1 - member c.TestInstanceMethodOneArg(x:int) = x - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - member this.GetterIndexer - with get (x:int) = 1 - - member this.TupleGetterIndexer - with get (x:int*int) = 1 - - member this.Item - with get (x:int) = 1 - - member this.TupleSetterIndexer - with get (x : int*int) = 1 - - member this.SetterIndexer - with set (x:int) (y:int) = () - - member this.Item - with set (x:int) (y:int) = () - - member this.Setter - with set (x : int) = () - - member this.TupleSetter - with set (x : int*int) = () - - - type ClassNoArg() = - static member TestStaticMethodOneTupledArg(x:int*int) = x - static member TestStaticMethodOneArg(x:int) = x - static member TestStaticMethodNoArgs() = 1 - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - static member TestStaticProp = 3 - static member TestStaticSettableProp with set (v:int) = () - static member TestStaticSettableIndexProp with set (idx:int) (v:int) = () - member c.TestInstanceProp = 3 - member c.TestInstanceIndexProp with get(idx:int) = 3 - member c.TestInstanceSettableIndexProp with set (idx:int) (v:int) = () - member c.TestInstanceMethodNoArgs() = 1 - member c.TestInstanceMethodOneArg(x:int) = x - member c.TestInstanceMethodOneTupledArg(x:int*int) = 1 - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - type GenericClassNoArg<'a>() = - static member TestStaticMethodOneTupledArg(x:int*int) = x - static member TestStaticMethodOneArg(x:int) = x - static member TestStaticMethodNoArgs() = 1 - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - static member TestStaticProp = 3 - member c.TestInstanceProp = 3 - member c.TestInstanceIndexProp with get(idx:int) = 3 - member c.TestInstanceSettableIndexProp with set (idx:int) (v:int) = () - member c.TestInstanceMethodNoArgs() = 1 - member c.TestInstanceMethodOneArg(x:int) = x - member c.TestInstanceMethodOneTupledArg(x:int*int) = 1 - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - - let isMeth (inp : Expr<_>) = match inp with Call _ -> true | _ -> false - let isPropGet (inp : Expr<_>) = match inp with PropertyGet _ -> true | _ -> false - let isPropSet (inp : Expr<_>) = match inp with PropertySet _ -> true | _ -> false - - //printfn "res = %b" (isPropGet <@ ClassOneArg.TestStaticProp @>) - test "test3931a" (isMeth <@ OneModule.ModuleFunctionNoArgs() @>) - test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneArg(1) @>) - test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneUnitArg() @>) - test "test3931a" (isMeth <@ OneModule.ModuleFunctionTwoArgs(1,2) @>) - test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneTupledArg(1,2) @>) - let p = (1,2) - // This case doesn't match because F# performs type-base arity analysis for module 'let' bindings - // and we see this untupling here. - // Thus this is elaborated into 'let v = p in let v1 = p#1 in let v2 = p#2 in f(v1,v2)' - // test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneTupledArg(p) @>) - - //printfn "res = %b" (isPropGet <@ ClassOneArg.TestStaticProp @>) - test "test3932a" (isMeth <@ ClassOneArg.TestStaticMethodOneArg(3) @>) - test "test3932f" (isMeth <@ ClassOneArg.TestStaticMethodNoArgs() @>) - test "test3932g" (isMeth <@ ClassOneArg.TestStaticMethodTwoArgs(3,4) @>) - - test "test3932qA" (isPropGet <@ ClassOneArg(3).TestInstanceProp @>) - test "test3932qB" (isPropGet <@ ClassOneArg(3).TestInstanceIndexProp(4) @>) - test "test3932qC" (isPropSet <@ ClassOneArg(3).TestInstanceSettableIndexProp(4) <- 5 @>) - test "test3932qD" (isPropSet <@ ClassOneArg(3).TestInstanceSettableIndexProp2(4,5) <- 6 @>) - test "test3932q77" (match <@ ClassOneArg(3).TestInstanceSettableIndexProp2(4,5) <- 6 @> with - | PropertySet(Some _, _, [Int32(4); Int32(5)], Int32(6)) -> true - | _ -> false) - - test "test3932wA" (isMeth <@ ClassOneArg(3).TestInstanceMethodNoArgs() @>) - test "test3932wB" (isMeth <@ ClassOneArg(3).TestInstanceMethodOneArg(3) @>) - test "test3932e" (isMeth <@ ClassOneArg(3).TestInstanceMethodTwoArgs(3,4) @>) - - test "test3932q1" (isPropSet <@ ClassOneArg(3).Setter <- 3 @>) - test "test3932q2" (isPropGet <@ ClassOneArg(3).GetterIndexer(3) @>) - test "test3932q3" (isPropGet <@ ClassOneArg(3).[3] @>) - test "test3932q4" (isPropGet <@ ClassOneArg(3).TupleGetterIndexer((3,4)) @>) - test "test3932q5" (isPropSet <@ ClassOneArg(3).SetterIndexer(3) <- 3 @>) - test "test3932q61" (isPropSet <@ ClassOneArg(3).[3] <- 3 @>) - test "test3932q62" (match <@ ClassOneArg(3).[4] <- 5 @> with PropertySet(Some _,_, [Int32(4)], Int32(5)) -> true | _ -> false) - test "test3932q7" (isPropSet <@ ClassOneArg(3).TupleSetter <- (3,4) @>) - - - test "test3932" (isPropGet <@ ClassNoArg.TestStaticProp @>) - test "test3932" (isPropSet <@ ClassNoArg.TestStaticSettableProp <- 3 @>) - - printfn "res = %A" <@ ClassNoArg.TestStaticSettableProp <- 5 @> - test "test3932q63" (match <@ ClassNoArg.TestStaticSettableProp <- 5 @> with PropertySet(None, _, [], Int32(5)) -> true | _ -> false) - test "test3932q64" (match <@ ClassNoArg.TestStaticSettableIndexProp(4) <- 5 @> with PropertySet(None, _, [Int32(4)], Int32(5)) -> true | _ -> false) - test "test3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneArg(3) @>) - test "test3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneTupledArg((3,2)) @>) - test "test3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneTupledArg(p) @>) - test "test3932t" (isMeth <@ ClassNoArg.TestStaticMethodNoArgs() @>) - test "test3932y" (isMeth <@ ClassNoArg.TestStaticMethodTwoArgs(3,4) @>) - - test "test3932u" (isPropGet <@ ClassNoArg().TestInstanceProp @>) - test "test3932u" (isPropGet <@ ClassNoArg().TestInstanceIndexProp(4) @>) - test "test3932q65" (match <@ ClassNoArg().TestInstanceIndexProp(4) @> with PropertyGet(Some _, _, [(Int32(4))]) -> true | _ -> false) - test "test3932u" (isPropSet <@ ClassNoArg().TestInstanceSettableIndexProp(4) <- 5 @>) - test "test3932q66" (match <@ ClassNoArg().TestInstanceSettableIndexProp(4) <- 5 @> with PropertySet(Some _, _, [(Int32(4))], Int32(5)) -> true | _ -> false) - test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodNoArgs() @>) - test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneArg(3) @>) - test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneTupledArg((3,4)) @>) - test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneTupledArg(p) @>) - test "test3932o" (isMeth <@ ClassNoArg().TestInstanceMethodTwoArgs(3,4) @>) - - test "test3932" (isPropGet <@ ClassNoArg.TestStaticProp @>) - test "test3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneArg(3) @>) - test "test3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneTupledArg((3,4)) @>) - test "test3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneTupledArg(p) @>) - test "test3932tg" (isMeth <@ GenericClassNoArg.TestStaticMethodNoArgs() @>) - test "test3932yg" (isMeth <@ GenericClassNoArg.TestStaticMethodTwoArgs(3,4) @>) - - test "test3932ug" (isPropGet <@ (GenericClassNoArg()).TestInstanceProp @>) - test "test3932ug" (isPropGet <@ (GenericClassNoArg()).TestInstanceIndexProp(4) @>) - test "test3932ug" (match <@ (GenericClassNoArg()).TestInstanceIndexProp(4) @> with PropertyGet(Some _, _, [Int32(4)]) -> true | _ -> false) - - test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodNoArgs() @>) - test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneArg(3) @>) - test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneTupledArg((3,4)) @>) - test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneTupledArg(p) @>) - test "test3932og" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodTwoArgs(3,4) @>) - -// Checks we can use ResolveMethodDn on methods marked with ReflectedDefinition attribute -module CheckRlectedMembers = - - - - open Microsoft.FSharp.Quotations - - type ClassOneArg(a:int) = - [] - new () = ClassOneArg(3) - [] - static member TestStaticMethodOneArg(x:int) = x - [] - static member TestStaticMethodNoArgs() = 1 - [] - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - [] - static member TestStaticProp = 3 - [] - member c.TestInstanceProp = 3 - [] - member c.TestInstanceMethodOneArg(x:int) = x - [] - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - - [] - member this.GetterIndexer - with get (x:int) = 1 - - [] - member this.TupleGetterIndexer - with get (x:int*int) = 1 - - [] - member this.Item - with get (x:int) = 1 - - [] - member this.TupleSetterIndexer - with get (x : int*int) = 1 - - [] - member this.SetterIndexer - with set (x:int) (y:int) = () - - [] - member this.Item - with set (x:int) (y:int) = () - - [] - member this.Setter - with set (x : int) = () - - [] - member this.TupleSetter - with set (x : int*int) = () - - - [] - type ClassOneArgOuterAttribute(a:int) = - new () = ClassOneArgOuterAttribute(3) - static member TestStaticMethodOneArg(x:int) = x - static member TestStaticMethodNoArgs() = 1 - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - static member TestStaticProp = 3 - member c.TestInstanceProp = 3 - member c.TestInstanceMethodOneArg(x:int) = x - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - - member this.GetterIndexer - with get (x:int) = 1 - - member this.TupleGetterIndexer - with get (x:int*int) = 1 - - member this.Item - with get (x:int) = 1 - - member this.TupleSetterIndexer - with get (x : int*int) = 1 - - member this.SetterIndexer - with set (x:int) (y:int) = () - - member this.Item - with set (x:int) (y:int) = () - - member this.Setter - with set (x : int) = () - - member this.TupleSetter - with set (x : int*int) = () - - type ClassNoArg() = - [] - static member TestStaticMethodOneArg(x:int) = x - [] - static member TestStaticMethodNoArgs() = 1 - [] - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - [] - static member TestStaticProp = 3 - [] - member c.TestInstanceProp = 3 - [] - member c.TestInstanceMethodOneArg(x:int) = x - [] - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - type GenericClassNoArg<'a>() = - [] - new (x:'a) = GenericClassNoArg<_>() - [] - static member TestStaticMethodOneArg(x:int) = x - [] - static member TestStaticMethodNoArgs() = 1 - [] - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - [] - static member TestStaticProp = 3 - [] - member c.TestInstanceProp = 3 - [] - member c.TestInstanceMethodOneArg(x:int) = x - [] - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - type ClassOneArgWithOverrideID(a:int) = - [] - static member TestStaticMethodOneArg(x:int) = x - [] - static member TestStaticMethodNoArgs() = 1 - [] - static member TestStaticMethodTwoArgs(x:int,y:int) = x+y - [] - static member TestStaticProp = 3 - [] - member c.TestInstanceProp = 3 - [] - member c.TestInstanceMethodOneArg(x:int) = x - [] - member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y - - - let isNewObj (inp : Expr<_>) = match inp with NewObject (ci,_) -> Expr.TryGetReflectedDefinition(ci).IsSome | _ -> false - let isMeth (inp : Expr<_>) = match inp with Call (_,mi,_) -> Expr.TryGetReflectedDefinition(mi).IsSome | _ -> false - let isPropGet (inp : Expr<_>) = match inp with PropertyGet (_,mi,_) -> Expr.TryGetReflectedDefinition(mi.GetGetMethod(true)).IsSome | _ -> false - let isPropSet (inp : Expr<_>) = match inp with PropertySet (_,mi,_,_) -> Expr.TryGetReflectedDefinition(mi.GetSetMethod(true)).IsSome | _ -> false - - //printfn "res = %b" (isPropGet <@ ClassOneArg.TestStaticProp @>) - // Note: there is a ReflectedDefinition on this constructor - test "testReflect39320a" (isNewObj <@ new ClassOneArg() @>) - test "testReflect39320ax" (isNewObj <@ new ClassOneArgOuterAttribute() @>) - // Note: no ReflectedDefinition on this constructor - test "testReflect39320b" (not (isNewObj <@ new ClassOneArg(3) @>)) - // Note: no ReflectedDefinition on this constructor - test "testReflect39320c" (not (isNewObj <@ new GenericClassNoArg() @>)) - // Note: there is a ReflectedDefinition on this constructor - test "testReflect39320d" (isNewObj <@ new GenericClassNoArg<_>(3) @>) - test "testReflect3932a" (isMeth <@ ClassOneArg.TestStaticMethodOneArg(3) @>) - test "testReflect3932f" (isMeth <@ ClassOneArg.TestStaticMethodNoArgs() @>) - test "testReflect3932g" (isMeth <@ ClassOneArg.TestStaticMethodTwoArgs(3,4) @>) - - test "testReflect3932q" (isPropGet <@ ClassOneArg(3).TestInstanceProp @>) - test "testReflect3932w" (isMeth <@ ClassOneArg(3).TestInstanceMethodOneArg(3) @>) - test "testReflect3932e" (isMeth <@ ClassOneArg(3).TestInstanceMethodTwoArgs(3,4) @>) - - test "testReflect3932ax" (isMeth <@ ClassOneArgOuterAttribute.TestStaticMethodOneArg(3) @>) - test "testReflect3932fx" (isMeth <@ ClassOneArgOuterAttribute.TestStaticMethodNoArgs() @>) - test "testReflect3932gx" (isMeth <@ ClassOneArgOuterAttribute.TestStaticMethodTwoArgs(3,4) @>) - test "testReflect3932qx" (isPropGet <@ ClassOneArgOuterAttribute(3).TestInstanceProp @>) - test "testReflect3932wx" (isMeth <@ ClassOneArgOuterAttribute(3).TestInstanceMethodOneArg(3) @>) - test "testReflect3932ex" (isMeth <@ ClassOneArgOuterAttribute(3).TestInstanceMethodTwoArgs(3,4) @>) - - test "testReflect3932" (isPropGet <@ ClassNoArg.TestStaticProp @>) - test "testReflect3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneArg(3) @>) - test "testReflect3932t" (isMeth <@ ClassNoArg.TestStaticMethodNoArgs() @>) - test "testReflect3932y" (isMeth <@ ClassNoArg.TestStaticMethodTwoArgs(3,4) @>) - - test "testReflect3932u" (isPropGet <@ ClassNoArg().TestInstanceProp @>) - test "testReflect3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneArg(3) @>) - test "testReflect3932o" (isMeth <@ ClassNoArg().TestInstanceMethodTwoArgs(3,4) @>) - - test "testReflect3932q1" (isPropSet <@ ClassOneArg(3).Setter <- 3 @>) - test "testReflect3932q2" (isPropGet <@ ClassOneArg(3).GetterIndexer(3) @>) - test "testReflect3932q3" (isPropGet <@ ClassOneArg(3).[3] @>) - test "testReflect3932q4" (isPropGet <@ ClassOneArg(3).TupleGetterIndexer((3,4)) @>) - test "testReflect3932q5" (isPropSet <@ ClassOneArg(3).SetterIndexer(3) <- 3 @>) - test "testReflect3932q6" (isPropSet <@ ClassOneArg(3).[3] <- 3 @>) - test "testReflect3932q7" (isPropSet <@ ClassOneArg(3).TupleSetter <- (3,4) @>) - - test "testReflect3932q1x" (isPropSet <@ ClassOneArgOuterAttribute(3).Setter <- 3 @>) - test "testReflect3932q2x" (isPropGet <@ ClassOneArgOuterAttribute(3).GetterIndexer(3) @>) - test "testReflect3932q3x" (isPropGet <@ ClassOneArgOuterAttribute(3).[3] @>) - test "testReflect3932q4x" (isPropGet <@ ClassOneArgOuterAttribute(3).TupleGetterIndexer((3,4)) @>) - test "testReflect3932q5x" (isPropSet <@ ClassOneArgOuterAttribute(3).SetterIndexer(3) <- 3 @>) - test "testReflect3932q6x" (isPropSet <@ ClassOneArgOuterAttribute(3).[3] <- 3 @>) - test "testReflect3932q7x" (isPropSet <@ ClassOneArgOuterAttribute(3).TupleSetter <- (3,4) @>) - - test "testReflect3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneArg(3) @>) - test "testReflect3932tg" (isMeth <@ GenericClassNoArg.TestStaticMethodNoArgs() @>) - test "testReflect3932yg" (isMeth <@ GenericClassNoArg.TestStaticMethodTwoArgs(3,4) @>) - - test "testReflect3932ug" (isPropGet <@ (GenericClassNoArg()).TestInstanceProp @>) - test "testReflect3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneArg(3) @>) - test "testReflect3932og" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodTwoArgs(3,4) @>) - - test "testReflect3932a" (isMeth <@ ClassOneArgWithOverrideID.TestStaticMethodOneArg(3) @>) - test "testReflect3932f" (isMeth <@ ClassOneArgWithOverrideID.TestStaticMethodNoArgs() @>) - test "testReflect3932g" (isMeth <@ ClassOneArgWithOverrideID.TestStaticMethodTwoArgs(3,4) @>) - - test "testReflect3932q" (isPropGet <@ ClassOneArgWithOverrideID(3).TestInstanceProp @>) - test "testReflect3932w" (isMeth <@ ClassOneArgWithOverrideID(3).TestInstanceMethodOneArg(3) @>) - test "testReflect3932e" (isMeth <@ ClassOneArgWithOverrideID(3).TestInstanceMethodTwoArgs(3,4) @>) - - -module Bug959_Regression = begin - open Microsoft.FSharp - open Microsoft.FSharp - - //let f x = <@ _ @> (lift x) - - <@ - match 1.0,"b" with - | 1.0, "a" -> - "" - | 2.0, "b" -> - "" - | _ -> "nada" @> -end - -module MoreQuotationsTests = - - let t1 = <@@ try 1 with e when true -> 2 | e -> 3 @@> - checkStrings "vwjnkwve0-vwnio" - (sprintf "%A" t1) - """TryWith (Value (1), matchValue, - IfThenElse (Let (e, matchValue, Value (true)), - Let (e, matchValue, Value (1)), - Let (e, matchValue, Value (1))), matchValue, - IfThenElse (Let (e, matchValue, Value (true)), - Let (e, matchValue, Value (2)), - Let (e, matchValue, Value (3))))""" - - [] - let k (x:int) = - try 1 with _ when true -> 2 | e -> 3 - - let t2 = <@@ Map.empty.[0] @@> - checkStrings "vwjnkwve0-vwnio1" - (sprintf "%A" t2) - "PropertyGet (Some (Call (None, Empty, [])), Item, [Value (0)])" - - - let t4 = <@@ use a = new System.IO.StreamWriter(System.IO.Stream.Null) in a @@> - checkStrings "vwjnkwve0-vwnio3" - (sprintf "%A" t4) - "Let (a, NewObject (StreamWriter, FieldGet (None, Null)), - TryFinally (a, - IfThenElse (TypeTest (IDisposable, Coerce (a, Object)), - Call (Some (Call (None, UnboxGeneric, - [Coerce (a, Object)])), Dispose, - []), Value ())))" - - checkStrings "vwjnkwve0-vwnio3fuull" - (t4.ToString(true)) - "Let (a, - NewObject (Void .ctor(System.IO.Stream), - FieldGet (None, System.IO.Stream Null)), - TryFinally (a, - IfThenElse (TypeTest (System.IDisposable, - Coerce (a, System.Object)), - Call (Some (Call (None, - System.IDisposable UnboxGeneric[IDisposable](System.Object), - [Coerce (a, System.Object)])), - Void Dispose(), []), Value ())))" - - - let t5 = <@@ try failwith "test" with _ when true -> 0 @@> - checkStrings "vwekwvel5" (sprintf "%A" t5) - """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, - IfThenElse (Value (true), Value (1), Value (0)), matchValue, - IfThenElse (Value (true), Value (0), Call (None, Reraise, [])))""" - - let t6 = <@@ let mutable a = 0 in a <- 2 @@> - - checkStrings "vwewvwewe6" (sprintf "%A" t6) - """Let (a, Value (0), VarSet (a, Value (2)))""" - - let f (x: _ byref) = x - - let t7 = <@@ let mutable a = 0 in f (&a) @@> - checkStrings "vwewvwewe7" (sprintf "%A" t7) - """Let (a, Value (0), Call (None, f, [AddressOf (a)]))""" - - let t8 = <@@ for i in 1s .. 10s do printfn "%A" i @@> - checkStrings "vwewvwewe8" (sprintf "%A" t8) - """Let (inputSequence, Call (None, op_Range, [Value (1s), Value (10s)]), - Let (enumerator, Call (Some (inputSequence), GetEnumerator, []), - TryFinally (WhileLoop (Call (Some (enumerator), MoveNext, []), - Let (i, - PropertyGet (Some (enumerator), Current, - []), - Application (Let (clo1, - Call (None, - PrintFormatLine, - [Coerce (NewObject (PrintfFormat`5, - Value ("%A")), - PrintfFormat`4)]), - Lambda (arg10, - Application (clo1, - arg10))), - i))), - IfThenElse (TypeTest (IDisposable, - Coerce (enumerator, Object)), - Call (Some (Call (None, UnboxGeneric, - [Coerce (enumerator, Object)])), - Dispose, []), Value ()))))""" - - let t9() = <@@ try failwith "test" with Failure _ -> 0 @@> - checkStrings "vwewvwewe9" (sprintf "%A" (t9())) - """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, - Let (activePatternResult1557, Call (None, FailurePattern, [matchValue]), - IfThenElse (UnionCaseTest (activePatternResult1557, Some), - Value (1), Value (0))), matchValue, - Let (activePatternResult1558, Call (None, FailurePattern, [matchValue]), - IfThenElse (UnionCaseTest (activePatternResult1558, Some), - Value (0), Call (None, Reraise, []))))""" - - let t9b = <@@ Failure "fil" @@> - checkStrings "vwewvwewe9b" (sprintf "%A" t9b) - """Call (None, Failure, [Value ("fil")])""" - - let t9c = <@@ match Failure "fil" with Failure msg -> msg | _ -> "no" @@> - checkStrings "vwewvwewe9c" (sprintf "%A" t9c) - """Let (matchValue, Call (None, Failure, [Value ("fil")]), - Let (activePatternResult1564, Call (None, FailurePattern, [matchValue]), - IfThenElse (UnionCaseTest (activePatternResult1564, Some), - Let (msg, - PropertyGet (Some (activePatternResult1564), Value, - []), msg), Value ("no"))))""" - - let t10 = <@@ try failwith "test" with Failure _ -> 0 | _ -> 1 @@> - checkStrings "vwewvwewe10" (sprintf "%A" t10) - """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, - Let (activePatternResult1565, Call (None, FailurePattern, [matchValue]), - IfThenElse (UnionCaseTest (activePatternResult1565, Some), - Value (1), Value (1))), matchValue, - Let (activePatternResult1566, Call (None, FailurePattern, [matchValue]), - IfThenElse (UnionCaseTest (activePatternResult1566, Some), - Value (0), Value (1))))""" - - let t11 = <@@ try failwith "test" with :? System.NullReferenceException -> 0 @@> - checkStrings "vwewvwewe11" (sprintf "%A" t11) - """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, - IfThenElse (TypeTest (NullReferenceException, matchValue), Value (1), - Value (0)), matchValue, - IfThenElse (TypeTest (NullReferenceException, matchValue), Value (0), - Call (None, Reraise, [])))""" - - let t12 = <@@ try failwith "test" with :? System.NullReferenceException as n -> 0 @@> - checkStrings "vwewvwewe12" (sprintf "%A" t12) - """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, - IfThenElse (TypeTest (NullReferenceException, matchValue), - Let (n, Call (None, UnboxGeneric, [matchValue]), Value (1)), - Value (0)), matchValue, - IfThenElse (TypeTest (NullReferenceException, matchValue), - Let (n, Call (None, UnboxGeneric, [matchValue]), Value (0)), - Call (None, Reraise, [])))""" - - let t13 = <@@ try failwith "test" with Failure _ -> 1 | :? System.NullReferenceException as n -> 0 @@> - checkStrings "vwewvwewe13" (sprintf "%A" t13) - """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, - Let (activePatternResult1576, Call (None, FailurePattern, [matchValue]), - IfThenElse (UnionCaseTest (activePatternResult1576, Some), - Value (1), - IfThenElse (TypeTest (NullReferenceException, - matchValue), - Let (n, - Call (None, UnboxGeneric, - [matchValue]), Value (1)), - Value (0)))), matchValue, - Let (activePatternResult1577, Call (None, FailurePattern, [matchValue]), - IfThenElse (UnionCaseTest (activePatternResult1577, Some), - Value (1), - IfThenElse (TypeTest (NullReferenceException, - matchValue), - Let (n, - Call (None, UnboxGeneric, - [matchValue]), Value (0)), - Call (None, Reraise, [])))))""" - - let t14 = <@@ try failwith "test" with _ when true -> 0 @@> - checkStrings "vwewvwewe13" (sprintf "%A" t14) - """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, - IfThenElse (Value (true), Value (1), Value (0)), matchValue, - IfThenElse (Value (true), Value (0), Call (None, Reraise, [])))""" - - let _ = <@@ let x : int option = None in x.IsSome @@> |> checkQuoteString "fqekhec1" """Let (x, NewUnionCase (None), Call (None, get_IsSome, [x]))""" - let _ = <@@ let x : int option = None in x.IsNone @@> |> checkQuoteString "fqekhec2" """Let (x, NewUnionCase (None), Call (None, get_IsNone, [x]))""" - let _ = <@@ let x : int option = None in x.Value @@> |> checkQuoteString "fqekhec3" """Let (x, NewUnionCase (None), PropertyGet (Some (x), Value, []))""" - let _ = <@@ let x : int option = None in x.ToString() @@> |> checkQuoteString "fqekhec4" """Let (x, NewUnionCase (None), Call (Some (x), ToString, []))""" - - module Extensions = - type System.Object with - member x.ExtensionMethod0() = 3 - member x.ExtensionMethod1() = () - member x.ExtensionMethod2(y:int) = y - member x.ExtensionMethod3(y:int) = () - member x.ExtensionMethod4(y:int,z:int) = y + z - member x.ExtensionMethod5(y:(int*int)) = y - member x.ExtensionProperty1 = 3 - member x.ExtensionProperty2 with get() = 3 - member x.ExtensionProperty3 with set(v:int) = () - member x.ExtensionIndexer1 with get(idx:int) = idx - member x.ExtensionIndexer2 with set(idx:int) (v:int) = () - - type System.Int32 with - member x.Int32ExtensionMethod0() = 3 - member x.Int32ExtensionMethod1() = () - member x.Int32ExtensionMethod2(y:int) = y - member x.Int32ExtensionMethod3(y:int) = () - member x.Int32ExtensionMethod4(y:int,z:int) = y + z - member x.Int32ExtensionMethod5(y:(int*int)) = y - member x.Int32ExtensionProperty1 = 3 - member x.Int32ExtensionProperty2 with get() = 3 - member x.Int32ExtensionProperty3 with set(v:int) = () - member x.Int32ExtensionIndexer1 with get(idx:int) = idx - member x.Int32ExtensionIndexer2 with set(idx:int) (v:int) = () - - let v = new obj() - let _ = <@@ v.ExtensionMethod0() @@> |> checkQuoteString "fqekhec5" """Call (None, Object.ExtensionMethod0, [PropertyGet (None, v, [])])""" - let _ = <@@ v.ExtensionMethod1() @@> |> checkQuoteString "fqekhec6" """Call (None, Object.ExtensionMethod1, [PropertyGet (None, v, [])])""" - let _ = <@@ v.ExtensionMethod2(3) @@> |> checkQuoteString "fqekhec7" """Call (None, Object.ExtensionMethod2, [PropertyGet (None, v, []), Value (3)])""" - let _ = <@@ v.ExtensionMethod3(3) @@> |> checkQuoteString "fqekhec8" """Call (None, Object.ExtensionMethod3, [PropertyGet (None, v, []), Value (3)])""" - let _ = <@@ v.ExtensionMethod4(3,4) @@> |> checkQuoteString "fqekhec9" """Call (None, Object.ExtensionMethod4, [PropertyGet (None, v, []), Value (3), Value (4)])""" - let _ = <@@ v.ExtensionMethod5(3,4) @@> |> checkQuoteString "fqekhec10" """Call (None, Object.ExtensionMethod5, [PropertyGet (None, v, []), NewTuple (Value (3), Value (4))])""" - let _ = <@@ v.ExtensionProperty1 @@> |> checkQuoteString "fqekhec11" """Call (None, Object.get_ExtensionProperty1, [PropertyGet (None, v, [])])""" - let _ = <@@ v.ExtensionProperty2 @@> |> checkQuoteString "fqekhec12" """Call (None, Object.get_ExtensionProperty2, [PropertyGet (None, v, [])])""" - let _ = <@@ v.ExtensionProperty3 <- 4 @@> |> checkQuoteString "fqekhec13" """Call (None, Object.set_ExtensionProperty3, [PropertyGet (None, v, []), Value (4)])""" - let _ = <@@ v.ExtensionIndexer1(3) @@> |> checkQuoteString "fqekhec14" """Call (None, Object.get_ExtensionIndexer1, [PropertyGet (None, v, []), Value (3)])""" - let _ = <@@ v.ExtensionIndexer2(3) <- 4 @@> |> checkQuoteString "fqekhec15" """Call (None, Object.set_ExtensionIndexer2, [PropertyGet (None, v, []), Value (3), Value (4)])""" - - let _ = <@@ v.ExtensionMethod0 @@> |> checkQuoteString "fqekhec16" """Lambda (unitVar, Call (None, Object.ExtensionMethod0, [PropertyGet (None, v, [])]))""" - let _ = <@@ v.ExtensionMethod1 @@> |> checkQuoteString "fqekhec17" """Lambda (unitVar, Call (None, Object.ExtensionMethod1, [PropertyGet (None, v, [])]))""" - let _ = <@@ v.ExtensionMethod2 @@> |> checkQuoteString "fqekhec18" """Lambda (y, Call (None, Object.ExtensionMethod2, [PropertyGet (None, v, []), y]))""" - let _ = <@@ v.ExtensionMethod3 @@> |> checkQuoteString "fqekhec19" """Lambda (y, Call (None, Object.ExtensionMethod3, [PropertyGet (None, v, []), y]))""" - let _ = <@@ v.ExtensionMethod4 @@> |> checkQuoteString "fqekhec20" """Lambda (tupledArg, Let (y, TupleGet (tupledArg, 0), Let (z, TupleGet (tupledArg, 1), Call (None, Object.ExtensionMethod4, [PropertyGet (None, v, []), y, z]))))""" - let _ = <@@ v.ExtensionMethod5 @@> |> checkQuoteString "fqekhec21" """Lambda (y, Call (None, Object.ExtensionMethod5, [PropertyGet (None, v, []), y]))""" - - let v2 = 3 - let _ = <@@ v2.ExtensionMethod0() @@> |> checkQuoteString "fqekhec22" """Call (None, Object.ExtensionMethod0, [Coerce (PropertyGet (None, v2, []), Object)])""" - let _ = <@@ v2.ExtensionMethod1() @@> |> checkQuoteString "fqekhec23" """Call (None, Object.ExtensionMethod1, [Coerce (PropertyGet (None, v2, []), Object)])""" - let _ = <@@ v2.ExtensionMethod2(3) @@> |> checkQuoteString "fqekhec24" """Call (None, Object.ExtensionMethod2, [Coerce (PropertyGet (None, v2, []), Object), Value (3)])""" - let _ = <@@ v2.ExtensionMethod3(3) @@> |> checkQuoteString "fqekhec25" """Call (None, Object.ExtensionMethod3, [Coerce (PropertyGet (None, v2, []), Object), Value (3)])""" - let _ = <@@ v2.ExtensionMethod4(3,4) @@> |> checkQuoteString "fqekhec26" """Call (None, Object.ExtensionMethod4, [Coerce (PropertyGet (None, v2, []), Object), Value (3), Value (4)])""" - let _ = <@@ v2.ExtensionMethod5(3,4) @@> |> checkQuoteString "fqekhec27" """Call (None, Object.ExtensionMethod5, [Coerce (PropertyGet (None, v2, []), Object), NewTuple (Value (3), Value (4))])""" - let _ = <@@ v2.ExtensionProperty1 @@> |> checkQuoteString "fqekhec28" """Call (None, Object.get_ExtensionProperty1, [Coerce (PropertyGet (None, v2, []), Object)])""" - let _ = <@@ v2.ExtensionProperty2 @@> |> checkQuoteString "fqekhec29" """Call (None, Object.get_ExtensionProperty2, [Coerce (PropertyGet (None, v2, []), Object)])""" - let _ = <@@ v2.ExtensionProperty3 <- 4 @@> |> checkQuoteString "fqekhec30" """Call (None, Object.set_ExtensionProperty3, [Coerce (PropertyGet (None, v2, []), Object), Value (4)])""" - let _ = <@@ v2.ExtensionIndexer1(3) @@> |> checkQuoteString "fqekhec31" """Call (None, Object.get_ExtensionIndexer1, [Coerce (PropertyGet (None, v2, []), Object), Value (3)])""" - let _ = <@@ v2.ExtensionIndexer2(3) <- 4 @@> |> checkQuoteString "fqekhec32" """Call (None, Object.set_ExtensionIndexer2, [Coerce (PropertyGet (None, v2, []), Object), Value (3), Value (4)])""" - - let _ = <@@ v2.ExtensionMethod0 @@> |> checkQuoteString "fqekhec33" """Lambda (unitVar, Call (None, Object.ExtensionMethod0, [Coerce (PropertyGet (None, v2, []), Object)]))""" - let _ = <@@ v2.ExtensionMethod1 @@> |> checkQuoteString "fqekhec34" """Lambda (unitVar, Call (None, Object.ExtensionMethod1, [Coerce (PropertyGet (None, v2, []), Object)]))""" - let _ = <@@ v2.ExtensionMethod2 @@> |> checkQuoteString "fqekhec35" """Lambda (y, Call (None, Object.ExtensionMethod2, [Coerce (PropertyGet (None, v2, []), Object), y]))""" - let _ = <@@ v2.ExtensionMethod3 @@> |> checkQuoteString "fqekhec36" """Lambda (y, Call (None, Object.ExtensionMethod3, [Coerce (PropertyGet (None, v2, []), Object), y]))""" - let _ = <@@ v2.ExtensionMethod4 @@> |> checkQuoteString "fqekhec37" """Lambda (tupledArg, Let (y, TupleGet (tupledArg, 0), Let (z, TupleGet (tupledArg, 1), Call (None, Object.ExtensionMethod4, [Coerce (PropertyGet (None, v2, []), Object), y, z]))))""" - let _ = <@@ v2.ExtensionMethod5 @@> |> checkQuoteString "fqekhec38" """Lambda (y, Call (None, Object.ExtensionMethod5, [Coerce (PropertyGet (None, v2, []), Object), y]))""" - - let _ = <@@ v2.Int32ExtensionMethod0() @@> |> checkQuoteString "fqekhec39" """Call (None, Int32.Int32ExtensionMethod0, [PropertyGet (None, v2, [])])""" - let _ = <@@ v2.Int32ExtensionMethod1() @@> |> checkQuoteString "fqekhec40" """Call (None, Int32.Int32ExtensionMethod1, [PropertyGet (None, v2, [])])""" - let _ = <@@ v2.Int32ExtensionMethod2(3) @@> |> checkQuoteString "fqekhec41" """Call (None, Int32.Int32ExtensionMethod2, [PropertyGet (None, v2, []), Value (3)])""" - let _ = <@@ v2.Int32ExtensionMethod3(3) @@> |> checkQuoteString "fqekhec42" """Call (None, Int32.Int32ExtensionMethod3, [PropertyGet (None, v2, []), Value (3)])""" - let _ = <@@ v2.Int32ExtensionMethod4(3,4) @@> |> checkQuoteString "fqekhec43" """Call (None, Int32.Int32ExtensionMethod4, [PropertyGet (None, v2, []), Value (3), Value (4)])""" - let _ = <@@ v2.Int32ExtensionMethod5(3,4) @@> |> checkQuoteString "fqekhec44" """Call (None, Int32.Int32ExtensionMethod5, [PropertyGet (None, v2, []), NewTuple (Value (3), Value (4))])""" - let _ = <@@ v2.Int32ExtensionProperty1 @@> |> checkQuoteString "fqekhec45" """Call (None, Int32.get_Int32ExtensionProperty1, [PropertyGet (None, v2, [])])""" - let _ = <@@ v2.Int32ExtensionProperty2 @@> |> checkQuoteString "fqekhec46" """Call (None, Int32.get_Int32ExtensionProperty2, [PropertyGet (None, v2, [])])""" - let _ = <@@ v2.Int32ExtensionProperty3 <- 4 @@> |> checkQuoteString "fqekhec47" """Call (None, Int32.set_Int32ExtensionProperty3, [PropertyGet (None, v2, []), Value (4)])""" - let _ = <@@ v2.Int32ExtensionIndexer1(3) @@> |> checkQuoteString "fqekhec48" """Call (None, Int32.get_Int32ExtensionIndexer1, [PropertyGet (None, v2, []), Value (3)])""" - let _ = <@@ v2.Int32ExtensionIndexer2(3) <- 4 @@> |> checkQuoteString "fqekhec49" """Call (None, Int32.set_Int32ExtensionIndexer2, [PropertyGet (None, v2, []), Value (3), Value (4)])""" - - let _ = <@@ v2.Int32ExtensionMethod0 @@> |> checkQuoteString "fqekhec50" """Lambda (unitVar, Call (None, Int32.Int32ExtensionMethod0, [PropertyGet (None, v2, [])]))""" - let _ = <@@ v2.Int32ExtensionMethod1 @@> |> checkQuoteString "fqekhec51" """Lambda (unitVar, Call (None, Int32.Int32ExtensionMethod1, [PropertyGet (None, v2, [])]))""" - let _ = <@@ v2.Int32ExtensionMethod2 @@> |> checkQuoteString "fqekhec52" """Lambda (y, Call (None, Int32.Int32ExtensionMethod2, [PropertyGet (None, v2, []), y]))""" - let _ = <@@ v2.Int32ExtensionMethod3 @@> |> checkQuoteString "fqekhec53" """Lambda (y, Call (None, Int32.Int32ExtensionMethod3, [PropertyGet (None, v2, []), y]))""" - let _ = <@@ v2.Int32ExtensionMethod4 @@> |> checkQuoteString "fqekhec54" """Lambda (tupledArg, Let (y, TupleGet (tupledArg, 0), Let (z, TupleGet (tupledArg, 1), Call (None, Int32.Int32ExtensionMethod4, [PropertyGet (None, v2, []), y, z]))))""" - let _ = <@@ v2.Int32ExtensionMethod5 @@> |> checkQuoteString "fqekhec55" """Lambda (y, Call (None, Int32.Int32ExtensionMethod5, [PropertyGet (None, v2, []), y]))""" - - -module QuotationConstructionTests = - let arr = [| 1;2;3;4;5 |] - let f : int -> int = printfn "hello"; (fun x -> x) - let f2 : int * int -> int -> int = printfn "hello"; (fun (x,y) z -> x + y + z) - let F (x:int) = x - let F2 (x:int,y:int) (z:int) = x + y + z - - type Foo () = - member t.Item with get (index:int) = 1 - and set (index:int) (value:int) = () - - let ctorof q = match q with Patterns.NewObject(cinfo,_) -> cinfo | _ -> failwith "ctorof" - let methodof q = match q with DerivedPatterns.Lambdas(_,Patterns.Call(_,minfo,_)) -> minfo | _ -> failwith "methodof" - let fieldof q = match q with Patterns.FieldGet(_,finfo) -> finfo | _ -> failwith "fieldof" - let ucaseof q = match q with Patterns.NewUnionCase(ucinfo,_) -> ucinfo | _ -> failwith "ucaseof" - let getof q = match q with Patterns.PropertyGet(_,pinfo,_) -> pinfo | _ -> failwith "getof" - let setof q = match q with Patterns.PropertySet(_,pinfo,_,_) -> pinfo | _ -> failwith "setof" - check "vcknwwe01" (match Expr.AddressOf <@@ arr.[3] @@> with AddressOf(expr) -> expr = <@@ arr.[3] @@> | _ -> false) true - check "vcknwwe02" (match Expr.AddressSet (Expr.AddressOf <@@ arr.[3] @@>, <@@ 4 @@>) with AddressSet(AddressOf(expr),v) -> expr = <@@ arr.[3] @@> && v = <@@ 4 @@> | _ -> false) true - check "vcknwwe03" (match Expr.Application(<@@ f @@>,<@@ 5 @@>) with Application(f1,x) -> f1 = <@@ f @@> && x = <@@ 5 @@> | _ -> false) true - check "vcknwwe04" (match Expr.Applications(<@@ f @@>,[[ <@@ 5 @@> ]]) with Applications(f1,[[x]]) -> f1 = <@@ f @@> && x = <@@ 5 @@> | _ -> false) true - check "vcknwwe05" (match Expr.Applications(<@@ f2 @@>,[[ <@@ 5 @@>;<@@ 6 @@> ]; [ <@@ 7 @@> ]]) with Applications(f1,[[x;y];[z]]) -> f1 = <@@ f2 @@> && x = <@@ 5 @@> && y = <@@ 6 @@> && z = <@@ 7 @@> | _ -> false) true - check "vcknwwe06" (match Expr.Call(methodof <@@ F2 @@>,[ <@@ 5 @@>;<@@ 6 @@>; <@@ 7 @@> ]) with Call(None,minfo,[x;y;z]) -> minfo = methodof <@@ F2 @@> && x = <@@ 5 @@> && y = <@@ 6 @@> && z = <@@ 7 @@> | _ -> false) true - check "vcknwwe07" (Expr.Cast(<@@ 5 @@>) : Expr) (<@ 5 @>) - check "vcknwwe08" (try let _ = Expr.Cast(<@@ 5 @@>) : Expr in false with :? System.ArgumentException -> true) true - check "vcknwwe09" (match Expr.Coerce(<@@ 5 @@>, typeof) with Coerce(q,ty) -> ty = typeof && q = <@@ 5 @@> | _ -> false) true - check "vcknwwe0q" (match Expr.DefaultValue(typeof) with DefaultValue(ty) -> ty = typeof | _ -> false) true - check "vcknwwe0w" (match Expr.FieldGet(typeof.GetField("MaxValue")) with FieldGet(None,finfo) -> finfo = typeof.GetField("MaxValue") | _ -> false) true - check "vcknwwe0e" (match Expr.FieldSet(typeof.GetField("MaxValue"),<@@ 1 @@>) with FieldSet(None,finfo,v) -> finfo = typeof.GetField("MaxValue") && v = <@@ 1 @@> | _ -> false) true - check "vcknwwe0r" (match Expr.ForIntegerRangeLoop(Var.Global("i",typeof),<@@ 1 @@>,<@@ 10 @@>,<@@ () @@>) with ForIntegerRangeLoop(v,start,finish,body) -> v = Var.Global("i",typeof) && start = <@@ 1 @@> && finish = <@@ 10 @@> && body = <@@ () @@> | _ -> false) true - check "vcknwwe0t" (match Expr.GlobalVar("i") : Expr with Var(v) -> v = Var.Global("i",typeof) | _ -> false) true - check "vcknwwe0y" (match Expr.IfThenElse(<@@ true @@>,<@@ 1 @@>,<@@ 2 @@>) with IfThenElse(gd,t,e) -> gd = <@@ true @@> && t = <@@ 1 @@> && e = <@@ 2 @@> | _ -> false) true - check "vcknwwe0u" (match Expr.Lambda(Var.Global("i",typeof), <@@ 2 @@>) with Lambda(v,b) -> v = Var.Global("i",typeof) && b = <@@ 2 @@> | _ -> false) true - check "vcknwwe0i" (match Expr.Let(Var.Global("i",typeof), <@@ 2 @@>, <@@ 3 @@>) with Let(v,e,b) -> v = Var.Global("i",typeof) && e = <@@ 2 @@> && b = <@@ 3 @@> | _ -> false) true - check "vcknwwe0o" (match Expr.LetRecursive([(Var.Global("i",typeof), <@@ 2 @@>)], <@@ 3 @@>) with LetRecursive([(v,e)],b) -> v = Var.Global("i",typeof) && e = <@@ 2 @@> && b = <@@ 3 @@> | _ -> false) true - check "vcknwwe0p" (match Expr.LetRecursive([(Var.Global("i",typeof), <@@ 2 @@>);(Var.Global("j",typeof), <@@ 3 @@>)], <@@ 3 @@>) with LetRecursive([(v1,e1);(v2,e2)],b) -> v1 = Var.Global("i",typeof) && v2 = Var.Global("j",typeof) && e1 = <@@ 2 @@> && e2 = <@@ 3 @@> && b = <@@ 3 @@> | _ -> false) true - check "vcknwwe0a" (Expr.NewArray(typeof,[ <@@ 1 @@>; <@@ 2 @@> ])) <@@ [| 1;2 |] @@> - check "vcknwwe0s" (match Expr.NewDelegate(typeof>,[ Var.Global("i",typeof) ], <@@ () @@>) with NewDelegate(ty,[v],e) -> ty = typeof> && v = Var.Global("i",typeof) && e = <@@ () @@> | _ -> false) true - check "vcknwwe0d" (match Expr.NewObject(ctorof <@@ new obj() @@> ,[ ]) with NewObject(ty,[]) -> ty = ctorof <@@ new obj() @@> | _ -> false) true - check "vcknwwe0f" (match Expr.NewObject(ctorof <@@ new System.String('a',3) @@> ,[ <@@ 'b' @@>; <@@ 4 @@>]) with NewObject(ty,[x;y]) -> ty = ctorof <@@ new string('a',3) @@> && x = <@@ 'b' @@> && y = <@@ 4 @@> | _ -> false) true - check "vcknwwe0g" (Expr.NewRecord(typeof ,[ <@@ 4 @@> ])) <@@ { contents = 4 } @@> - check "vcknwwe0h" (try let _ = Expr.NewTuple([]) in false with :? System.ArgumentException -> true) true - check "vcknwwe0j" (try let _ = Expr.NewTuple([ <@@ 1 @@> ]) in true with :? System.ArgumentException -> false) true - check "vcknwwe0k" (match Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>]) with NewTuple([x;y]) -> x = <@@ 'b' @@> && y = <@@ 4 @@> | _ -> false) true - check "vcknwwe0l" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>])) <@@ ('b',4) @@> - check "vcknwwe0z" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>])) <@@ ('b',4,5) @@> - check "vcknwwe0x" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>])) <@@ ('b',4,5,6) @@> - check "vcknwwe0c" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>])) <@@ ('b',4,5,6,7) @@> - check "vcknwwe0v" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>])) <@@ ('b',4,5,6,7,8) @@> - check "vcknwwe0b" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>; <@@ 9 @@>])) <@@ ('b',4,5,6,7,8,9) @@> - check "vcknwwe0n" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>; <@@ 9 @@>; <@@ 10 @@>])) <@@ ('b',4,5,6,7,8,9,10) @@> - check "vcknwwe0m" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>; <@@ 9 @@>; <@@ 10 @@>])) <@@ ('b',4,5,6,7,8,9,10) @@> - check "vcknwwe011" (Expr.NewUnionCase(ucaseof <@@ Some(3) @@>,[ <@@ 4 @@> ])) <@@ Some(4) @@> - check "vcknwwe022" (Expr.NewUnionCase(ucaseof <@@ None @@>,[ ])) <@@ None @@> - check "vcknwwe033" (try let _ = Expr.NewUnionCase(ucaseof <@@ Some(3) @@>,[ ]) in false with :? ArgumentException -> true) true - check "vcknwwe044" (try let _ = Expr.NewUnionCase(ucaseof <@@ None @@>,[ <@@ 1 @@> ]) in false with :? ArgumentException -> true) true - check "vcknwwe055" (Expr.PropertyGet(getof <@@ System.DateTime.Now @@>,[ ])) <@@ System.DateTime.Now @@> - check "vcknwwe066" (try let _ = Expr.PropertyGet(getof <@@ System.DateTime.Now @@>,[ <@@ 1 @@> ]) in false with :? ArgumentException -> true) true - check "vcknwwe077" (Expr.PropertyGet(<@@ "3" @@>, getof <@@ "1".Length @@>)) <@@ "3".Length @@> - check "vcknwwe088" (Expr.PropertyGet(<@@ "3" @@>, getof <@@ "1".Length @@>,[ ])) <@@ "3".Length @@> -#if !TESTS_AS_APP && !NETCOREAPP - check "vcknwwe099" (Expr.PropertySet(<@@ (new System.Windows.Forms.Form()) @@>, setof <@@ (new System.Windows.Forms.Form()).Text <- "2" @@>, <@@ "3" @@> )) <@@ (new System.Windows.Forms.Form()).Text <- "3" @@> -#endif - check "vcknwwe099" (Expr.PropertySet(<@@ (new Foo()) @@>, setof <@@ (new Foo()).[3] <- 1 @@>, <@@ 2 @@> , [ <@@ 3 @@> ] )) <@@ (new Foo()).[3] <- 2 @@> -#if FSHARP_CORE_31 -#else - check "vcknwwe0qq1" (Expr.QuoteRaw(<@ "1" @>)) <@@ <@@ "1" @@> @@> - check "vcknwwe0qq2" (Expr.QuoteRaw(<@@ "1" @@>)) <@@ <@@ "1" @@> @@> - check "vcknwwe0qq3" (Expr.QuoteTyped(<@ "1" @>)) <@@ <@ "1" @> @@> - check "vcknwwe0qq4" (Expr.QuoteTyped(<@@ "1" @@>)) <@@ <@ "1" @> @@> -#endif - check "vcknwwe0ww" (Expr.Sequential(<@@ () @@>, <@@ 1 @@>)) <@@ (); 1 @@> - check "vcknwwe0ee" (Expr.TryFinally(<@@ 1 @@>, <@@ () @@>)) <@@ try 1 finally () @@> - check "vcknwwe0rr" (match Expr.TryWith(<@@ 1 @@>, Var.Global("e1",typeof), <@@ 1 @@>, Var.Global("e2",typeof), <@@ 2 @@>) with TryWith(b,v1,ef,v2,eh) -> b = <@@ 1 @@> && eh = <@@ 2 @@> && ef = <@@ 1 @@> && v1 = Var.Global("e1",typeof) && v2 = Var.Global("e2",typeof)| _ -> false) true - check "vcknwwe0tt" (match Expr.TupleGet(<@@ (1,2) @@>, 0) with TupleGet(b,n) -> b = <@@ (1,2) @@> && n = 0 | _ -> false) true - check "vcknwwe0yy" (match Expr.TupleGet(<@@ (1,2) @@>, 1) with TupleGet(b,n) -> b = <@@ (1,2) @@> && n = 1 | _ -> false) true - check "vcknwwe0uu" (try let _ = Expr.TupleGet(<@@ (1,2) @@>, 2) in false with :? ArgumentException -> true) true - check "vcknwwe0ii" (try let _ = Expr.TupleGet(<@@ (1,2) @@>, -1) in false with :? ArgumentException -> true) true - for i = 0 to 7 do - check "vcknwwe0oo" (match Expr.TupleGet(<@@ (1,2,3,4,5,6,7,8) @@>, i) with TupleGet(b,n) -> b = <@@ (1,2,3,4,5,6,7,8) @@> && n = i | _ -> false) true - - check "vcknwwe0pp" (match Expr.TypeTest(<@@ new obj() @@>, typeof) with TypeTest(e,ty) -> e = <@@ new obj() @@> && ty = typeof | _ -> false) true - check "vcknwwe0aa" (match Expr.UnionCaseTest(<@@ [] : int list @@>, ucaseof <@@ [] : int list @@> ) with UnionCaseTest(e,uc) -> e = <@@ [] : int list @@> && uc = ucaseof <@@ [] : int list @@> | _ -> false) true - check "vcknwwe0ss" (Expr.Value(3)) <@@ 3 @@> - check "vcknwwe0dd" (match Expr.Var(Var.Global("i",typeof)) with Var(v) -> v = Var.Global("i",typeof) | _ -> false) true - check "vcknwwe0ff" (match Expr.VarSet(Var.Global("i",typeof), <@@ 4 @@>) with VarSet(v,q) -> v = Var.Global("i",typeof) && q = <@@ 4 @@> | _ -> false) true - check "vcknwwe0gg" (match Expr.WhileLoop(<@@ true @@>, <@@ () @@>) with WhileLoop(g,b) -> g = <@@ true @@> && b = <@@ () @@> | _ -> false) true - - - -module QuotationStructUnionTests = - - [] - type T = | A of int - - test "check NewUnionCase" (<@ A(1) @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) - - [] - let foo v = match v with | A(1) -> 0 | _ -> 1 - - test "check TryGetReflectedDefinition (local f)" - ((<@ foo (A(1)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - [] - let test3297327 v = match v with | A(1) -> 0 | _ -> 1 - - test "check TryGetReflectedDefinition (local f)" - ((<@ foo (A(1)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) - - - [] - type T2 = - | A1 of int * int - - test "check NewUnionCase" (<@ A1(1,2) @> |> (function NewUnionCase(unionCase,[ Int32 1; Int32 2 ]) -> true | _ -> false)) - - //[] - //type T3 = - // | A1 of int * int - // - //test "check NewUnionCase" (<@ A1(1,2) @> |> (function NewUnionCase(unionCase,[ Int32 1; Int32 2 ]) -> true | _ -> false)) - - -module EqualityOnExprDoesntFail = - let q = <@ 1 @> - check "we09ceo" (q.Equals(1)) false - check "we09ceo" (q.Equals(q)) true - check "we09ceo" (q.Equals(<@ 1 @>)) true - check "we09ceo" (q.Equals(<@ 2 @>)) false - check "we09ceo" (q.Equals(null)) false - -module EqualityOnVarDoesntFail = - let v = Var.Global("c",typeof) - let v2 = Var.Global("c",typeof) - let v3 = Var.Global("d",typeof) - check "we09ceo2" (v.Equals(1)) false - check "we09ceo2" (v.Equals(v)) true - check "we09ceo2" (v.Equals(v2)) true - check "we09ceo2" (v.Equals(v3)) false - check "we09ceo2" (v.Equals(null)) false - -module RelatedChange3628 = - // Fix for 3628 translates "do x" into "do (x;())" when x is not unit typed. - // This regression checks the quotated form. - - open System - open Microsoft.FSharp.Quotations - open Microsoft.FSharp.Quotations.Patterns - open Microsoft.FSharp.Quotations.DerivedPatterns - - [] - let f (x:int) = do x - let (Call(None,minfo,args)) = <@ f 1 @> - let (Some lamexp) = Quotations.Expr.TryGetReflectedDefinition(minfo) - let (Lambda(v,body)) = lamexp - let (Sequential (a,b)) = body - let (Var v2) = a - check "RelatedChange3628.a" v v2 - check "RelatedChange3628.b" b <@@ () @@> - -module Check3628 = - let inline fA (x:int) = (do x) - let fB (x:int) = (do x) - let resA = fA 12 - let resB = fB 13 - let mutable (z:unit) = () - z <- fA 14 - z <- fB 15 - -module ReflectedDefinitionForPatternInputTest = - - [] - let [x] = [1];; - -module Test920236 = - open System.Collections - type Arr(a : int[]) = - interface IEnumerable with - member this.GetEnumerator() = - let i = ref -1 - { new IEnumerator with - member this.Reset() = failwith "not supported" - member this.MoveNext() = incr i; !i < a.Length - member this.Current = box (a.[!i]) - } - let arr = Arr([||]) - - let q = - let a = arr - <@ for i in a do ignore i @> - - test "Test920236" - (match q with - | Let(e,Call(Some (Coerce(Value a, typ)), mi, []), - (TryFinally - (WhileLoop((Call (Some e1, moveNext, [])), - Let(i, - PropertyGet ((Some e2),piCurrent,[]), - Call(None,_,[_]) // ignore - ) - ), - IfThenElse(TypeTest(Coerce(_,typObj), typDisposable), - Call(Some(Call(None, unboxGeneric, [Coerce(e3,typObj2)])),disposeMI, []), Value _) - )) - ) - when typ.FullName = "System.Collections.IEnumerable" && - mi.Name = "GetEnumerator" && - moveNext.Name = "MoveNext" && - piCurrent.Name = "Current" && - typDisposable.FullName = "System.IDisposable" && - unboxGeneric.Name = "UnboxGeneric" - -> true - | _ -> false) - - -module TestQuotationOfCOnstructors = - - type MyClassWithNoFields [] () = - member this.Bar z = () - - [] - type MyClassWithNoFieldsOuter () = - member this.Bar z = () - - [] - module M = - type MyClassWithNoFieldsNestedInModule () = - member this.Bar z = () - - module Inner = - type MyClassWithNoFieldsNestedInInnerModule () = - member this.Bar z = () - - module Inner = - type MyClassWithNoFieldsNestedInInnerModule () = - member this.Bar z = () - - - type MyClassWithFields []() = - let x = 12 - let y = x - let w = x // note this variable is not used in any method and becomes local to the constructor - - [] - member this.Bar z = x + z + y - - type MyGenericClassWithArgs<'T> [](inp:'T) = - let x = inp - let y = x - let w = x // note this variable is not used in any method and becomes local to the constructor - - [] - member this.Bar z = (x,y,z) - - type MyGenericClassWithTwoArgs<'T> [](inpA:'T, inpB:'T) = // note, inpB is captured - let x = inpA - let y = x - let w = x // note this variable is not used in any method and becomes local to the constructor - - [] - member this.Bar z = (x,y,z,inpB) - - type MyClassWithAsLetMethod () = - [] - let f() = 1 - - [] - member this.Bar z = f() - - - [] - type MyClassWithAsLetMethodOuter () = - let f() = 1 - - member this.Bar z = f() - - - - Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" - Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" - Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" - Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" - Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" - Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" - Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) |> printfn "%A" - Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) |> printfn "%A" - - - - test "vkjnkvrw2" - (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with - | Some - (Lambda - (_,Sequential - (NewObject objCtor, - Sequential - (FieldSet (Some (Var thisVar0), xField1, Int32 12), - Sequential - (FieldSet (Some (Var thisVar1), yField,FieldGet (Some (Var thisVar2),xField2)), - Let (wVar,FieldGet (Some (Var thisVar3), xField3), Unit)))))) - -> - thisVar0 = thisVar1 && - thisVar1 = thisVar2 && - thisVar2 = thisVar3 && - thisVar1.Name = "this" && - thisVar1.Type = typeof && - thisVar1 = Var.Global("this", typeof) && - xField1.Name = "x" && - xField2.Name = "x" && - xField3.Name = "x" && - yField.Name = "y" && - wVar.Name = "w" && - wVar.Type = typeof - - | _ -> false) - - - - test "vkjnkvrw3" - (match Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) with - | Some - (Lambda - (inpVar,Sequential - (NewObject objCtor, - Sequential - (FieldSet (Some (Var thisVar0), xField1, Var inpVar1), - Sequential - (FieldSet (Some (Var thisVar1), yField,FieldGet (Some (Var thisVar2),xField2)), - Let (wVar,FieldGet (Some (Var thisVar3), xField3), Unit)))))) - -> - inpVar.Name = "inp" && - inpVar.Type = typeof && - thisVar0 = thisVar1 && - thisVar1 = thisVar2 && - thisVar2 = thisVar3 && - thisVar1.Name = "this" && - thisVar1.Type = typeof> && - thisVar1 = Var.Global("this", typeof>) && - xField1.Name = "x" && - xField2.Name = "x" && - xField3.Name = "x" && - yField.Name = "y" && - wVar.Name = "w" && - wVar.Type = typeof - - | _ -> false) - - - test "vkjnkvrw4" - (match Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) with - | Some - (Lambdas - ([[inpAVar1; inpBVar1]], - Sequential - (NewObject objCtor, - Sequential - (FieldSet (Some (Var thisVar0), inpBField, Var inpBVar2), - Sequential - (FieldSet (Some (Var thisVar1), xField1, Var inpAVar2), - Sequential - (FieldSet (Some (Var thisVar2), yField,FieldGet (Some (Var thisVar3),xField2)), - Let (wVar,FieldGet (Some (Var thisVar4), xField3), Unit))))))) - -> true || - inpAVar1 = inpAVar2 && - inpAVar1.Name = "inpA" && - inpAVar2.Type = typeof && - inpBVar1 = inpBVar2 && - inpBVar1.Name = "inpB" && - inpBVar1.Type = typeof && - thisVar0 = thisVar1 && - thisVar1 = thisVar2 && - thisVar2 = thisVar3 && - thisVar3 = thisVar4 && - thisVar1.Name = "this" && - thisVar1 = Var.Global("this", typeof>) && - thisVar1.Type = typeof> && - inpBField.Name = "inpB" && - xField1.Name = "x" && - xField2.Name = "x" && - xField3.Name = "x" && - yField.Name = "y" && - wVar.Name = "w" && - wVar.Type = typeof - - | _ -> false) - - // Also test getting the reflected definition for private members implied by "let f() = ..." bindings - let fMethod = (typeof.GetMethod("f", Reflection.BindingFlags.Instance ||| Reflection.BindingFlags.Public ||| Reflection.BindingFlags.NonPublic)) - - // Also test getting the reflected definition for private members implied by "let f() = ..." bindings - let fMethodOuter = (typeof.GetMethod("f", Reflection.BindingFlags.Instance ||| Reflection.BindingFlags.Public ||| Reflection.BindingFlags.NonPublic)) - - test "vkjnkvrw1" - (match Expr.TryGetReflectedDefinition fMethod with - | Some (Lambdas ([[thisVar];[unitVar]], Int32 1)) - -> unitVar.Type = typeof - | _ -> false) - - Expr.TryGetReflectedDefinition fMethod |> printfn "%A" - - test "vkjnkvrw0" - (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with - | Some (Lambda (unitVar,Sequential (NewObject objCtor,Unit))) - -> unitVar.Type = typeof - | _ -> false) - - test "vkjnkvrw0b" - (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with - | Some (Lambda (unitVar,Sequential (NewObject objCtor,Unit))) - -> unitVar.Type = typeof - | _ -> false) - - test "vkjnkvrw0c" - (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with - | Some (Lambda (unitVar,Sequential (NewObject objCtor,Unit))) - -> unitVar.Type = typeof - | _ -> false) - - -module IndexedPropertySetTest = - open System - open Microsoft.FSharp.Quotations - open Microsoft.FSharp.Quotations.Patterns - - // Having int[] will allow us to swap es and l in PropertySet builder for testing. - type Foo (array:int[]) = - member t.Item with get (index:int) = array.[index] - and set (index:int) (value:int) = do array.[index] <- value - - - let testExprPropertySet () = - let foo = new Foo([|0..4|]) - let expr = <@do foo.[2] <- 0@> - - //printfn "%A" expr - - // let's rebuild expr ourself and bind it to bexpr. - let bexpr = - match expr with - | PropertySet (inst, pi, l, es) -> - match inst with - | Some(e) -> - Expr.PropertySet(e, pi, es, l) // swaping params 2 and 3 e.g. (e, pi, l.[0], [es]) yield to OK - | _ -> failwith "" - | _ -> failwith "" - - //printfn "%A" bexpr - - let result = bexpr.Equals(expr) - if result then printfn "Test OK." - else printfn "Test KO." - - do testExprPropertySet () - - - -module QuotationsOfLocalFunctions_FSharp_1_0_6403 = - - type C() = - let f1 (x:int) = 1 - let f2 (x:'T) = 1 - let f3 (x:byref) = 1 - - [] - let rd1 x = f1 x - - [] - let rd2 x = f2 x - - // not allowed - byrefs in quotations: - // [] - //let rd3 (x:byref) = f3 (&x) - - let q1 x = <@ f1 x @> - let q2 x = <@ f2 x @> - // not allowed - byrefs in quotations: - // let q3 (x:byref) = <@ f3 (&x) @> - - static let sf1 (x:int) = 1 - static let sf2 (x:'T) = 1 - static let sf3 (x:byref) = 1 - - [] - static let srd1 x = sf1 x - - [] - static let srd2 x = sf2 x - - // not allowed - byrefs in quotations: - // [] - //let rd3 (x:byref) = f3 (&x) - - static let sq1 x = <@ sf1 x @> - static let sq2 x = <@ sf2 x @> - - static let mutable sfield1 = 1 - - static member SQ1 = sq1 1 - static member SQ2 = sq2 1 - - static member SQ3 v = <@ sf1 v @> - static member SQ4 v = <@ sf2 v @> - - static member SQ5 = <@ sf1 1 @> - static member SQ6 = <@ sf2 2 @> - - static member SQ7 v = <@ srd1 v @> - static member SQ8 v = <@ srd2 v @> - - // not allowed - byrefs in quotations: - //static member SQ3 = q3 (&field1) - - static member SRD1 = Quotations.Expr.TryGetReflectedDefinition (match C.SQ7 3 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") - static member SRD2 = Quotations.Expr.TryGetReflectedDefinition (match C.SQ8 4 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") - - member self.Q1 = q1 1 - member self.Q2 = q2 1 - - member self.Q3 v = <@ f1 v @> - member self.Q4 v = <@ f2 v @> - - member self.Q5 = <@ f1 1 @> - member self.Q6 = <@ f2 2 @> - - member self.Q7 v = <@ rd1 v @> - member self.Q8 v = <@ rd2 v @> - - // not allowed - byrefs in quotations: - //member self.Q3 = q3 (&field1) - - member self.RD1 = Quotations.Expr.TryGetReflectedDefinition (match self.Q7 3 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") - member self.RD2 = Quotations.Expr.TryGetReflectedDefinition (match self.Q8 4 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") - - let test() = - let c = C() - printfn "c.Q1 = %A" c.Q1 - printfn "c.Q2 = %A" c.Q2 - printfn "c.Q3 = %A" (c.Q3 3) - printfn "c.Q4 = %A" (c.Q4 4) - printfn "c.Q5 = %A" c.Q5 - printfn "c.Q6 = %A" c.Q6 - printfn "c.Q7 = %A" (c.Q7 7) - printfn "c.Q8 = %A" (c.Q8 8) - printfn "c.RD1 = %A" c.RD1 - printfn "c.RD2 = %A" c.RD2 - - printfn "C.SQ1 = %A" C.SQ1 - printfn "C.SQ2 = %A" C.SQ2 - printfn "C.SQ3 = %A" (C.SQ3 3) - printfn "C.SQ4 = %A" (C.SQ4 4) - printfn "C.SQ5 = %A" C.SQ5 - printfn "C.SQ6 = %A" C.SQ6 - printfn "C.SQ7 = %A" (C.SQ7 7) - printfn "C.SQ8 = %A" (C.SQ8 8) - printfn "C.SRD1 = %A" C.SRD1 - printfn "C.SRD2 = %A" C.SRD2 - - test "cejnewoui1" (match c.Q1 with Call (Some (Value _),_, [(Int32 1)]) -> true | _ -> false) - test "cejnewoui2" (match c.Q2 with Call (Some (Value _),_, [(Int32 1)]) -> true | _ -> false) - test "cejnewoui3" (match (c.Q3 3) with Call (Some (Value _),_, [(Int32 3)]) -> true | _ -> false) - test "cejnewoui4" (match (c.Q4 4) with Call (Some (Value _),_, [(Int32 4)]) -> true | _ -> false) - - // Note for the cases below: We still get temporaries introduced in some quotations, - // e.g. Q5 and Q6. The introduction of temporaries is OK according to our V2.0 specification, - // where compilation of some calls, pattern matching etc. may introduce temporaries. It’s not - // totally ideal: we would prefer if Q5 and Q6 reported “call†quotations, and would be willing - // to make that breaking change at a later date. - test "cejnewoui5" (match c.Q5 with Let(_, (Int32 1), Call (Some (Value _),_, [_])) -> true | _ -> false) - test "cejnewoui6" (match c.Q6 with Let(_, (Int32 2), Call (Some (Value _),_, [_])) -> true | _ -> false) - - test "cejnewoui7" (match c.Q7 7 with Call (Some (Value _),_, [(Int32 7)]) -> true | _ -> false) - test "cejnewoui8" (match c.Q8 8 with Call (Some (Value _),_, [(Int32 8)]) -> true | _ -> false) - test "cejnewouiRD1" (match c.RD1 with Some(Lambda(_, Lambda(_, Call (Some _,_, [_])))) -> true | _ -> false) - test "cejnewouiRD2" (match c.RD2 with Some(Lambda(_, Lambda(_, Call (Some _,_, [_])))) -> true | _ -> false) - - test "scejnewoui1" (match C.SQ1 with Call (None,_, [(Int32 1)]) -> true | _ -> false) - test "scejnewoui2" (match C.SQ2 with Call (None,_, [(Int32 1)]) -> true | _ -> false) - test "scejnewoui3" (match C.SQ3 3 with Call (None,_, [(Int32 3)]) -> true | _ -> false) - test "scejnewoui4" (match C.SQ4 4 with Call (None,_, [(Int32 4)]) -> true | _ -> false) - - // Note for the cases below: We still get temporaries introduced in some quotations, - // e.g. Q5 and Q6. The introduction of temporaries is OK according to our V2.0 specification, - // where compilation of some calls, pattern matching etc. may introduce temporaries. It’s not - // totally ideal: we would prefer if Q5 and Q6 reported “call†quotations, and would be willing - // to make that breaking change at a later date. - test "scejnewoui5" (match C.SQ5 with Let(_, (Int32 1), Call (None,_, [_])) -> true | _ -> false) - test "scejnewoui6" (match C.SQ6 with Let(_, (Int32 2), Call (None,_, [_])) -> true | _ -> false) - - test "scejnewoui7" (match C.SQ7 7 with Call (None,_, [(Int32 7)]) -> true | _ -> false) - test "scejnewoui8" (match C.SQ8 8 with Call (None,_, [(Int32 8)]) -> true | _ -> false) - test "scejnewouiRD1" (match C.SRD1 with Some(Lambda(_, Call (None,_, [_]))) -> true | _ -> false) - test "scejnewouiRD2" (match C.SRD2 with Some(Lambda(_, Call (None,_, [_]))) -> true | _ -> false) - test() - - (* - printfn "c.Q1 = %A" c.Q1 - printfn "c.Q2 = %A" c.Q2 - printfn "c.Q3 = %A" (c.Q3 3) - printfn "c.Q4 = %A" (c.Q4 4) - printfn "c.Q5 = %A" c.Q5 - printfn "c.Q6 = %A" c.Q6 - printfn "c.Q7 = %A" c.Q7 - printfn "c.Q8 = %A" c.Q8 - printfn "c.RD1 = %A" c.RD1 - printfn "c.RD2 = %A" c.RD2 - - printfn "C.SQ1 = %A" C.SQ1 - printfn "C.SQ2 = %A" C.SQ2 - printfn "C.SQ3 = %A" (C.SQ3 3) - printfn "C.SQ4 = %A" (C.SQ4 4) - printfn "C.SQ5 = %A" C.SQ5 - printfn "C.SQ6 = %A" C.SQ6 - printfn "C.SQ7 = %A" C.SQ7 - printfn "C.SQ8 = %A" C.SQ8 - printfn "C.SRD1 = %A" C.SRD1 - printfn "C.SRD2 = %A" C.SRD2 - *) - -module OverloadsInTypeExtensions = - module A = - type X = X - - module P = Microsoft.FSharp.Quotations.Patterns - - let test caption (q : Microsoft.FSharp.Quotations.Expr<'a>) (expected : 'a) = - let (P.Call(None, mi, args)) = q - let args = - [| - for arg in args do - match arg with - | P.Value(v, _) -> yield v - | P.Coerce(P.Value(v, _), toTy) -> yield System.Convert.ChangeType(v, toTy, null) - |] - let actual = mi.Invoke(null, args) :?> 'a - check caption actual expected - - module Overloads = - type A.X with - member private this.F(_ : 'a) = 1 - member private this.F(_ : string) = 2 - - member this.F2(_ : 'a, _ : bool) = 3 - member this.F2(_ : obj, _ : string) = 4 - - member this.F3(_ : string, _ : int) = 5 - member this.F3(_ : int, _ : obj) = 6 - - member this.TestOverloads() = - test "Overloads_1" <@ this.F(5)@> 1 - test "Overloads_2" <@ this.F("")@> 2 - test "Overloads_3" <@ this.F2(2, true) @> 3 - test "Overloads_4" <@ this.F2(2, "2") @> 4 - test "Overloads_5" <@ this.F3(2, true) @> 6 - test "Overloads_6" <@ this.F3(2, "2") @> 6 - test "Overloads_7" <@ this.F3("2", 2) @> 5 - true - - open Overloads - - check "OverloadsInTypeExtensions" (try A.X.TestOverloads() with _ -> false) true - -module ArrayQuoteTests = - check "cenwkjen" (match <@ [| 2.0;3.0;4.0 |] @> with NewArray (ty, [Double 2.0; Double 3.0; Double 4.0]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2;3;4 |] @> with NewArray (ty, [Int32 2; Int32 3; Int32 4]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2u;3u;4u |] @> with NewArray (ty, [UInt32 2u; UInt32 3u; UInt32 4u]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2s;3s;4s |] @> with NewArray (ty, [Int16 2s; Int16 3s; Int16 4s]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2UL;3UL;4UL |] @> with NewArray (ty, [UInt64 2UL; UInt64 3UL; UInt64 4UL]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2L;3L;4L |] @> with NewArray (ty, [Int64 2L; Int64 3L; Int64 4L]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2us;3us;4us |] @> with NewArray (ty, [UInt16 2us; UInt16 3us; UInt16 4us]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2y;3y;4y |] @> with NewArray (ty, [SByte 2y; SByte 3y; SByte 4y]) -> true | _ -> false) true - check "cenwkjen" (match <@ [| 2uy;3uy;4uy |] @> with NewArray (ty, [Byte 2uy; Byte 3uy; Byte 4uy]) -> true | _ -> false) true - check "cenwkjen" (match <@ "abc"B @> with NewArray (ty, [Byte 97uy; Byte 98uy; Byte 99uy]) -> true | _ -> false) true - -module ReflectedDefinitionOnTypesWithImplicitCodeGen = - - [] - module M = - // This type has an implicit IComparable implementation, it is not accessible as a reflected definition - type R = { x:int; y:string; z:System.DateTime } -#if NETCOREAPP - for m in typeof.GetMethods() do -#else - for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do -#endif - check "celnwer32" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true - - // This type has an implicit IComparable implementation, it is not accessible as a reflected definition - type U = A of int | B of string | C of System.DateTime - for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do - check "celnwer33" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true - - // This type has some implicit codegen - exception X of string * int - for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do - check "celnwer34" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true - - // This type has an implicit IComparable implementation, it is not accessible as a reflected definition - [] type SR = { x:int; y:string; z:System.DateTime } - for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do - check "celnwer35" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true - -#if !NETCOREAPP -module BasicUsingTEsts = - let q1() = - let a = ResizeArray<_>() - for i in a do ignore i - let q2() = - use a = new System.Drawing.Bitmap(10,10) in 10 - let q3() = - use a: System.Drawing.Bitmap = null in 10 - let q4(x : #System.IDisposable) = - use a = x in 10 - let q5(x : ('T :> System.IDisposable)) = - use a : 'T = null in 10 - - q1() - q2() - q3() - q4 (new System.Drawing.Bitmap(10,10)) - q4 (ResizeArray<_>().GetEnumerator()) - q4 (null) - - q5 (new System.Drawing.Bitmap(10,10)) - q5 (null) - -module QuotationOfBitmapDIsposal = - // Quotation of something which does a "use" on a sealed type - let q = - <@ use a = new System.Drawing.Bitmap(10,10) in 10 @> - - test "Test920236a" - (match q with - | Let(e,NewObject _, - (TryFinally - (Value _, - IfThenElse(TypeTest(Coerce(_,typObj), typDisposable), - Call(Some(Call(None, unboxGeneric, [Coerce(e3,typObj2)])),disposeMI, []), Value _) - )) - ) - when typDisposable.FullName = "System.IDisposable" && - unboxGeneric.Name = "UnboxGeneric" - -> true - | _ -> false) -#endif - -module ReflectedDefinitionAndSelfIdentifier = - [] - type T() as _selfReference = - member this.Property = 1 - - test "ReflectedDefinitionAndSelfIdentifier" - ( - let m = typeof.GetMethod("get_Property") - match Expr.TryGetReflectedDefinition m with - | None -> false - | Some e -> - match e with - | Patterns.Lambda - ( - thisVar, - Patterns.Lambda - ( - unitVar, - TypedValue 1 - ) - ) -> thisVar.Type = typeof && unitVar.Type = typeof - | _ -> false - ) - -module LoopsOverArraysInQuotations = - - test "LoopsOverArraysInQuotations1" - ( - <@ for x in [|1;2|] do ignore () @> - |> - function - | Patterns.Let - ( - arr, - Patterns.NewArray(IntTy, [TypedValue 1; TypedValue 2]), - Patterns.ForIntegerRangeLoop( - idx, - TypedValue 0, - SpecificCall <@ (-) @> (None, [IntTy; IntTy; IntTy], [ SpecificCall <@ Array.length @>(None, [IntTy], _); TypedValue 1]), - Patterns.Let( - forLoopVar, - SpecificCall <@ LanguagePrimitives.IntrinsicFunctions.GetArray @>(None, _, _), - SpecificCall <@ ignore @>(None, _, _) - ) - ) - ) -> true - | _ -> false - ) - test "LoopsOverArraysInQuotations2" - ( - <@ for (x,y) in [|1, ""|] do ignore x @> - |> - function - | Patterns.Let - ( - arr, - Patterns.NewArray(TupleTy(IntTy, StringTy), [Patterns.NewTuple([TypedValue 1; TypedValue ""])]), - Patterns.ForIntegerRangeLoop( - idx1, - TypedValue 0, - SpecificCall <@ (-) @> (None, [IntTy; IntTy; IntTy], [ SpecificCall <@ Array.length @>(None, [TupleTy(IntTy, StringTy)], _); TypedValue 1]), - Patterns.Let( - forLoopVar, - SpecificCall <@ LanguagePrimitives.IntrinsicFunctions.GetArray @>(None, _, [Patterns.Var(arr2); Patterns.Var idx2]), - Patterns.Let( - y, - Patterns.TupleGet(_, 1), - Patterns.Let( - x, - Patterns.TupleGet(_, 0), - SpecificCall <@ ignore : 'T -> unit @>(None, _, [Patterns.Var(x2)]) - ) - ) - ) - ) - ) -> arr = arr2 && idx1 = idx2 && x = x2 - | _ -> false - ) - test "LoopsOverArraysInQuotations3" - ( - <@ for (x,y) in [||] do () @> - |> - function - | Patterns.Let - ( - arr, - Patterns.NewArray(TupleTy(ObjTy, ObjTy), []), - Patterns.ForIntegerRangeLoop( - idx1, - TypedValue 0, - SpecificCall <@ (-) @> (None, [IntTy; IntTy; IntTy], [ SpecificCall <@ Array.length @>(None, [TupleTy(ObjTy, ObjTy)], _); TypedValue 1]), - Patterns.Let( - forLoopVar, - SpecificCall <@ LanguagePrimitives.IntrinsicFunctions.GetArray @>(None, _, [Patterns.Var(arr2); Patterns.Var idx2]), - _ - ) - ) - ) -> arr = arr2 && idx1 = idx2 - | _ -> false - ) - -module QuotationOfResizeArrayIteration = - // Quotation of an iteration which implictly does a "use" on a value of struct type - let q = - let a = ResizeArray<_>() - <@ for i in a do ignore i @> - - test "Test920236b" - (match q with - | Let(e,Call(Some (Value a), mi, []), - (TryFinally - (WhileLoop((Call (Some e1, moveNext, [])), - Let(i, - PropertyGet ((Some e2),piCurrent,[]), - Call(None,_,[_]) // ignore - ) - ), - Call(Some(e3),disposeMI, [])) - )) - when mi.Name = "GetEnumerator" && - moveNext.Name = "MoveNext" && - piCurrent.Name = "Current" && - disposeMI.Name = "Dispose" - -> true - | _ -> false) - - - -#if !FSHARP_CORE_31 -module TestAutoQuoteAtStaticMethodCalls = - open Microsoft.FSharp.Quotations - - type C() = - static let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") - static member Plot ([] x: Expr<'T>) = - sprintf "%A" x |> cleanup - - static member PlotTwoArg ([] x: Expr<'T>, y : int) = - sprintf "%A" (x,y) |> cleanup - - static member PlotThreeArg (w:int, [] x: Expr<'T>, y : int) = - sprintf "%A" (w,x,y) |> cleanup - - static member PlotParams ([] x: Expr[]) = - sprintf "%A" x |> cleanup - - static member PlotEval ([] x: Expr<'T>) = - sprintf "%A" x |> cleanup - - - let shouldEqual id x y = check id y x - let x = 1 - let y = 1 - let xb = true - let yb = true - let testItAll() = - let z = 1 - let zb = true - - C.Plot (xb && yb || zb) |> shouldEqual "testd109700" "IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))" - - C.Plot (x + y * z) |> shouldEqual "testd109701" "Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])])" - - C.PlotTwoArg (x + y * z, 108) |> shouldEqual "testd109703" "(Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" - - C.PlotThreeArg (107, x + y * z, 108)|> shouldEqual "testd109704" "(107,Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" - - C.PlotParams (1, 2) |> shouldEqual "testd109708" "[|Value(1);Value(2)|]" - - C.PlotParams (x + y) |> shouldEqual "testd109709" "[|Call(None,op_Addition,[PropertyGet(None,x,[]),PropertyGet(None,y,[])])|]" - - C.Plot (fun (x,y,z) -> xb && yb || zb) |> shouldEqual "testd10970F" "Lambda(tupledArg,Let(x,TupleGet(tupledArg,0),Let(y,TupleGet(tupledArg,1),Let(z,TupleGet(tupledArg,2),IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))))))" - - C.Plot (fun x -> x) |> shouldEqual "testd109710" "Lambda(x,x)" - - C.Plot (fun x -> x, x+1) |> shouldEqual "testd109711" "Lambda(x,NewTuple(x,Call(None,op_Addition,[x,Value(1)])))" - - C.PlotEval (xb && yb || zb) |> shouldEqual "testd109712" "WithValue(true,IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb)))" - - testItAll() - -module TestAutoQuoteAtInstanceMethodCalls = - open Microsoft.FSharp.Quotations - open System.Runtime.CompilerServices - - - type C() = - let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") - member __.Plot ([] x: Expr<'T>) = - sprintf "%A" x |> cleanup - - member __.PlotTwoArg ([] x: Expr<'T>, y : int) = - sprintf "%A" (x,y) |> cleanup - - member __.PlotThreeArg (w:int, [] x: Expr<'T>, y : int) = - sprintf "%A" (w,x,y) |> cleanup - - member __.PlotParams ([] x: Expr[]) = - sprintf "%A" x |> cleanup - - member __.Item ([] x: Expr<'T>) = - sprintf "%A" x |> cleanup - - member __.PlotEval ([] x: Expr<'T>) = - sprintf "%A" x |> cleanup - - override __.ToString() = "C" - - [] - module CSharpStyleExtensionMember = - let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") - [] - type CExtMem() = - [] - static member PlotCSharpStyleExtMem (this: C, [] x: Expr<'T>) = - sprintf "%A" x |> cleanup - - // Adding 'ReflectedDefinition' to an argument that doesn't have type Expr<'T> is ignored (no error or warning is given at declaration or use) - [] - static member PlotCSharpStyleExtMemNoExpr (this: C, [] x: 'T) = - sprintf "%A" x |> cleanup - - // Adding 'ReflectedDefinition' to the 'this' argument of a C#-style extension member is ignored. - // - //[] - //static member PlotCSharpStyleExtMemWithReflectedThis ([] this: Expr, [] x: Expr<'T>) = - // sprintf "%A" (this, x) |> cleanup - [] - static member PlotCSharpStyleExtMemWithIgnoredReflectedThis ([] this: C, [] x: Expr<'T>) = - sprintf "%A" (this, x) |> cleanup - - open CSharpStyleExtensionMember - let shouldEqual id x y = check id y x - let x = 1 - let y = 1 - let xb = true - let yb = true - let testItAll() = - let z = 1 - let zb = true - let c = C() - - c.Plot (xb && yb || zb) |> shouldEqual "testd109700" "IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))" - - c.Plot (x + y * z) |> shouldEqual "testd109701" "Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])])" - - c.[x + y * z] |> shouldEqual "testd109701" "Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])])" - - c.PlotTwoArg (x + y * z, 108) |> shouldEqual "testd109703" "(Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" - - c.PlotThreeArg (107, x + y * z, 108)|> shouldEqual "testd109704" "(107,Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" - - c.PlotParams (1, 2) |> shouldEqual "testd109708" "[|Value(1);Value(2)|]" - - c.PlotParams (x + y) |> shouldEqual "testd109709" "[|Call(None,op_Addition,[PropertyGet(None,x,[]),PropertyGet(None,y,[])])|]" - - c.Plot (fun (x,y,z) -> xb && yb || zb) |> shouldEqual "testd10970F" "Lambda(tupledArg,Let(x,TupleGet(tupledArg,0),Let(y,TupleGet(tupledArg,1),Let(z,TupleGet(tupledArg,2),IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))))))" - - c.Plot (fun x -> x) |> shouldEqual "testd109710" "Lambda(x,x)" - - c.Plot (fun x -> x, x+1) |> shouldEqual "testd109711" "Lambda(x,NewTuple(x,Call(None,op_Addition,[x,Value(1)])))" - - c.PlotEval (xb && yb || zb) |> shouldEqual "testd109712" "WithValue(true,IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb)))" - - c.PlotCSharpStyleExtMem (xb && yb || zb) |> shouldEqual "testd109713" "IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))" - - c.PlotCSharpStyleExtMemNoExpr (xb && yb || zb) |> shouldEqual "testdoqhwm" "true" - - c.PlotCSharpStyleExtMemWithIgnoredReflectedThis (xb && yb || zb) |> shouldEqual "testd109714" "(C,IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb)))" - - testItAll() - -module TestsForUsingReflectedDefinitionArgumentsAsFirstClassValues = - open Microsoft.FSharp.Quotations - open System.Linq.Expressions - open System - - type FirstClassTests() = - static member PlotExpr ([] x: Expr<'T>) = x.ToString() - static member PlotExprOverloadedByType ([] x: Expr) = x.ToString() - static member PlotExprOverloadedByType ([] x: Expr) = x.ToString() - static member PlotExprOverloadedByShape (x:int) = x.ToString() - static member PlotExprOverloadedByShape ([] x: Expr) = x.ToString() - static member PlotLinq (x: Expression>) = x.ToString() - static member PlotLinqOverloadedByType (x: Expression>) = x.ToString() - static member PlotLinqOverloadedByType (x: Expression>) = x.ToString() - static member PlotLinqOverloadedByShape (x: Func) = x.ToString() - static member PlotLinqOverloadedByShape (x: Expression>) = x.ToString() - - // Most of the following tests are just checking that overloads are resolved correctly - let runAll() = - - // Check we can define a function that calls the overloads - let callLinqWithoutAutoConv (ef: Expression>) = FirstClassTests.PlotLinq ef - let callLinqWithAutoConv (f: int -> int) = FirstClassTests.PlotLinq (fun x -> f x) // needs eta-expansion - let callLinqOverloadedByTypeWithoutAutoConvInt (ef: Expression>) = FirstClassTests.PlotLinqOverloadedByType ef - let callLinqOverloadedByTypeWithoutAutoConvString (ef: Expression>) = FirstClassTests.PlotLinqOverloadedByType ef - let callLinqOverloadedByTypeWithAutoConvInt (f: int -> int) = FirstClassTests.PlotLinqOverloadedByType (fun x -> f x) - let callLinqOverloadedByTypeWithAutoConvString (f: string -> int) = FirstClassTests.PlotLinqOverloadedByType (fun x -> f x) - let callLinqOverloadedByShapeWithoutAutoConv (ef: Expression>) = FirstClassTests.PlotLinqOverloadedByShape ef - let callExprWithoutAutoConv (ef: Expr) = FirstClassTests.PlotExpr <@ %ef @> - let callExprWithAutoConv (ef: int) = FirstClassTests.PlotExpr ef - let callExprOverloadedWithoutAutoConvA (ef: Expr) = FirstClassTests.PlotExprOverloadedByType <@ %ef @> - let callExprOverloadedWithoutAutoConvB (ef: Expr) = FirstClassTests.PlotExprOverloadedByType ef - let callExprOverloadedWithAutoConv (ef: int) = FirstClassTests.PlotExprOverloadedByType ef - let callExprOverloadedByShapeWithoutAutoConvA (ef: Expr) = FirstClassTests.PlotExprOverloadedByShape <@ %ef @> - let callExprOverloadedByShapeWithoutAutoConvB (ef: Expr) = FirstClassTests.PlotExprOverloadedByShape ef - // EXPECTED OVERLOAD RESOLUTION FAILURE: let callLinqOverloadedByShapeWithAutoConv (f: int -> int) = C.PlotLinqOverloadedByShape (fun x -> f x) // overload not resolved - // EXPECTED OVERLOAD RESOLUTION FAILURE: let callExprOverloadedByShapeWithAutoConv (ef: int) = C.PlotExprOverloadedByShape ef // overload not resolved - - // Check type-checking for type-annotated first-class function values - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinq : (int -> int) -> string) // auto-quotes implicit var - though not very useful - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinq : Expression> -> string) - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByType : (int -> int) -> string) // auto-quotes implicit var - though not very useful - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByType : (int -> string) -> string) // auto-quotes implicit var - though not very useful - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByType : Expression> -> string) - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByShape : Expression> -> string) - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByShape : Func -> string) // auto-quotes implicit var - though not very useful - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExpr : Expr -> string) - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExpr : int -> string) // auto-quotes implicit var - though not very useful - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByType : Expr -> string) - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByType : int -> string) // auto-quotes implicit var - though not very useful - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByType : string -> string) // auto-quotes implicit var - though not very useful - let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByShape : Expr -> string) - // EXPECTED OVERLOAD RESOLUTION FAILURE: (C.PlotLinqOverloadedByShape : (int -> int) -> string) // overload not resolved - // EXPECTED OVERLOAD RESOLUTION FAILURE: (C.PlotExprOverloadedByShape : int -> string) // overload not resolved - - - // Check type-checking for applications - let _unusedResultValue = FirstClassTests.PlotExpr 1 - let _unusedResultValue = FirstClassTests.PlotExpr <@ 1 @> - let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType 1 - let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType <@ 1 @> - let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType "a" - let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType <@ "a" @> - let _unusedResultValue = FirstClassTests.PlotExprOverloadedByShape <@ 1 @> - // EXPECTED OVERLOAD RESOLUTION FAILURE: let _unusedResultValue = FirstClassTests.PlotLinqOverloadedByShape (fun x -> x) - // EXPECTED OVERLOAD RESOLUTION FAILURE: let _unusedResultValue = FirstClassTests.PlotExprOverloadedByShape 1 // overload not resolved - - - // Check type-checking for pipelining - let _unusedResultValue = 1 |> FirstClassTests.PlotExpr - let _unusedResultValue = <@ 1 @> |> FirstClassTests.PlotExpr - let _unusedResultValue = 1 |> FirstClassTests.PlotExprOverloadedByType - let _unusedResultValue = <@ 1 @> |> FirstClassTests.PlotExprOverloadedByType - let _unusedResultValue = "a" |> FirstClassTests.PlotExprOverloadedByType - let _unusedResultValue = <@ "a" @> |> FirstClassTests.PlotExprOverloadedByType - let _unusedResultValue = <@ 1 @> |> FirstClassTests.PlotExprOverloadedByShape - // EXPECTED OVERLOAD RESOLUTION FAILURE: 1 |> FirstClassTests.PlotExprOverloadedByShape // overload not resolved - - () - - runAll() - - -module NestedQuotations = - open Microsoft.FSharp.Quotations - open System.Linq.Expressions - open System - - let unnested1 = <@ 100 @> - let unnested2 = <@@ 100 @@> - let nested1 = <@@ <@ 100 @> @@> - let nested2 = <@@ <@@ 100 @@> @@> - let nested3 = <@ <@ 100 @> @> - let nested4 = <@ <@@ 100 @@> @> - - let runAll() = - test "lfhwwlefkhelw-1a" (match nested1 with Quote _ -> true | _ -> false) - test "lfhwwlefkhelw-1b" (match nested1 with QuoteTyped _ -> true | _ -> false) - test "lfhwwlefkhelw-1c" (match nested1 with QuoteRaw _ -> false | _ -> true) - test "lfhwwlefkhelw-2a" (match nested2 with Quote _ -> true | _ -> false) - test "lfhwwlefkhelw-2b" (match nested2 with QuoteTyped _ -> false | _ -> true) - test "lfhwwlefkhelw-2c" (match nested2 with QuoteRaw _ -> true | _ -> false) - test "lfhwwlefkhelw-3a" (match nested3 with Quote _ -> true | _ -> false) - test "lfhwwlefkhelw-3b" (match nested3 with QuoteTyped _ -> true | _ -> true) - test "lfhwwlefkhelw-3c" (match nested3 with QuoteRaw _ -> false | _ -> true) - test "lfhwwlefkhelw-4a" (match nested4 with Quote _ -> true | _ -> false) - test "lfhwwlefkhelw-4b" (match nested4 with QuoteRaw _ -> true | _ -> false) - test "lfhwwlefkhelw-4c" (match nested4 with QuoteTyped _ -> false | _ -> true) - test "clenewjclkw-1" (match Expr.Quote unnested1 with QuoteTyped _ -> true | _ -> false) - test "clenewjclkw-2" (match Expr.QuoteRaw unnested1 with QuoteRaw _ -> true | _ -> false) - test "clenewjclkw-3" (match Expr.Quote unnested2 with QuoteTyped _ -> true | _ -> false) - test "clenewjclkw-4" (match Expr.QuoteRaw unnested2 with QuoteRaw _ -> true | _ -> false) - test "clenewjclkw-5" (unnested1.Type = typeof) - test "clenewjclkw-6" (unnested2.Type = typeof) - test "clenewjclkw-7" (Expr.Quote(unnested1).Type = typeof>) - test "clenewjclkw-8" (Expr.Quote(unnested2).Type = typeof>) - test "clenewjclkw-9" (Expr.QuoteTyped(unnested1).Type = typeof>) - test "clenewjclkw-10" (Expr.QuoteTyped(unnested2).Type = typeof>) - test "clenewjclkw-11" (Expr.QuoteRaw(unnested1).Type = typeof) - test "clenewjclkw-12" (Expr.QuoteRaw(unnested2).Type = typeof) - - runAll() - -module ExtensionMembersWithSameName = - - type System.Object with - [] - member this.Add(x) = x - [] - member this.Add(x, y) = x + y - [] - static member SAdd(x) = x - [] - static member SAdd(x, y) = x + y - - let runAll () = - match <@ obj().Add(2) @> with - | (Patterns.Call(_, m, _)) -> - let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" - check "clewwenf094" text "Some Lambda (this, Lambda (x, x))" - | _ -> failwith "unexpected shape" - - match <@ obj().Add(2,3) @> with - | (Patterns.Call(_, m, _)) -> - let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" - check "clewwenf095" (m.GetParameters().Length) 3 - | _ -> failwith "unexpected shape" - - match <@ obj.SAdd(2) @> with - | (Patterns.Call(_, m, _)) -> - let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" - check "clewwenf096" text "Some Lambda (x, x)" - | _ -> failwith "unexpected shape" - - match <@ obj.SAdd(2,3) @> with - | (Patterns.Call(_, m, _)) -> - let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" - check "clewwenf097" (m.GetParameters().Length) 2 - | _ -> failwith "unexpected shape" - - runAll() -#endif - -module PartialApplicationLeadToInvalidCodeWhenOptimized = - let f () = - let x = 1 - let g (y:int) (z:int) = <@ x @> - let _ = g 3 // the closure generated by this code was invalid - () - - f () - - -/// TEST F# REFLECTION OVER THE IMPLEMENTATION OF SYMBOL TYPES FROM THE F# TYPE PROVIDER STARTER PACK -/// -module ReflectionOverTypeInstantiations = - - open System.Collections.Generic - - let notRequired opname item = - let msg = sprintf "The operation '%s' on item '%s' should not be called on provided type, member or parameter" opname item - //System.Diagnostics.Debug.Assert (false, msg) - raise (System.NotSupportedException msg) - - /// DO NOT ADJUST THIS TYPE - it is the implementation of symbol types from the F# type provider starer pack. - /// This code gets included in all F# type provider implementations. We expect F# reflection to be in a good, - /// known state over these types. - /// - /// - /// Represents the type constructor in a provided symbol type. - [] - type ProvidedSymbolKind = - | SDArray - | Array of int - | Pointer - | ByRef - | Generic of System.Type - | FSharpTypeAbbreviation of (System.Reflection.Assembly * string * string[]) - - - /// DO NOT ADJUST THIS TYPE - it is the implementation of symbol types from the F# type provider starer pack. - /// This code gets included in all F# type provider implementations. We expect F# reflection to be in a good, - /// known state over these types. - /// - /// Represents an array or other symbolic type involving a provided type as the argument. - /// See the type provider spec for the methods that must be implemented. - /// Note that the type provider specification does not require us to implement pointer-equality for provided types. - type ProvidedSymbolType(kind: ProvidedSymbolKind, args: Type list, convToTgt: Type -> Type) = - inherit Type() - - let rec isEquivalentTo (thisTy: Type) (otherTy: Type) = - match thisTy, otherTy with - | (:? ProvidedSymbolType as thisTy), (:? ProvidedSymbolType as thatTy) -> (thisTy.Kind,thisTy.Args) = (thatTy.Kind, thatTy.Args) - | (:? ProvidedSymbolType as thisTy), otherTy | otherTy, (:? ProvidedSymbolType as thisTy) -> - match thisTy.Kind, thisTy.Args with - | ProvidedSymbolKind.SDArray, [ty] | ProvidedSymbolKind.Array _, [ty] when otherTy.IsArray-> ty.Equals(otherTy.GetElementType()) - | ProvidedSymbolKind.ByRef, [ty] when otherTy.IsByRef -> ty.Equals(otherTy.GetElementType()) - | ProvidedSymbolKind.Pointer, [ty] when otherTy.IsPointer -> ty.Equals(otherTy.GetElementType()) - | ProvidedSymbolKind.Generic baseTy, args -> otherTy.IsGenericType && isEquivalentTo baseTy (otherTy.GetGenericTypeDefinition()) && Seq.forall2 isEquivalentTo args (otherTy.GetGenericArguments()) - | _ -> false - | a, b -> a.Equals b - - let nameText() = - match kind,args with - | ProvidedSymbolKind.SDArray,[arg] -> arg.Name + "[]" - | ProvidedSymbolKind.Array _,[arg] -> arg.Name + "[*]" - | ProvidedSymbolKind.Pointer,[arg] -> arg.Name + "*" - | ProvidedSymbolKind.ByRef,[arg] -> arg.Name + "&" - | ProvidedSymbolKind.Generic gty, args -> gty.Name + (sprintf "%A" args) - | ProvidedSymbolKind.FSharpTypeAbbreviation (_,_,path),_ -> path.[path.Length-1] - | _ -> failwith "unreachable" - - /// Substitute types for type variables. - static member convType (parameters: Type list) (ty:Type) = - if ty = null then null - elif ty.IsGenericType then - let args = Array.map (ProvidedSymbolType.convType parameters) (ty.GetGenericArguments()) - ty.GetGenericTypeDefinition().MakeGenericType(args) - elif ty.HasElementType then - let ety = ProvidedSymbolType.convType parameters (ty.GetElementType()) - if ty.IsArray then - let rank = ty.GetArrayRank() - if rank = 1 then ety.MakeArrayType() - else ety.MakeArrayType(rank) - elif ty.IsPointer then ety.MakePointerType() - elif ty.IsByRef then ety.MakeByRefType() - else ty - elif ty.IsGenericParameter then - if ty.GenericParameterPosition <= parameters.Length - 1 then - parameters.[ty.GenericParameterPosition] - else - ty - else ty - - override __.FullName = - match kind,args with - | ProvidedSymbolKind.SDArray,[arg] -> arg.FullName + "[]" - | ProvidedSymbolKind.Array _,[arg] -> arg.FullName + "[*]" - | ProvidedSymbolKind.Pointer,[arg] -> arg.FullName + "*" - | ProvidedSymbolKind.ByRef,[arg] -> arg.FullName + "&" - | ProvidedSymbolKind.Generic gty, args -> gty.FullName + "[" + (args |> List.map (fun arg -> arg.ToString()) |> String.concat ",") + "]" - | ProvidedSymbolKind.FSharpTypeAbbreviation (_,nsp,path),args -> String.concat "." (Array.append [| nsp |] path) + (match args with [] -> "" | _ -> args.ToString()) - | _ -> failwith "unreachable" - - /// Although not strictly required by the type provider specification, this is required when doing basic operations like FullName on - /// .NET symbolic types made from this type, e.g. when building Nullable.FullName - override __.DeclaringType = - match kind,args with - | ProvidedSymbolKind.SDArray,[arg] -> arg - | ProvidedSymbolKind.Array _,[arg] -> arg - | ProvidedSymbolKind.Pointer,[arg] -> arg - | ProvidedSymbolKind.ByRef,[arg] -> arg - | ProvidedSymbolKind.Generic gty,_ -> gty - | ProvidedSymbolKind.FSharpTypeAbbreviation _,_ -> null - | _ -> failwith "unreachable" - - override __.IsAssignableFrom(otherTy) = - match kind with - | Generic gtd -> - if otherTy.IsGenericType then - let otherGtd = otherTy.GetGenericTypeDefinition() - let otherArgs = otherTy.GetGenericArguments() - let yes = gtd.Equals(otherGtd) && Seq.forall2 isEquivalentTo args otherArgs - yes - else - base.IsAssignableFrom(otherTy) - | _ -> base.IsAssignableFrom(otherTy) - - override __.Name = nameText() - - override __.BaseType = - match kind with - | ProvidedSymbolKind.SDArray -> convToTgt typeof - | ProvidedSymbolKind.Array _ -> convToTgt typeof - | ProvidedSymbolKind.Pointer -> convToTgt typeof - | ProvidedSymbolKind.ByRef -> convToTgt typeof - | ProvidedSymbolKind.Generic gty -> - if gty.BaseType = null then null else - ProvidedSymbolType.convType args gty.BaseType - | ProvidedSymbolKind.FSharpTypeAbbreviation _ -> convToTgt typeof - - override __.GetArrayRank() = (match kind with ProvidedSymbolKind.Array n -> n | ProvidedSymbolKind.SDArray -> 1 | _ -> invalidOp "non-array type") - override __.IsValueTypeImpl() = (match kind with ProvidedSymbolKind.Generic gtd -> gtd.IsValueType | _ -> false) - override __.IsArrayImpl() = (match kind with ProvidedSymbolKind.Array _ | ProvidedSymbolKind.SDArray -> true | _ -> false) - override __.IsByRefImpl() = (match kind with ProvidedSymbolKind.ByRef _ -> true | _ -> false) - override __.IsPointerImpl() = (match kind with ProvidedSymbolKind.Pointer _ -> true | _ -> false) - override __.IsPrimitiveImpl() = false - override __.IsGenericType = (match kind with ProvidedSymbolKind.Generic _ -> true | _ -> false) - override __.GetGenericArguments() = (match kind with ProvidedSymbolKind.Generic _ -> args |> List.toArray | _ -> invalidOp "non-generic type") - override __.GetGenericTypeDefinition() = (match kind with ProvidedSymbolKind.Generic e -> e | _ -> invalidOp "non-generic type") - override __.IsCOMObjectImpl() = false - override __.HasElementTypeImpl() = (match kind with ProvidedSymbolKind.Generic _ -> false | _ -> true) - override __.GetElementType() = (match kind,args with (ProvidedSymbolKind.Array _ | ProvidedSymbolKind.SDArray | ProvidedSymbolKind.ByRef | ProvidedSymbolKind.Pointer),[e] -> e | _ -> invalidOp "not an array, pointer or byref type") - override this.ToString() = this.FullName - - override __.Assembly = - match kind with - | ProvidedSymbolKind.FSharpTypeAbbreviation (assembly,_nsp,_path) -> assembly - | ProvidedSymbolKind.Generic gty -> gty.Assembly - | _ -> notRequired "Assembly" (nameText()) - - override __.Namespace = - match kind with - | ProvidedSymbolKind.FSharpTypeAbbreviation (_assembly,nsp,_path) -> nsp - | _ -> notRequired "Namespace" (nameText()) - - override __.GetHashCode() = - match kind,args with - | ProvidedSymbolKind.SDArray,[arg] -> 10 + hash arg - | ProvidedSymbolKind.Array _,[arg] -> 163 + hash arg - | ProvidedSymbolKind.Pointer,[arg] -> 283 + hash arg - | ProvidedSymbolKind.ByRef,[arg] -> 43904 + hash arg - | ProvidedSymbolKind.Generic gty,_ -> 9797 + hash gty + List.sumBy hash args - | ProvidedSymbolKind.FSharpTypeAbbreviation _,_ -> 3092 - | _ -> failwith "unreachable" - - override __.Equals(other: obj) = - match other with - | :? ProvidedSymbolType as otherTy -> (kind, args) = (otherTy.Kind, otherTy.Args) - | _ -> false - - member __.Kind = kind - member __.Args = args - - member __.IsFSharpTypeAbbreviation = match kind with FSharpTypeAbbreviation _ -> true | _ -> false - // For example, int - member __.IsFSharpUnitAnnotated = match kind with ProvidedSymbolKind.Generic gtd -> not gtd.IsGenericTypeDefinition | _ -> false - - override __.Module : Module = notRequired "Module" (nameText()) - override __.GetConstructors _bindingAttr = notRequired "GetConstructors" (nameText()) - override __.GetMethodImpl(_name, _bindingAttr, _binderBinder, _callConvention, _types, _modifiers) = - match kind with - | Generic gtd -> - let ty = gtd.GetGenericTypeDefinition().MakeGenericType(Array.ofList args) - ty.GetMethod(_name, _bindingAttr) - | _ -> notRequired "GetMethodImpl" (nameText()) - override __.GetMembers _bindingAttr = notRequired "GetMembers" (nameText()) - override __.GetMethods _bindingAttr = notRequired "GetMethods" (nameText()) - override __.GetField(_name, _bindingAttr) = notRequired "GetField" (nameText()) - override __.GetFields _bindingAttr = notRequired "GetFields" (nameText()) - override __.GetInterface(_name, _ignoreCase) = notRequired "GetInterface" (nameText()) - override __.GetInterfaces() = notRequired "GetInterfaces" (nameText()) - override __.GetEvent(_name, _bindingAttr) = notRequired "GetEvent" (nameText()) - override __.GetEvents _bindingAttr = notRequired "GetEvents" (nameText()) - override __.GetProperties _bindingAttr = notRequired "GetProperties" (nameText()) - override __.GetPropertyImpl(_name, _bindingAttr, _binder, _returnType, _types, _modifiers) = notRequired "GetPropertyImpl" (nameText()) - override __.GetNestedTypes _bindingAttr = notRequired "GetNestedTypes" (nameText()) - override __.GetNestedType(_name, _bindingAttr) = notRequired "GetNestedType" (nameText()) - override __.GetAttributeFlagsImpl() = notRequired "GetAttributeFlagsImpl" (nameText()) - override this.UnderlyingSystemType = - match kind with - | ProvidedSymbolKind.SDArray - | ProvidedSymbolKind.Array _ - | ProvidedSymbolKind.Pointer - | ProvidedSymbolKind.FSharpTypeAbbreviation _ - | ProvidedSymbolKind.ByRef -> upcast this - | ProvidedSymbolKind.Generic gty -> gty.UnderlyingSystemType - #if FX_NO_CUSTOMATTRIBUTEDATA - #else - override __.GetCustomAttributesData() = ([| |] :> IList<_>) - #endif - override __.MemberType = notRequired "MemberType" (nameText()) - override __.GetMember(_name,_mt,_bindingAttr) = notRequired "GetMember" (nameText()) - override __.GUID = notRequired "GUID" (nameText()) - override __.InvokeMember(_name, _invokeAttr, _binder, _target, _args, _modifiers, _culture, _namedParameters) = notRequired "InvokeMember" (nameText()) - override __.AssemblyQualifiedName = notRequired "AssemblyQualifiedName" (nameText()) - override __.GetConstructorImpl(_bindingAttr, _binder, _callConvention, _types, _modifiers) = notRequired "GetConstructorImpl" (nameText()) - override __.GetCustomAttributes(_inherit) = [| |] - override __.GetCustomAttributes(_attributeType, _inherit) = [| |] - override __.IsDefined(_attributeType, _inherit) = false - // FSharp.Data addition: this was added to support arrays of arrays - override this.MakeArrayType() = ProvidedSymbolType(ProvidedSymbolKind.SDArray, [this], convToTgt) :> Type - override this.MakeArrayType arg = ProvidedSymbolType(ProvidedSymbolKind.Array arg, [this], convToTgt) :> Type - - - - /// DO NOT ADJUST THIS TYPE - it is the implementation of symbol types from the F# type provider starer pack. - /// This code gets included in all F# type provider implementations. We expect F# reflection to be in a good, - /// known state over these types. - type ProvidedTypeBuilder() = - static member MakeGenericType(genericTypeDefinition, genericArguments) = ProvidedSymbolType(Generic genericTypeDefinition, genericArguments, id) :> Type - - - /// TEST BEGINS HERE - // - let checkType nm (ty:System.Type) isTup = - // Calls to basic properties are in a known state - check (nm + "-falihksec0 - expect IsArray to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsArray |> Some with e -> None) (Some false) - check (nm + "-falihksec1 - expect IsPointer to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsPointer |> Some with e -> None) (Some false) - check (nm + "-falihksec2 - expect IsAbstract to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsAbstract |> Some with e -> None) (Some false) - check (nm + "-falihksec3 - expect IsClass to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsClass |> Some with e -> None) (Some true) - check (nm + "-falihksec4 - expect IsValueType to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsValueType |> Some with e -> None) (Some false) - check (nm + "-falihksec5 - expect IsTuple to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsTuple(ty) |> Some with _ -> None) (Some isTup) - -#if !MONO - check (nm + "-falihksec3a - currently expect IsEnum to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsEnum |> ignore; 100 with e -> 200) 200 - check (nm + "-falihksec4a - currently expect FullName to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.FullName |> ignore; 100 with e -> 200) 200 - check (nm + "-falihksec5a - currently expect IsFunction to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsFunction(ty) |> ignore; 100 with _ -> 200) 200 - check (nm + "-falihksec6a - currently expect IsUnion to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsUnion(ty) |> ignore; 100 with :? System.NotSupportedException -> 200) 200 - check (nm + "-falihksec7a - currently expect IsRecord to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsRecord (ty) |> ignore; 100 with :? System.NotSupportedException -> 200) 200 - check (nm + "-falihksec8a - currently expect IsModule to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsModule (ty) |> ignore; 100 with :? System.NotSupportedException -> 200) 200 -#endif - - // This makes a TypeBuilderInstantiation type, because a real type has been instantiated with a non-real type - let t0 = ProvidedTypeBuilder.MakeGenericType(typedefof>, [ typeof ]) - let t1 = typedefof>.MakeGenericType(t0) - let t2 = typedefof.MakeGenericType(t0, t0) - - checkType "test cvweler8" t1 false - checkType "test cvweler9" t2 true - -module QuotationStructTupleTests = - let actual = struct (0,0) - let code = - <@ match actual with - | struct (0,0) -> true - | _ -> false @> - - printfn "code = %A" code - check "wcelwec" (match code with - | IfThenElse (Call (None, _, [TupleGet (PropertyGet (None, _, []), 0); _]), IfThenElse (Call (None, _, [TupleGet (PropertyGet (None, _, []), 1); _]), Value _, Value _), Value _) -> true - | _ -> false) - true - - for i = 0 to 7 do - check "vcknwwe0oo" (match Expr.TupleGet(<@@ struct (1,2,3,4,5,6,7,8) @@>, i) with TupleGet(b,n) -> b = <@@ struct (1,2,3,4,5,6,7,8) @@> && n = i | _ -> false) true - - let actual2 : Result = Ok "foo" - let code2 = - <@ match actual2 with - | Ok _ -> true - | Error _ -> false @> - - printfn "code2 = %A" code2 - check "cewcewwer" - (match code2 with - | IfThenElse (UnionCaseTest (PropertyGet (None, actual2, []), _), Value _, Value _) -> true - | _ -> false) - true - - -module TestStaticCtor = - [] - type T() = - static do printfn "Hello" // removing this makes the RD lookup work - static member Ident (x:int) = x - - let testStaticCtor() = - // bug: threw error with message "Could not bind to method" - check "cvwenklwevpo1" (Expr.TryGetReflectedDefinition(typeof.GetMethod("Ident"))).IsSome true - check "cvwenklwevpo2" (Expr.TryGetReflectedDefinition(typeof.GetConstructors(BindingFlags.Static ||| BindingFlags.Public ||| BindingFlags.NonPublic).[0])).IsSome true - - testStaticCtor() - - -module TestFuncNoArgs = - type SomeType() = class end - type Test = - static member ParseThis (f : System.Linq.Expressions.Expression>) = f - - - type D = delegate of unit -> int - type D2<'T> = delegate of unit -> 'T - - let testFunc() = - check "cvwenklwevpo1" (match <@ new System.Func(fun () -> 3) @> with Quotations.Patterns.NewDelegate(_,[],Value _) -> true | _ -> false) true - check "cvwenklwevpo2" (match <@ new System.Func(fun n -> 3) @> with Quotations.Patterns.NewDelegate(_,[_],Value _) -> true | _ -> false) true - check "cvwenklwevpo1d" (match <@ new D(fun () -> 3) @> with Quotations.Patterns.NewDelegate(_,[],Value _) -> true | _ -> false) true - check "cvwenklwevpo2d" (match <@ new D2(fun () -> 3) @> with Quotations.Patterns.NewDelegate(_,[],Value _) -> true | _ -> false) true - - testFunc() - - - let testFunc2() = - // was raising exception - let foo = Test.ParseThis (fun () -> SomeType()) - check "clew0mmlvew" (foo.ToString()) "() => new SomeType()" - - testFunc2() - -module TestMatchBang = - let myAsync = async { - do! Async.Sleep 1 - return Some 42 } - - /// Unpacks code quotations containing computation expressions (CE) - let (|CEDelay|CEBind|Expr|) expr = - match expr with - | Application (Lambda (_, Call (_, mDelay, [Lambda (_, innerExpr)])), _) when mDelay.Name = "Delay" -> CEDelay innerExpr - | Call (_, mBind, [_; Lambda (_, innerExpr)]) when mBind.Name = "Bind" -> CEBind innerExpr - | _ -> Expr expr - - let testSimpleMatchBang() = - let quot1 = <@ async { match! myAsync with | Some (x: int) -> () | None -> () } @> - check "matchbangquot1" - (match quot1 with - | CEDelay(CEBind(IfThenElse expr)) -> Ok () - | CEDelay(CEBind(expr)) -> Error "if statement (representing `match`) is missing" - | CEDelay(expr) -> Error "Bind is incorrect" - | expr -> Error "Delay is incorrect") - (Ok ()) - - testSimpleMatchBang() - -module WitnessTests = - open FSharp.Data.UnitSystems.SI.UnitSymbols - open FSharp.Linq - open FSharp.Linq.NullableOperators - - test "check CallWithWitness" - (<@ 1 + 1 @> - |> function - | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> - minfo1.Name = "op_Addition" && - minfo1.GetParameters().Length = 2 && - minfo2.Name = "op_Addition$W" && - minfo2.GetParameters().Length = 3 && - (printfn "checking witnessArgs.Length = %d... args.Length"; true) && - witnessArgs.Length = 1 && - (printfn "checking args.Length = %d... args.Length"; true) && - args.Length = 2 && - (printfn "checking witnessArgs is a Lambda..."; true) && - (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && - (printfn "checking witnessArg is the expected call..."; true) && - (match witnessArgs with [ Lambda (v1A, Lambda (v2A, Call(None, m, [ Patterns.Var v1B; Patterns.Var v2B]))) ] when m.Name = "op_Addition" && v1A = v1B && v2A = v2B -> true | _ -> false) - (printfn "checking witnessArg is not a CalWithWitnesses..."; true) && - (match witnessArgs with [ Lambda (v1A, Lambda (v2A, CallWithWitnesses _)) ] -> false | _ -> true) && - (printfn "checking args..."; true) && - (match args with [ Int32 _; Int32 _ ] -> true | _ -> false) - | _ -> false) - - test "check CallWithWitness (DateTime + TimeSpan)" - (<@ System.DateTime.Now + System.TimeSpan.Zero @> - |> function - | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> - minfo1.Name = "op_Addition" && - (printfn "checking minfo1.GetParameters().Length..."; true) && - minfo1.GetParameters().Length = 2 && - minfo2.Name = "op_Addition$W" && - (printfn "checking minfo2.GetParameters().Length..."; true) && - minfo2.GetParameters().Length = 3 && - (printfn "checking witnessArgs.Length..."; true) && - witnessArgs.Length = 1 && - (printfn "checking witnessArg is the expected call, witnessArgs = %A" witnessArgs; true) && - (match witnessArgs with - | [ Lambda (v1A, Lambda (v2A, Call(None, m, [Patterns.Var v1B; Patterns.Var v2B]))) ] - when m.Name = "op_Addition" - && m.GetParameters().[0].ParameterType.Name = "DateTime" - && m.GetParameters().[1].ParameterType.Name = "TimeSpan" - && v1A = v1B - && v2A = v2B -> true - | _ -> false) - (printfn "checking witnessArg is not a CallWithWitnesses, witnessArgs = %A" witnessArgs; true) && - (match witnessArgs with [ Lambda (v1A, Lambda (v2A, CallWithWitnesses args)) ] -> printfn "unexpected! %A" args; false | _ -> true) && - args.Length = 2 && - (printfn "checking args..."; true) && - (match args with [ _; _ ] -> true | _ -> false) && - (match witnessArgs with [ Lambda _ ] -> true | _ -> false) - | CallWithWitnesses _ -> - printfn "no object" - false - | _ -> - printfn "incorrect node" - false) - - test "check Call (DateTime + TimeSpan)" - (<@ System.DateTime.Now + System.TimeSpan.Zero @> - |> function - | Call(None, minfo1, args) -> - minfo1.Name = "op_Addition" && - (printfn "checking minfo1.GetParameters().Length..."; true) && - minfo1.GetParameters().Length = 2 && - //minfo2.GetParameters().[0].Name = "op_Addition" && - args.Length = 2 && - (match args with [ _; _ ] -> true | _ -> false) - | _ -> false) - - type C() = - static member inline StaticAdd (x, y) = x + y - member inline __.InstanceAdd (x, y) = x + y - - test "check CallWithWitness (DateTime + TimeSpan) using static member" - (<@ C.StaticAdd(System.DateTime.Now, System.TimeSpan.Zero) @> - |> function - | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> - minfo1.IsStatic && - minfo1.Name = "StaticAdd" && - (printfn "checking minfo1.GetParameters().Length..."; true) && - minfo1.GetParameters().Length = 2 && - minfo2.IsStatic && - minfo2.Name = "StaticAdd$W" && - (printfn "checking minfo2.GetParameters().Length = %d..." (minfo2.GetParameters().Length); true) && - minfo2.GetParameters().Length = 3 && - (printfn "checking witnessArgs.Length..."; true) && - witnessArgs.Length = 1 && - (printfn "checking args.Length..."; true) && - args.Length = 2 && - (printfn "witnessArgs..."; true) && - (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && - (printfn "args..."; true) && - (match args with [ _; _ ] -> true | _ -> false) - | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> - printfn "no object..." - false - | _ -> false) - - test "check CallWithWitness (DateTime + TimeSpan) using instance member" - (<@ C().InstanceAdd(System.DateTime.Now, System.TimeSpan.Zero) @> - |> function - | CallWithWitnesses(Some _obj, minfo1, minfo2, witnessArgs, args) -> - not minfo1.IsStatic && - minfo1.Name = "InstanceAdd" && - (printfn "checking minfo1.GetParameters().Length..."; true) && - minfo1.GetParameters().Length = 2 && - not minfo2.IsStatic && - minfo2.Name = "InstanceAdd$W" && - (printfn "checking minfo2.GetParameters().Length = %d..." (minfo2.GetParameters().Length); true) && - minfo2.GetParameters().Length = 3 && - (printfn "checking witnessArgs.Length..."; true) && - witnessArgs.Length = 1 && - (printfn "checking args.Length..."; true) && - args.Length = 2 && - (printfn "witnessArgs..."; true) && - (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && - (printfn "args..."; true) && - (match args with [ _; _ ] -> true | _ -> false) - | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> - printfn "no object..." - false - | _ -> false) - - test "check CallWithWitnesses all operators" - (let tests = - [|<@@ sin 1.0 @@>, box 0x3FEAED548F090CEELF // Around 0.841470984807897 - <@@ sin 1.0f @@>, box 0x3F576AA4lf // = 0.841471f - <@@ sign 1.0f @@>, box 1 - <@@ sqrt 1.0f @@>, box 1f - <@@ atan2 3.0 4.0 @@>, box 0x3FE4978FA3269EE1LF // Around 0.643501108793284 - <@@ atan2 3.0 4.0 @@>, box 0x3FE4978FA3269EE1LF // Around 0.643501108793284 - - <@@ 1y + 4y @@>, box 5y - <@@ 1uy + 4uy @@>, box 5uy - <@@ 1s + 4s @@>, box 5s - <@@ 1us + 4us @@>, box 5us - <@@ 1 + 4 @@>, box 5 - <@@ 1u + 4u @@>, box 5u - <@@ 1L + 4L @@>, box 5L - <@@ 1uL + 4uL @@>, box 5uL - <@@ 1.0f + 4.0f @@>, box 5f - <@@ 1.0 + 4.0 @@>, box 5. - <@@ 1m + 4m @@>, box 5m - <@@ 1m + 4m @@>, box 5m - <@@ 1I + 4I @@>, box 5I - <@@ '1' + '\004' @@>, box '5' - <@@ "abc" + "def" @@>, box "abcdef" - <@@ LanguagePrimitives.GenericOne + LanguagePrimitives.GenericOne @@>, box 2n - <@@ LanguagePrimitives.GenericOne + LanguagePrimitives.GenericOne @@>, box 2un - <@@ Checked.(+) 1y 4y @@>, box 5y - <@@ Checked.(+) 1uy 4uy @@>, box 5uy - <@@ Checked.(+) 1s 4s @@>, box 5s - <@@ Checked.(+) 1us 4us @@>, box 5us - <@@ Checked.(+) 1 4 @@>, box 5 - <@@ Checked.(+) 1u 4u @@>, box 5u - <@@ Checked.(+) 1L 4L @@>, box 5L - <@@ Checked.(+) 1uL 4uL @@>, box 5uL - <@@ Checked.(+) 1.0f 4.0f @@>, box 5f - <@@ Checked.(+) 1.0 4.0 @@>, box 5. - <@@ Checked.(+) 1m 4m @@>, box 5m - <@@ Checked.(+) 1m 4m @@>, box 5m - <@@ Checked.(+) 1I 4I @@>, box 5I - <@@ Checked.(+) '1' '\004' @@>, box '5' - <@@ Checked.(+) "abc" "def" @@>, box "abcdef" - <@@ Checked.(+) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 2n - <@@ Checked.(+) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 2un - - <@@ 4y - 1y @@>, box 3y - <@@ 4uy - 1uy @@>, box 3uy - <@@ 4s - 1s @@>, box 3s - <@@ 4us - 1us @@>, box 3us - <@@ 4 - 1 @@>, box 3 - <@@ 4u - 1u @@>, box 3u - <@@ 4L - 1L @@>, box 3L - <@@ 4uL - 1uL @@>, box 3uL - <@@ 4.0f - 1.0f @@>, box 3f - <@@ 4.0 - 1.0 @@>, box 3. - <@@ 4m - 1m @@>, box 3m - <@@ 4m - 1m @@>, box 3m - <@@ 4I - 1I @@>, box 3I - <@@ '4' - '\001' @@>, box '3' - <@@ LanguagePrimitives.GenericOne - LanguagePrimitives.GenericOne @@>, box 0n - <@@ LanguagePrimitives.GenericOne - LanguagePrimitives.GenericOne @@>, box 0un - <@@ Checked.(-) 4y 1y @@>, box 3y - <@@ Checked.(-) 4uy 1uy @@>, box 3uy - <@@ Checked.(-) 4s 1s @@>, box 3s - <@@ Checked.(-) 4us 1us @@>, box 3us - <@@ Checked.(-) 4 1 @@>, box 3 - <@@ Checked.(-) 4u 1u @@>, box 3u - <@@ Checked.(-) 4L 1L @@>, box 3L - <@@ Checked.(-) 4uL 1uL @@>, box 3uL - <@@ Checked.(-) 4.0f 1.0f @@>, box 3f - <@@ Checked.(-) 4.0 1.0 @@>, box 3. - <@@ Checked.(-) 4m 1m @@>, box 3m - <@@ Checked.(-) 4m 1m @@>, box 3m - <@@ Checked.(-) 4I 1I @@>, box 3I - <@@ Checked.(-) '4' '\001' @@>, box '3' - <@@ Checked.(-) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 0n - <@@ Checked.(-) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 0un - - <@@ 2y * 4y @@>, box 8y - <@@ 2uy * 4uy @@>, box 8uy - <@@ 2s * 4s @@>, box 8s - <@@ 2us * 4us @@>, box 8us - <@@ 2 * 4 @@>, box 8 - <@@ 2u * 4u @@>, box 8u - <@@ 2L * 4L @@>, box 8L - <@@ 2uL * 4uL @@>, box 8uL - <@@ 2.0f * 4.0f @@>, box 8f - <@@ 2.0 * 4.0 @@>, box 8. - <@@ 2m * 4m @@>, box 8m - <@@ 2m * 4m @@>, box 8m - <@@ 2I * 4I @@>, box 8I - <@@ LanguagePrimitives.GenericOne * LanguagePrimitives.GenericOne @@>, box 1n - <@@ LanguagePrimitives.GenericOne * LanguagePrimitives.GenericOne @@>, box 1un - <@@ Checked.(*) 2y 4y @@>, box 8y - <@@ Checked.(*) 2uy 4uy @@>, box 8uy - <@@ Checked.(*) 2s 4s @@>, box 8s - <@@ Checked.(*) 2us 4us @@>, box 8us - <@@ Checked.(*) 2 4 @@>, box 8 - <@@ Checked.(*) 2u 4u @@>, box 8u - <@@ Checked.(*) 2L 4L @@>, box 8L - <@@ Checked.(*) 2uL 4uL @@>, box 8uL - <@@ Checked.(*) 2.0f 4.0f @@>, box 8f - <@@ Checked.(*) 2.0 4.0 @@>, box 8. - <@@ Checked.(*) 2m 4m @@>, box 8m - <@@ Checked.(*) 2m 4m @@>, box 8m - <@@ Checked.(*) 2I 4I @@>, box 8I - <@@ Checked.(*) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 1n - <@@ Checked.(*) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 1un - - <@@ 6y / 3y @@>, box 2y - <@@ 6uy / 3uy @@>, box 2uy - <@@ 6s / 3s @@>, box 2s - <@@ 6us / 3us @@>, box 2us - <@@ 6 / 3 @@>, box 2 - <@@ 6u / 3u @@>, box 2u - <@@ 6L / 3L @@>, box 2L - <@@ 6uL / 3uL @@>, box 2uL - <@@ 6.0f / 3.0f @@>, box 2f - <@@ 6.0 / 3.0 @@>, box 2. - <@@ 6m / 3m @@>, box 2m - <@@ 6m / 3m @@>, box 2m - <@@ 6I / 3I @@>, box 2I - <@@ LanguagePrimitives.GenericOne / LanguagePrimitives.GenericOne @@>, box 1n - <@@ LanguagePrimitives.GenericOne / LanguagePrimitives.GenericOne @@>, box 1un - - <@@ 9y % 4y @@>, box 1y - <@@ 9uy % 4uy @@>, box 1uy - <@@ 9s % 4s @@>, box 1s - <@@ 9us % 4us @@>, box 1us - <@@ 9 % 4 @@>, box 1 - <@@ 9u % 4u @@>, box 1u - <@@ 9L % 4L @@>, box 1L - <@@ 9uL % 4uL @@>, box 1uL - <@@ 9.0f % 4.0f @@>, box 1f - <@@ 9.0 % 4.0 @@>, box 1. - <@@ 9m % 4m @@>, box 1m - <@@ 9m % 4m @@>, box 1m - <@@ 9I % 4I @@>, box 1I - <@@ LanguagePrimitives.GenericOne % LanguagePrimitives.GenericOne @@>, box 0n - <@@ LanguagePrimitives.GenericOne % LanguagePrimitives.GenericOne @@>, box 0un - - <@@ +(1y) @@>, box 1y - <@@ +(1uy) @@>, box 1uy - <@@ +(1s) @@>, box 1s - <@@ +(1us) @@>, box 1us - <@@ +(1) @@>, box 1 - <@@ +(1u) @@>, box 1u - <@@ +(1L) @@>, box 1L - <@@ +(1uL) @@>, box 1uL - <@@ +(1f) @@>, box 1f - <@@ +(1.) @@>, box 1. - <@@ +(1m) @@>, box 1m - <@@ +(1m) @@>, box 1m - <@@ +(1I) @@>, box 1I - <@@ +(LanguagePrimitives.GenericOne) @@>, box 1n - <@@ +(LanguagePrimitives.GenericOne) @@>, box 1un - - <@@ -(1y) @@>, box -1y - <@@ -(1s) @@>, box -1s - <@@ -(1) @@>, box -1 - <@@ -(1L) @@>, box -1L - <@@ -(1f) @@>, box -1f - <@@ -(1.) @@>, box -1. - <@@ -(1m) @@>, box -1m - <@@ -(1m) @@>, box -1m - <@@ -(1I) @@>, box -1I - <@@ -(LanguagePrimitives.GenericOne) @@>, box -1n - <@@ Checked.(~-) (1y) @@>, box -1y - <@@ Checked.(~-) (1s) @@>, box -1s - <@@ Checked.(~-) (1) @@>, box -1 - <@@ Checked.(~-) (1L) @@>, box -1L - <@@ Checked.(~-) (1f) @@>, box -1f - <@@ Checked.(~-) (1.) @@>, box -1. - <@@ Checked.(~-) (1m) @@>, box -1m - <@@ Checked.(~-) (1m) @@>, box -1m - <@@ Checked.(~-) (1I) @@>, box -1I - <@@ Checked.(~-) (LanguagePrimitives.GenericOne) @@>, box -1n - - <@@ 4f ** 3f @@>, box 64f - <@@ 4. ** 3. @@>, box 64. - <@@ 4I ** 3 @@>, box 64I - - <@@ 1y <<< 3 @@>, box 8y - <@@ 1uy <<< 3 @@>, box 8uy - <@@ 1s <<< 3 @@>, box 8s - <@@ 1us <<< 3 @@>, box 8us - <@@ 1 <<< 3 @@>, box 8 - <@@ 1u <<< 3 @@>, box 8u - <@@ 1L <<< 3 @@>, box 8L - <@@ 1UL <<< 3 @@>, box 8UL - <@@ 1I <<< 3 @@>, box 8I - <@@ LanguagePrimitives.GenericOne <<< 3 @@>, box 8n - <@@ LanguagePrimitives.GenericOne <<< 3 @@>, box 8un - - <@@ 1y >>> 3 @@>, box 0y - <@@ 1uy >>> 3 @@>, box 0uy - <@@ 1s >>> 3 @@>, box 0s - <@@ 1us >>> 3 @@>, box 0us - <@@ 1 >>> 3 @@>, box 0 - <@@ 1u >>> 3 @@>, box 0u - <@@ 1L >>> 3 @@>, box 0L - <@@ 1UL >>> 3 @@>, box 0UL - <@@ 1I >>> 3 @@>, box 0I - <@@ LanguagePrimitives.GenericOne >>> 3 @@>, box 0n - <@@ LanguagePrimitives.GenericOne >>> 3 @@>, box 0un - - <@@ 1y &&& 3y @@>, box 1y - <@@ 1uy &&& 3uy @@>, box 1uy - <@@ 1s &&& 3s @@>, box 1s - <@@ 1us &&& 3us @@>, box 1us - <@@ 1 &&& 3 @@>, box 1 - <@@ 1u &&& 3u @@>, box 1u - <@@ 1L &&& 3L @@>, box 1L - <@@ 1UL &&& 3UL @@>, box 1UL - <@@ 1I &&& 3I @@>, box 1I - <@@ LanguagePrimitives.GenericOne &&& LanguagePrimitives.GenericOne @@>, box 1n - <@@ LanguagePrimitives.GenericOne &&& LanguagePrimitives.GenericOne @@>, box 1un - - <@@ 1y ||| 3y @@>, box 3y - <@@ 1uy ||| 3uy @@>, box 3uy - <@@ 1s ||| 3s @@>, box 3s - <@@ 1us ||| 3us @@>, box 3us - <@@ 1 ||| 3 @@>, box 3 - <@@ 1u ||| 3u @@>, box 3u - <@@ 1L ||| 3L @@>, box 3L - <@@ 1UL ||| 3UL @@>, box 3UL - <@@ 1I ||| 3I @@>, box 3I - <@@ LanguagePrimitives.GenericOne ||| LanguagePrimitives.GenericOne @@>, box 1n - <@@ LanguagePrimitives.GenericOne ||| LanguagePrimitives.GenericOne @@>, box 1un - - <@@ 1y ^^^ 3y @@>, box 2y - <@@ 1uy ^^^ 3uy @@>, box 2uy - <@@ 1s ^^^ 3s @@>, box 2s - <@@ 1us ^^^ 3us @@>, box 2us - <@@ 1 ^^^ 3 @@>, box 2 - <@@ 1u ^^^ 3u @@>, box 2u - <@@ 1L ^^^ 3L @@>, box 2L - <@@ 1UL ^^^ 3UL @@>, box 2UL - <@@ 1I ^^^ 3I @@>, box 2I - <@@ LanguagePrimitives.GenericOne ^^^ LanguagePrimitives.GenericOne @@>, box 0n - <@@ LanguagePrimitives.GenericOne ^^^ LanguagePrimitives.GenericOne @@>, box 0un - - <@@ ~~~3y @@>, box -4y - <@@ ~~~3uy @@>, box 252uy - <@@ ~~~3s @@>, box -4s - <@@ ~~~3us @@>, box 65532us - <@@ ~~~3 @@>, box -4 - <@@ ~~~3u @@>, box 4294967292u - <@@ ~~~3L @@>, box -4L - <@@ ~~~3UL @@>, box 18446744073709551612UL - <@@ ~~~LanguagePrimitives.GenericOne @@>, box ~~~1n - <@@ ~~~LanguagePrimitives.GenericOne @@>, box ~~~1un - - <@@ byte 3uy @@>, box 3uy - <@@ byte 3y @@>, box 3uy - <@@ byte 3s @@>, box 3uy - <@@ byte 3us @@>, box 3uy - <@@ byte 3 @@>, box 3uy - <@@ byte 3u @@>, box 3uy - <@@ byte 3L @@>, box 3uy - <@@ byte 3UL @@>, box 3uy - <@@ byte '\003' @@>, box 3uy - <@@ byte 3.0f @@>, box 3uy - <@@ byte 3.0 @@>, box 3uy - <@@ byte 3.0 @@>, box 3uy - <@@ byte 3I @@>, box 3uy - <@@ byte LanguagePrimitives.GenericOne @@>, box 1uy - <@@ byte LanguagePrimitives.GenericOne @@>, box 1uy - <@@ byte 3.0M @@>, box 3uy - <@@ byte "3" @@>, box 3uy - <@@ uint8 3uy @@>, box 3uy - <@@ uint8 3y @@>, box 3uy - <@@ uint8 3s @@>, box 3uy - <@@ uint8 3us @@>, box 3uy - <@@ uint8 3 @@>, box 3uy - <@@ uint8 3u @@>, box 3uy - <@@ uint8 3L @@>, box 3uy - <@@ uint8 3UL @@>, box 3uy - <@@ uint8 '\003' @@>, box 3uy - <@@ uint8 3.0f @@>, box 3uy - <@@ uint8 3.0 @@>, box 3uy - <@@ uint8 3.0 @@>, box 3uy - <@@ uint8 3I @@>, box 3uy - <@@ uint8 LanguagePrimitives.GenericOne @@>, box 1uy - <@@ uint8 LanguagePrimitives.GenericOne @@>, box 1uy - <@@ uint8 3.0M @@>, box 3uy - <@@ uint8 "3" @@>, box 3uy - <@@ Checked.byte 3uy @@>, box 3uy - <@@ Checked.byte 3y @@>, box 3uy - <@@ Checked.byte 3s @@>, box 3uy - <@@ Checked.byte 3us @@>, box 3uy - <@@ Checked.byte 3 @@>, box 3uy - <@@ Checked.byte 3u @@>, box 3uy - <@@ Checked.byte 3L @@>, box 3uy - <@@ Checked.byte 3UL @@>, box 3uy - <@@ Checked.byte '\003' @@>, box 3uy - <@@ Checked.byte 3.0f @@>, box 3uy - <@@ Checked.byte 3.0 @@>, box 3uy - <@@ Checked.byte 3.0 @@>, box 3uy - <@@ Checked.byte 3I @@>, box 3uy - <@@ Checked.byte LanguagePrimitives.GenericOne @@>, box 1uy - <@@ Checked.byte LanguagePrimitives.GenericOne @@>, box 1uy - <@@ Checked.byte 3.0M @@>, box 3uy - <@@ Checked.byte "3" @@>, box 3uy - <@@ Checked.uint8 3uy @@>, box 3uy - <@@ Checked.uint8 3y @@>, box 3uy - <@@ Checked.uint8 3s @@>, box 3uy - <@@ Checked.uint8 3us @@>, box 3uy - <@@ Checked.uint8 3 @@>, box 3uy - <@@ Checked.uint8 3u @@>, box 3uy - <@@ Checked.uint8 3L @@>, box 3uy - <@@ Checked.uint8 3UL @@>, box 3uy - <@@ Checked.uint8 '\003' @@>, box 3uy - <@@ Checked.uint8 3.0f @@>, box 3uy - <@@ Checked.uint8 3.0 @@>, box 3uy - <@@ Checked.uint8 3.0 @@>, box 3uy - <@@ Checked.uint8 3I @@>, box 3uy - <@@ Checked.uint8 LanguagePrimitives.GenericOne @@>, box 1uy - <@@ Checked.uint8 LanguagePrimitives.GenericOne @@>, box 1uy - <@@ Checked.uint8 3.0M @@>, box 3uy - <@@ Checked.uint8 "3" @@>, box 3uy - - <@@ sbyte 3uy @@>, box 3y - <@@ sbyte 3y @@>, box 3y - <@@ sbyte 3s @@>, box 3y - <@@ sbyte 3us @@>, box 3y - <@@ sbyte 3 @@>, box 3y - <@@ sbyte 3u @@>, box 3y - <@@ sbyte 3L @@>, box 3y - <@@ sbyte 3UL @@>, box 3y - <@@ sbyte '\003' @@>, box 3y - <@@ sbyte 3.0f @@>, box 3y - <@@ sbyte 3.0 @@>, box 3y - <@@ sbyte 3.0 @@>, box 3y - <@@ sbyte 3I @@>, box 3y - <@@ sbyte LanguagePrimitives.GenericOne @@>, box 1y - <@@ sbyte LanguagePrimitives.GenericOne @@>, box 1y - <@@ sbyte 3.0M @@>, box 3y - <@@ sbyte "3" @@>, box 3y - <@@ int8 3uy @@>, box 3y - <@@ int8 3y @@>, box 3y - <@@ int8 3s @@>, box 3y - <@@ int8 3us @@>, box 3y - <@@ int8 3 @@>, box 3y - <@@ int8 3u @@>, box 3y - <@@ int8 3L @@>, box 3y - <@@ int8 3UL @@>, box 3y - <@@ int8 '\003' @@>, box 3y - <@@ int8 3.0f @@>, box 3y - <@@ int8 3.0 @@>, box 3y - <@@ int8 3.0 @@>, box 3y - <@@ int8 3I @@>, box 3y - <@@ int8 LanguagePrimitives.GenericOne @@>, box 1y - <@@ int8 LanguagePrimitives.GenericOne @@>, box 1y - <@@ int8 3.0M @@>, box 3y - <@@ int8 "3" @@>, box 3y - <@@ Checked.sbyte 3uy @@>, box 3y - <@@ Checked.sbyte 3y @@>, box 3y - <@@ Checked.sbyte 3s @@>, box 3y - <@@ Checked.sbyte 3us @@>, box 3y - <@@ Checked.sbyte 3 @@>, box 3y - <@@ Checked.sbyte 3u @@>, box 3y - <@@ Checked.sbyte 3L @@>, box 3y - <@@ Checked.sbyte 3UL @@>, box 3y - <@@ Checked.sbyte '\003' @@>, box 3y - <@@ Checked.sbyte 3.0f @@>, box 3y - <@@ Checked.sbyte 3.0 @@>, box 3y - <@@ Checked.sbyte 3.0 @@>, box 3y - <@@ Checked.sbyte 3I @@>, box 3y - <@@ Checked.sbyte LanguagePrimitives.GenericOne @@>, box 1y - <@@ Checked.sbyte LanguagePrimitives.GenericOne @@>, box 1y - <@@ Checked.sbyte 3.0M @@>, box 3y - <@@ Checked.sbyte "3" @@>, box 3y - <@@ Checked.int8 3uy @@>, box 3y - <@@ Checked.int8 3y @@>, box 3y - <@@ Checked.int8 3s @@>, box 3y - <@@ Checked.int8 3us @@>, box 3y - <@@ Checked.int8 3 @@>, box 3y - <@@ Checked.int8 3u @@>, box 3y - <@@ Checked.int8 3L @@>, box 3y - <@@ Checked.int8 3UL @@>, box 3y - <@@ Checked.int8 '\003' @@>, box 3y - <@@ Checked.int8 3.0f @@>, box 3y - <@@ Checked.int8 3.0 @@>, box 3y - <@@ Checked.int8 3.0 @@>, box 3y - <@@ Checked.int8 3I @@>, box 3y - <@@ Checked.int8 LanguagePrimitives.GenericOne @@>, box 1y - <@@ Checked.int8 LanguagePrimitives.GenericOne @@>, box 1y - <@@ Checked.int8 3.0M @@>, box 3y - <@@ Checked.int8 "3" @@>, box 3y - - <@@ int16 3uy @@>, box 3s - <@@ int16 3y @@>, box 3s - <@@ int16 3s @@>, box 3s - <@@ int16 3us @@>, box 3s - <@@ int16 3 @@>, box 3s - <@@ int16 3u @@>, box 3s - <@@ int16 3L @@>, box 3s - <@@ int16 3UL @@>, box 3s - <@@ int16 '\003' @@>, box 3s - <@@ int16 3.0f @@>, box 3s - <@@ int16 3.0 @@>, box 3s - <@@ int16 3.0 @@>, box 3s - <@@ int16 3I @@>, box 3s - <@@ int16 LanguagePrimitives.GenericOne @@>, box 1s - <@@ int16 LanguagePrimitives.GenericOne @@>, box 1s - <@@ int16 3.0M @@>, box 3s - <@@ int16 "3" @@>, box 3s - <@@ Checked.int16 3uy @@>, box 3s - <@@ Checked.int16 3y @@>, box 3s - <@@ Checked.int16 3s @@>, box 3s - <@@ Checked.int16 3us @@>, box 3s - <@@ Checked.int16 3 @@>, box 3s - <@@ Checked.int16 3u @@>, box 3s - <@@ Checked.int16 3L @@>, box 3s - <@@ Checked.int16 3UL @@>, box 3s - <@@ Checked.int16 '\003' @@>, box 3s - <@@ Checked.int16 3.0f @@>, box 3s - <@@ Checked.int16 3.0 @@>, box 3s - <@@ Checked.int16 3.0 @@>, box 3s - <@@ Checked.int16 3I @@>, box 3s - <@@ Checked.int16 LanguagePrimitives.GenericOne @@>, box 1s - <@@ Checked.int16 LanguagePrimitives.GenericOne @@>, box 1s - <@@ Checked.int16 3.0M @@>, box 3s - <@@ Checked.int16 "3" @@>, box 3s - - <@@ uint16 3uy @@>, box 3us - <@@ uint16 3y @@>, box 3us - <@@ uint16 3s @@>, box 3us - <@@ uint16 3us @@>, box 3us - <@@ uint16 3 @@>, box 3us - <@@ uint16 3u @@>, box 3us - <@@ uint16 3L @@>, box 3us - <@@ uint16 3UL @@>, box 3us - <@@ uint16 '\003' @@>, box 3us - <@@ uint16 3.0f @@>, box 3us - <@@ uint16 3.0 @@>, box 3us - <@@ uint16 3.0 @@>, box 3us - <@@ uint16 3I @@>, box 3us - <@@ uint16 LanguagePrimitives.GenericOne @@>, box 1us - <@@ uint16 LanguagePrimitives.GenericOne @@>, box 1us - <@@ uint16 3.0M @@>, box 3us - <@@ uint16 "3" @@>, box 3us - <@@ Checked.uint16 3uy @@>, box 3us - <@@ Checked.uint16 3y @@>, box 3us - <@@ Checked.uint16 3s @@>, box 3us - <@@ Checked.uint16 3us @@>, box 3us - <@@ Checked.uint16 3 @@>, box 3us - <@@ Checked.uint16 3u @@>, box 3us - <@@ Checked.uint16 3L @@>, box 3us - <@@ Checked.uint16 3UL @@>, box 3us - <@@ Checked.uint16 '\003' @@>, box 3us - <@@ Checked.uint16 3.0f @@>, box 3us - <@@ Checked.uint16 3.0 @@>, box 3us - <@@ Checked.uint16 3.0 @@>, box 3us - <@@ Checked.uint16 3I @@>, box 3us - <@@ Checked.uint16 LanguagePrimitives.GenericOne @@>, box 1us - <@@ Checked.uint16 LanguagePrimitives.GenericOne @@>, box 1us - <@@ Checked.uint16 3.0M @@>, box 3us - <@@ Checked.uint16 "3" @@>, box 3us - - <@@ int 3uy @@>, box 3 - <@@ int 3y @@>, box 3 - <@@ int 3s @@>, box 3 - <@@ int 3us @@>, box 3 - <@@ int 3 @@>, box 3 - <@@ int 3u @@>, box 3 - <@@ int 3L @@>, box 3 - <@@ int 3UL @@>, box 3 - <@@ int '\003' @@>, box 3 - <@@ int 3.0f @@>, box 3 - <@@ int 3.0 @@>, box 3 - <@@ int 3.0 @@>, box 3 - <@@ int 3I @@>, box 3 - <@@ int LanguagePrimitives.GenericOne @@>, box 1 - <@@ int LanguagePrimitives.GenericOne @@>, box 1 - <@@ int 3.0M @@>, box 3 - <@@ int "3" @@>, box 3 - <@@ int32 3uy @@>, box 3 - <@@ int32 3y @@>, box 3 - <@@ int32 3s @@>, box 3 - <@@ int32 3us @@>, box 3 - <@@ int32 3 @@>, box 3 - <@@ int32 3u @@>, box 3 - <@@ int32 3L @@>, box 3 - <@@ int32 3UL @@>, box 3 - <@@ int32 '\003' @@>, box 3 - <@@ int32 3.0f @@>, box 3 - <@@ int32 3.0 @@>, box 3 - <@@ int32 3.0 @@>, box 3 - <@@ int32 3I @@>, box 3 - <@@ int32 LanguagePrimitives.GenericOne @@>, box 1 - <@@ int32 LanguagePrimitives.GenericOne @@>, box 1 - <@@ int32 3.0M @@>, box 3 - <@@ int32 "3" @@>, box 3 - <@@ Checked.int 3uy @@>, box 3 - <@@ Checked.int 3y @@>, box 3 - <@@ Checked.int 3s @@>, box 3 - <@@ Checked.int 3us @@>, box 3 - <@@ Checked.int 3 @@>, box 3 - <@@ Checked.int 3u @@>, box 3 - <@@ Checked.int 3L @@>, box 3 - <@@ Checked.int 3UL @@>, box 3 - <@@ Checked.int '\003' @@>, box 3 - <@@ Checked.int 3.0f @@>, box 3 - <@@ Checked.int 3.0 @@>, box 3 - <@@ Checked.int 3.0 @@>, box 3 - <@@ Checked.int 3I @@>, box 3 - <@@ Checked.int LanguagePrimitives.GenericOne @@>, box 1 - <@@ Checked.int LanguagePrimitives.GenericOne @@>, box 1 - <@@ Checked.int 3.0M @@>, box 3 - <@@ Checked.int "3" @@>, box 3 - <@@ Checked.int32 3uy @@>, box 3 - <@@ Checked.int32 3y @@>, box 3 - <@@ Checked.int32 3s @@>, box 3 - <@@ Checked.int32 3us @@>, box 3 - <@@ Checked.int32 3 @@>, box 3 - <@@ Checked.int32 3u @@>, box 3 - <@@ Checked.int32 3L @@>, box 3 - <@@ Checked.int32 3UL @@>, box 3 - <@@ Checked.int32 '\003' @@>, box 3 - <@@ Checked.int32 3.0f @@>, box 3 - <@@ Checked.int32 3.0 @@>, box 3 - <@@ Checked.int32 3.0 @@>, box 3 - <@@ Checked.int32 3I @@>, box 3 - <@@ Checked.int32 LanguagePrimitives.GenericOne @@>, box 1 - <@@ Checked.int32 LanguagePrimitives.GenericOne @@>, box 1 - <@@ Checked.int32 3.0M @@>, box 3 - <@@ Checked.int32 "3" @@>, box 3 - - <@@ uint 3uy @@>, box 3u - <@@ uint 3y @@>, box 3u - <@@ uint 3s @@>, box 3u - <@@ uint 3us @@>, box 3u - <@@ uint 3 @@>, box 3u - <@@ uint 3u @@>, box 3u - <@@ uint 3L @@>, box 3u - <@@ uint 3UL @@>, box 3u - <@@ uint '\003' @@>, box 3u - <@@ uint 3.0f @@>, box 3u - <@@ uint 3.0 @@>, box 3u - <@@ uint 3.0 @@>, box 3u - <@@ uint 3I @@>, box 3u - <@@ uint LanguagePrimitives.GenericOne @@>, box 1u - <@@ uint LanguagePrimitives.GenericOne @@>, box 1u - <@@ uint 3.0M @@>, box 3u - <@@ uint "3" @@>, box 3u - <@@ uint32 3uy @@>, box 3u - <@@ uint32 3y @@>, box 3u - <@@ uint32 3s @@>, box 3u - <@@ uint32 3us @@>, box 3u - <@@ uint32 3 @@>, box 3u - <@@ uint32 3u @@>, box 3u - <@@ uint32 3L @@>, box 3u - <@@ uint32 3UL @@>, box 3u - <@@ uint32 '\003' @@>, box 3u - <@@ uint32 3.0f @@>, box 3u - <@@ uint32 3.0 @@>, box 3u - <@@ uint32 3.0 @@>, box 3u - <@@ uint32 3I @@>, box 3u - <@@ uint32 LanguagePrimitives.GenericOne @@>, box 1u - <@@ uint32 LanguagePrimitives.GenericOne @@>, box 1u - <@@ uint32 3.0M @@>, box 3u - <@@ uint32 "3" @@>, box 3u - <@@ Checked.uint32 3uy @@>, box 3u - <@@ Checked.uint32 3y @@>, box 3u - <@@ Checked.uint32 3s @@>, box 3u - <@@ Checked.uint32 3us @@>, box 3u - <@@ Checked.uint32 3 @@>, box 3u - <@@ Checked.uint32 3u @@>, box 3u - <@@ Checked.uint32 3L @@>, box 3u - <@@ Checked.uint32 3UL @@>, box 3u - <@@ Checked.uint32 '\003' @@>, box 3u - <@@ Checked.uint32 3.0f @@>, box 3u - <@@ Checked.uint32 3.0 @@>, box 3u - <@@ Checked.uint32 3.0 @@>, box 3u - <@@ Checked.uint32 3I @@>, box 3u - <@@ Checked.uint32 LanguagePrimitives.GenericOne @@>, box 1u - <@@ Checked.uint32 LanguagePrimitives.GenericOne @@>, box 1u - <@@ Checked.uint32 3.0M @@>, box 3u - <@@ Checked.uint32 "3" @@>, box 3u - - <@@ int64 3uy @@>, box 3L - <@@ int64 3y @@>, box 3L - <@@ int64 3s @@>, box 3L - <@@ int64 3us @@>, box 3L - <@@ int64 3 @@>, box 3L - <@@ int64 3u @@>, box 3L - <@@ int64 3L @@>, box 3L - <@@ int64 3UL @@>, box 3L - <@@ int64 '\003' @@>, box 3L - <@@ int64 3.0f @@>, box 3L - <@@ int64 3.0 @@>, box 3L - <@@ int64 3.0 @@>, box 3L - <@@ int64 3I @@>, box 3L - <@@ int64 LanguagePrimitives.GenericOne @@>, box 1L - <@@ int64 LanguagePrimitives.GenericOne @@>, box 1L - <@@ int64 3.0M @@>, box 3L - <@@ int64 "3" @@>, box 3L - <@@ Checked.int64 3uy @@>, box 3L - <@@ Checked.int64 3y @@>, box 3L - <@@ Checked.int64 3s @@>, box 3L - <@@ Checked.int64 3us @@>, box 3L - <@@ Checked.int64 3 @@>, box 3L - <@@ Checked.int64 3u @@>, box 3L - <@@ Checked.int64 3L @@>, box 3L - <@@ Checked.int64 3UL @@>, box 3L - <@@ Checked.int64 '\003' @@>, box 3L - <@@ Checked.int64 3.0f @@>, box 3L - <@@ Checked.int64 3.0 @@>, box 3L - <@@ Checked.int64 3.0 @@>, box 3L - <@@ Checked.int64 3I @@>, box 3L - <@@ Checked.int64 LanguagePrimitives.GenericOne @@>, box 1L - <@@ Checked.int64 LanguagePrimitives.GenericOne @@>, box 1L - <@@ Checked.int64 3.0M @@>, box 3L - <@@ Checked.int64 "3" @@>, box 3L - - <@@ uint64 3uy @@>, box 3UL - <@@ uint64 3y @@>, box 3UL - <@@ uint64 3s @@>, box 3UL - <@@ uint64 3us @@>, box 3UL - <@@ uint64 3 @@>, box 3UL - <@@ uint64 3u @@>, box 3UL - <@@ uint64 3L @@>, box 3UL - <@@ uint64 3UL @@>, box 3UL - <@@ uint64 '\003' @@>, box 3UL - <@@ uint64 3.0f @@>, box 3UL - <@@ uint64 3.0 @@>, box 3UL - <@@ uint64 3.0 @@>, box 3UL - <@@ uint64 3I @@>, box 3UL - <@@ uint64 LanguagePrimitives.GenericOne @@>, box 1UL - <@@ uint64 LanguagePrimitives.GenericOne @@>, box 1UL - <@@ uint64 3.0M @@>, box 3UL - <@@ uint64 "3" @@>, box 3UL - <@@ Checked.uint64 3uy @@>, box 3UL - <@@ Checked.uint64 3y @@>, box 3UL - <@@ Checked.uint64 3s @@>, box 3UL - <@@ Checked.uint64 3us @@>, box 3UL - <@@ Checked.uint64 3 @@>, box 3UL - <@@ Checked.uint64 3u @@>, box 3UL - <@@ Checked.uint64 3L @@>, box 3UL - <@@ Checked.uint64 3UL @@>, box 3UL - <@@ Checked.uint64 '\003' @@>, box 3UL - <@@ Checked.uint64 3.0f @@>, box 3UL - <@@ Checked.uint64 3.0 @@>, box 3UL - <@@ Checked.uint64 3.0 @@>, box 3UL - <@@ Checked.uint64 3I @@>, box 3UL - <@@ Checked.uint64 LanguagePrimitives.GenericOne @@>, box 1UL - <@@ Checked.uint64 LanguagePrimitives.GenericOne @@>, box 1UL - <@@ Checked.uint64 3.0M @@>, box 3UL - <@@ Checked.uint64 "3" @@>, box 3UL - - <@@ char 51uy @@>, box '3' - <@@ char 51y @@>, box '3' - <@@ char 51s @@>, box '3' - <@@ char 51us @@>, box '3' - <@@ char 51 @@>, box '3' - <@@ char 51u @@>, box '3' - <@@ char 51L @@>, box '3' - <@@ char 51UL @@>, box '3' - <@@ char '3' @@>, box '3' - <@@ char 51.0f @@>, box '3' - <@@ char 51.0 @@>, box '3' - <@@ char 51.0 @@>, box '3' - <@@ char LanguagePrimitives.GenericOne @@>, box '\001' - <@@ char LanguagePrimitives.GenericOne @@>, box '\001' - <@@ char 51.0M @@>, box '3' - <@@ char "3" @@>, box '3' - <@@ Checked.char 51uy @@>, box '3' - <@@ Checked.char 51y @@>, box '3' - <@@ Checked.char 51s @@>, box '3' - <@@ Checked.char 51us @@>, box '3' - <@@ Checked.char 51 @@>, box '3' - <@@ Checked.char 51u @@>, box '3' - <@@ Checked.char 51L @@>, box '3' - <@@ Checked.char 51UL @@>, box '3' - <@@ Checked.char '3' @@>, box '3' - <@@ Checked.char 51.0f @@>, box '3' - <@@ Checked.char 51.0 @@>, box '3' - <@@ Checked.char 51.0 @@>, box '3' - <@@ Checked.char LanguagePrimitives.GenericOne @@>, box '\001' - <@@ Checked.char LanguagePrimitives.GenericOne @@>, box '\001' - <@@ Checked.char 51.0M @@>, box '3' - <@@ Checked.char "3" @@>, box '3' - - <@@ nativeint 3uy @@>, box 3n - <@@ nativeint 3y @@>, box 3n - <@@ nativeint 3s @@>, box 3n - <@@ nativeint 3us @@>, box 3n - <@@ nativeint 3 @@>, box 3n - <@@ nativeint 3u @@>, box 3n - <@@ nativeint 3L @@>, box 3n - <@@ nativeint 3UL @@>, box 3n - <@@ nativeint '\003' @@>, box 3n - <@@ nativeint 3.0f @@>, box 3n - <@@ nativeint 3.0 @@>, box 3n - <@@ nativeint 3.0 @@>, box 3n - <@@ nativeint LanguagePrimitives.GenericOne @@>, box 1n - <@@ nativeint LanguagePrimitives.GenericOne @@>, box 1n - <@@ nativeint 3.0M @@>, box 3n - <@@ nativeint "3" @@>, box 3n - <@@ Checked.nativeint 3uy @@>, box 3n - <@@ Checked.nativeint 3y @@>, box 3n - <@@ Checked.nativeint 3s @@>, box 3n - <@@ Checked.nativeint 3us @@>, box 3n - <@@ Checked.nativeint 3 @@>, box 3n - <@@ Checked.nativeint 3u @@>, box 3n - <@@ Checked.nativeint 3L @@>, box 3n - <@@ Checked.nativeint 3UL @@>, box 3n - <@@ Checked.nativeint '\003' @@>, box 3n - <@@ Checked.nativeint 3.0f @@>, box 3n - <@@ Checked.nativeint 3.0 @@>, box 3n - <@@ Checked.nativeint 3.0 @@>, box 3n - <@@ Checked.nativeint LanguagePrimitives.GenericOne @@>, box 1n - <@@ Checked.nativeint LanguagePrimitives.GenericOne @@>, box 1n - <@@ Checked.nativeint 3.0M @@>, box 3n - <@@ Checked.nativeint "3" @@>, box 3n - - <@@ unativeint 3uy @@>, box 3un - <@@ unativeint 3y @@>, box 3un - <@@ unativeint 3s @@>, box 3un - <@@ unativeint 3us @@>, box 3un - <@@ unativeint 3 @@>, box 3un - <@@ unativeint 3u @@>, box 3un - <@@ unativeint 3L @@>, box 3un - <@@ unativeint 3UL @@>, box 3un - <@@ unativeint '\003' @@>, box 3un - <@@ unativeint 3.0f @@>, box 3un - <@@ unativeint 3.0 @@>, box 3un - <@@ unativeint 3.0 @@>, box 3un - <@@ unativeint LanguagePrimitives.GenericOne @@>, box 1un - <@@ unativeint LanguagePrimitives.GenericOne @@>, box 1un - <@@ unativeint 3.0M @@>, box 3un - <@@ unativeint "3" @@>, box 3un - <@@ Checked.unativeint 3uy @@>, box 3un - <@@ Checked.unativeint 3y @@>, box 3un - <@@ Checked.unativeint 3s @@>, box 3un - <@@ Checked.unativeint 3us @@>, box 3un - <@@ Checked.unativeint 3 @@>, box 3un - <@@ Checked.unativeint 3u @@>, box 3un - <@@ Checked.unativeint 3L @@>, box 3un - <@@ Checked.unativeint 3UL @@>, box 3un - <@@ Checked.unativeint '\003' @@>, box 3un - <@@ Checked.unativeint 3.0f @@>, box 3un - <@@ Checked.unativeint 3.0 @@>, box 3un - <@@ Checked.unativeint 3.0 @@>, box 3un - <@@ Checked.unativeint LanguagePrimitives.GenericOne @@>, box 1un - <@@ Checked.unativeint LanguagePrimitives.GenericOne @@>, box 1un - <@@ Checked.unativeint 3.0M @@>, box 3un - <@@ Checked.unativeint "3" @@>, box 3un - - <@@ single 3uy @@>, box 3f - <@@ single 3y @@>, box 3f - <@@ single 3s @@>, box 3f - <@@ single 3us @@>, box 3f - <@@ single 3 @@>, box 3f - <@@ single 3u @@>, box 3f - <@@ single 3L @@>, box 3f - <@@ single 3UL @@>, box 3f - <@@ single '\003' @@>, box 3f - <@@ single 3.0f @@>, box 3f - <@@ single 3.0 @@>, box 3f - <@@ single 3.0 @@>, box 3f - <@@ single 3I @@>, box 3f - <@@ single LanguagePrimitives.GenericOne @@>, box 1f - <@@ single LanguagePrimitives.GenericOne @@>, box 1f - <@@ single 3.0M @@>, box 3f - <@@ single "3" @@>, box 3f - <@@ float32 3uy @@>, box 3f - <@@ float32 3y @@>, box 3f - <@@ float32 3s @@>, box 3f - <@@ float32 3us @@>, box 3f - <@@ float32 3 @@>, box 3f - <@@ float32 3u @@>, box 3f - <@@ float32 3L @@>, box 3f - <@@ float32 3UL @@>, box 3f - <@@ float32 '\003' @@>, box 3f - <@@ float32 3.0f @@>, box 3f - <@@ float32 3.0 @@>, box 3f - <@@ float32 3.0 @@>, box 3f - <@@ float32 3I @@>, box 3f - <@@ float32 LanguagePrimitives.GenericOne @@>, box 1f - <@@ float32 LanguagePrimitives.GenericOne @@>, box 1f - <@@ float32 3.0M @@>, box 3f - <@@ float32 "3" @@>, box 3f - - <@@ double 3uy @@>, box 3. - <@@ double 3y @@>, box 3. - <@@ double 3s @@>, box 3. - <@@ double 3us @@>, box 3. - <@@ double 3 @@>, box 3. - <@@ double 3u @@>, box 3. - <@@ double 3L @@>, box 3. - <@@ double 3UL @@>, box 3. - <@@ double '\003' @@>, box 3. - <@@ double 3.0f @@>, box 3. - <@@ double 3.0 @@>, box 3. - <@@ double 3.0 @@>, box 3. - <@@ double 3I @@>, box 3. - <@@ double LanguagePrimitives.GenericOne @@>, box 1. - <@@ double LanguagePrimitives.GenericOne @@>, box 1. - <@@ double 3.0M @@>, box 3. - <@@ double "3" @@>, box 3. - <@@ float 3uy @@>, box 3. - <@@ float 3y @@>, box 3. - <@@ float 3s @@>, box 3. - <@@ float 3us @@>, box 3. - <@@ float 3 @@>, box 3. - <@@ float 3u @@>, box 3. - <@@ float 3L @@>, box 3. - <@@ float 3UL @@>, box 3. - <@@ float '\003' @@>, box 3. - <@@ float 3.0f @@>, box 3. - <@@ float 3.0 @@>, box 3. - <@@ float 3.0 @@>, box 3. - <@@ float 3I @@>, box 3. - <@@ float LanguagePrimitives.GenericOne @@>, box 1. - <@@ float LanguagePrimitives.GenericOne @@>, box 1. - <@@ float 3.0M @@>, box 3. - <@@ float "3" @@>, box 3. - - <@@ decimal 3uy @@>, box 3m - <@@ decimal 3y @@>, box 3m - <@@ decimal 3s @@>, box 3m - <@@ decimal 3us @@>, box 3m - <@@ decimal 3 @@>, box 3m - <@@ decimal 3u @@>, box 3m - <@@ decimal 3L @@>, box 3m - <@@ decimal 3UL @@>, box 3m - <@@ decimal '\003' @@>, box 3m - <@@ decimal 3.0f @@>, box 3m - <@@ decimal 3.0 @@>, box 3m - <@@ decimal 3.0 @@>, box 3m - <@@ decimal 3I @@>, box 3m - <@@ decimal LanguagePrimitives.GenericOne @@>, box 1m - <@@ decimal LanguagePrimitives.GenericOne @@>, box 1m - <@@ decimal 3.0M @@>, box 3m - <@@ decimal "3" @@>, box 3m - - <@@ LanguagePrimitives.GenericZero @@>, box 0uy - <@@ LanguagePrimitives.GenericZero @@>, box 0uy - <@@ LanguagePrimitives.GenericZero @@>, box 0y - <@@ LanguagePrimitives.GenericZero @@>, box 0y - <@@ LanguagePrimitives.GenericZero @@>, box 0s - <@@ LanguagePrimitives.GenericZero @@>, box 0us - <@@ LanguagePrimitives.GenericZero @@>, box 0 - <@@ LanguagePrimitives.GenericZero @@>, box 0 - <@@ LanguagePrimitives.GenericZero @@>, box 0u - <@@ LanguagePrimitives.GenericZero @@>, box 0u - <@@ LanguagePrimitives.GenericZero @@>, box 0L - <@@ LanguagePrimitives.GenericZero @@>, box 0UL - <@@ LanguagePrimitives.GenericZero @@>, box 0I - <@@ LanguagePrimitives.GenericZero @@>, box '\000' - <@@ LanguagePrimitives.GenericZero @@>, box 0n - <@@ LanguagePrimitives.GenericZero @@>, box 0un - <@@ LanguagePrimitives.GenericZero @@>, box 0f - <@@ LanguagePrimitives.GenericZero @@>, box 0. - <@@ LanguagePrimitives.GenericZero @@>, box 0m - <@@ LanguagePrimitives.GenericZero> @@>, box 0m - - <@@ LanguagePrimitives.GenericOne @@>, box 1uy - <@@ LanguagePrimitives.GenericOne @@>, box 1uy - <@@ LanguagePrimitives.GenericOne @@>, box 1y - <@@ LanguagePrimitives.GenericOne @@>, box 1y - <@@ LanguagePrimitives.GenericOne @@>, box 1s - <@@ LanguagePrimitives.GenericOne @@>, box 1us - <@@ LanguagePrimitives.GenericOne @@>, box 1 - <@@ LanguagePrimitives.GenericOne @@>, box 1 - <@@ LanguagePrimitives.GenericOne @@>, box 1u - <@@ LanguagePrimitives.GenericOne @@>, box 1u - <@@ LanguagePrimitives.GenericOne @@>, box 1L - <@@ LanguagePrimitives.GenericOne @@>, box 1UL - <@@ LanguagePrimitives.GenericOne @@>, box 1I - <@@ LanguagePrimitives.GenericOne @@>, box '\001' - <@@ LanguagePrimitives.GenericOne @@>, box 1n - <@@ LanguagePrimitives.GenericOne @@>, box 1un - <@@ LanguagePrimitives.GenericOne @@>, box 1f - <@@ LanguagePrimitives.GenericOne @@>, box 1. - <@@ LanguagePrimitives.GenericOne @@>, box 1m - //<@@ LanguagePrimitives.GenericOne> @@>, box 1m // Doesn't typecheck - - <@@ List.sum [ 1; 2 ] @@>, box 3 - <@@ List.sum [ 1I; 2I ] @@>, box 3I - <@@ List.sum [ 1.0f; 2.0f ] @@>, box 3f - <@@ List.sum [ 1.0; 2.0 ] @@>, box 3. - <@@ List.sum [ 1.0M; 2.0M ] @@>, box 3m - <@@ List.sum [ 1.0M; 2.0M ] @@>, box 3m - <@@ List.average [ 1.0; 2.0 ] @@>, box 1.5 - <@@ List.average [ 1.0f; 2.0f ] @@>, box 1.5f - <@@ List.average [ 1.0M; 2.0M ] @@>, box 1.5m - <@@ List.average [ 1.0M; 2.0M ] @@>, box 1.5m - - <@@ Nullable.byte (Nullable<_> 3uy) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3y) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3s) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3us) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3u) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3L) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3UL) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> '\003') @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3.0f) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3.0) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3.0) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> 3I) @@>, box 3uy - <@@ Nullable.byte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy - <@@ Nullable.byte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy - <@@ Nullable.byte (Nullable<_> 3.0M) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3uy) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3y) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3s) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3us) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3u) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3L) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3UL) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> '\003') @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3.0f) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3.0) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3.0) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> 3I) @@>, box 3uy - <@@ Nullable.uint8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy - <@@ Nullable.uint8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy - <@@ Nullable.uint8 (Nullable<_> 3.0M) @@>, box 3uy - - <@@ Nullable.sbyte (Nullable<_> 3uy) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3y) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3s) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3us) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3u) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3L) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3UL) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> '\003') @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3.0f) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3.0) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3.0) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> 3I) @@>, box 3y - <@@ Nullable.sbyte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y - <@@ Nullable.sbyte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y - <@@ Nullable.sbyte (Nullable<_> 3.0M) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3uy) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3y) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3s) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3us) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3u) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3L) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3UL) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> '\003') @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3.0f) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3.0) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3.0) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> 3I) @@>, box 3y - <@@ Nullable.int8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y - <@@ Nullable.int8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y - <@@ Nullable.int8 (Nullable<_> 3.0M) @@>, box 3y - - <@@ Nullable.int16 (Nullable<_> 3uy) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3y) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3s) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3us) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3u) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3L) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3UL) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> '\003') @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3.0f) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3.0) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3.0) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> 3I) @@>, box 3s - <@@ Nullable.int16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1s - <@@ Nullable.int16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1s - <@@ Nullable.int16 (Nullable<_> 3.0M) @@>, box 3s - - <@@ Nullable.uint16 (Nullable<_> 3uy) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3y) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3s) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3us) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3u) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3L) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3UL) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> '\003') @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3.0f) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3.0) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3.0) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> 3I) @@>, box 3us - <@@ Nullable.uint16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1us - <@@ Nullable.uint16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1us - <@@ Nullable.uint16 (Nullable<_> 3.0M) @@>, box 3us - - <@@ Nullable.int (Nullable<_> 3uy) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3y) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3s) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3us) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3u) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3L) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3UL) @@>, box 3 - <@@ Nullable.int (Nullable<_> '\003') @@>, box 3 - <@@ Nullable.int (Nullable<_> 3.0f) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3.0) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3.0) @@>, box 3 - <@@ Nullable.int (Nullable<_> 3I) @@>, box 3 - <@@ Nullable.int (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 - <@@ Nullable.int (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 - <@@ Nullable.int (Nullable<_> 3.0M) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3uy) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3y) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3s) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3us) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3u) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3L) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3UL) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> '\003') @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3.0f) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3.0) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3.0) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> 3I) @@>, box 3 - <@@ Nullable.int32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 - <@@ Nullable.int32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 - <@@ Nullable.int32 (Nullable<_> 3.0M) @@>, box 3 - - <@@ Nullable.uint (Nullable<_> 3uy) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3y) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3s) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3us) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3u) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3L) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3UL) @@>, box 3u - <@@ Nullable.uint (Nullable<_> '\003') @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3.0f) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3.0) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3.0) @@>, box 3u - <@@ Nullable.uint (Nullable<_> 3I) @@>, box 3u - <@@ Nullable.uint (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u - <@@ Nullable.uint (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u - <@@ Nullable.uint (Nullable<_> 3.0M) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3uy) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3y) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3s) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3us) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3u) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3L) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3UL) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> '\003') @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3.0f) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3.0) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3.0) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> 3I) @@>, box 3u - <@@ Nullable.uint32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u - <@@ Nullable.uint32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u - <@@ Nullable.uint32 (Nullable<_> 3.0M) @@>, box 3u - - <@@ Nullable.int64 (Nullable<_> 3uy) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3y) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3s) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3us) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3u) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3L) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3UL) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> '\003') @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3.0f) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3.0) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3.0) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> 3I) @@>, box 3L - <@@ Nullable.int64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1L - <@@ Nullable.int64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1L - <@@ Nullable.int64 (Nullable<_> 3.0M) @@>, box 3L - - <@@ Nullable.uint64 (Nullable<_> 3uy) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3y) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3s) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3us) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3u) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3L) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3UL) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> '\003') @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3.0f) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3.0) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3.0) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> 3I) @@>, box 3UL - <@@ Nullable.uint64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1UL - <@@ Nullable.uint64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1UL - <@@ Nullable.uint64 (Nullable<_> 3.0M) @@>, box 3UL - - <@@ Nullable.char (Nullable<_> 51uy) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51y) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51s) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51us) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51u) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51L) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51UL) @@>, box '3' - <@@ Nullable.char (Nullable<_> '3') @@>, box '3' - <@@ Nullable.char (Nullable<_> 51.0f) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51.0) @@>, box '3' - <@@ Nullable.char (Nullable<_> 51.0) @@>, box '3' - <@@ Nullable.char (Nullable<_> LanguagePrimitives.GenericOne) @@>, box '\001' - <@@ Nullable.char (Nullable<_> LanguagePrimitives.GenericOne) @@>, box '\001' - <@@ Nullable.char (Nullable<_> 51.0M) @@>, box '3' - - <@@ Nullable.single (Nullable<_> 3uy) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3y) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3s) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3us) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3u) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3L) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3UL) @@>, box 3f - <@@ Nullable.single (Nullable<_> '\003') @@>, box 3f - <@@ Nullable.single (Nullable<_> 3.0f) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3.0) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3.0) @@>, box 3f - <@@ Nullable.single (Nullable<_> 3I) @@>, box 3f - <@@ Nullable.single (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f - <@@ Nullable.single (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f - <@@ Nullable.single (Nullable<_> 3.0M) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3uy) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3y) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3s) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3us) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3u) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3L) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3UL) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> '\003') @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3.0f) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3.0) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3.0) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> 3I) @@>, box 3f - <@@ Nullable.float32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f - <@@ Nullable.float32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f - <@@ Nullable.float32 (Nullable<_> 3.0M) @@>, box 3f - - <@@ Nullable.double (Nullable<_> 3uy) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3y) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3s) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3us) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3u) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3L) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3UL) @@>, box 3. - <@@ Nullable.double (Nullable<_> '\003') @@>, box 3. - <@@ Nullable.double (Nullable<_> 3.0f) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3.0) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3.0) @@>, box 3. - <@@ Nullable.double (Nullable<_> 3I) @@>, box 3. - <@@ Nullable.double (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. - <@@ Nullable.double (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. - <@@ Nullable.double (Nullable<_> 3.0M) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3uy) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3y) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3s) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3us) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3u) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3L) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3UL) @@>, box 3. - <@@ Nullable.float (Nullable<_> '\003') @@>, box 3. - <@@ Nullable.float (Nullable<_> 3.0f) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3.0) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3.0) @@>, box 3. - <@@ Nullable.float (Nullable<_> 3I) @@>, box 3. - <@@ Nullable.float (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. - <@@ Nullable.float (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. - <@@ Nullable.float (Nullable<_> 3.0M) @@>, box 3. - - <@@ Nullable.decimal (Nullable<_> 3uy) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3y) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3s) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3us) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3u) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3L) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3UL) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> '\003') @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3.0f) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3.0) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3.0) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> 3I) @@>, box 3m - <@@ Nullable.decimal (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1m - <@@ Nullable.decimal (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1m - <@@ Nullable.decimal (Nullable<_> 3.0M) @@>, box 3m - - <@@ Nullable<_> 1y ?+ 4y @@>, box 5y - <@@ Nullable<_> 1uy ?+ 4uy @@>, box 5uy - <@@ Nullable<_> 1s ?+ 4s @@>, box 5s - <@@ Nullable<_> 1us ?+ 4us @@>, box 5us - <@@ Nullable<_> 1 ?+ 4 @@>, box 5 - <@@ Nullable<_> 1u ?+ 4u @@>, box 5u - <@@ Nullable<_> 1L ?+ 4L @@>, box 5L - <@@ Nullable<_> 1uL ?+ 4uL @@>, box 5uL - <@@ Nullable<_> 1.0f ?+ 4.0f @@>, box 5f - <@@ Nullable<_> 1.0 ?+ 4.0 @@>, box 5. - <@@ Nullable<_> 1m ?+ 4m @@>, box 5m - <@@ Nullable<_> 1m ?+ 4m @@>, box 5m - <@@ Nullable<_> 1I ?+ 4I @@>, box 5I - <@@ Nullable<_> '1' ?+ '\004' @@>, box '5' - <@@ Nullable<_> LanguagePrimitives.GenericOne ?+ LanguagePrimitives.GenericOne @@>, box 2n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?+ LanguagePrimitives.GenericOne @@>, box 2un - - <@@ 1y +? Nullable<_> 4y @@>, box 5y - <@@ 1uy +? Nullable<_> 4uy @@>, box 5uy - <@@ 1s +? Nullable<_> 4s @@>, box 5s - <@@ 1us +? Nullable<_> 4us @@>, box 5us - <@@ 1 +? Nullable<_> 4 @@>, box 5 - <@@ 1u +? Nullable<_> 4u @@>, box 5u - <@@ 1L +? Nullable<_> 4L @@>, box 5L - <@@ 1uL +? Nullable<_> 4uL @@>, box 5uL - <@@ 1.0f +? Nullable<_> 4.0f @@>, box 5f - <@@ 1.0 +? Nullable<_> 4.0 @@>, box 5. - <@@ 1m +? Nullable<_> 4m @@>, box 5m - <@@ 1m +? Nullable<_> 4m @@>, box 5m - <@@ 1I +? Nullable<_> 4I @@>, box 5I - <@@ '1' +? Nullable<_> '\004' @@>, box '5' - <@@ LanguagePrimitives.GenericOne +? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2n - <@@ LanguagePrimitives.GenericOne +? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2un - - <@@ Nullable<_> 1y ?+? Nullable<_> 4y @@>, box 5y - <@@ Nullable<_> 1uy ?+? Nullable<_> 4uy @@>, box 5uy - <@@ Nullable<_> 1s ?+? Nullable<_> 4s @@>, box 5s - <@@ Nullable<_> 1us ?+? Nullable<_> 4us @@>, box 5us - <@@ Nullable<_> 1 ?+? Nullable<_> 4 @@>, box 5 - <@@ Nullable<_> 1u ?+? Nullable<_> 4u @@>, box 5u - <@@ Nullable<_> 1L ?+? Nullable<_> 4L @@>, box 5L - <@@ Nullable<_> 1uL ?+? Nullable<_> 4uL @@>, box 5uL - <@@ Nullable<_> 1.0f ?+? Nullable<_> 4.0f @@>, box 5f - <@@ Nullable<_> 1.0 ?+? Nullable<_> 4.0 @@>, box 5. - <@@ Nullable<_> 1m ?+? Nullable<_> 4m @@>, box 5m - <@@ Nullable<_> 1m ?+? Nullable<_> 4m @@>, box 5m - <@@ Nullable<_> 1I ?+? Nullable<_> 4I @@>, box 5I - <@@ Nullable<_> '1' ?+? Nullable<_> '\004' @@>, box '5' - <@@ Nullable<_> LanguagePrimitives.GenericOne ?+? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?+? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2un - - <@@ Nullable<_> 4y ?- 1y @@>, box 3y - <@@ Nullable<_> 4uy ?- 1uy @@>, box 3uy - <@@ Nullable<_> 4s ?- 1s @@>, box 3s - <@@ Nullable<_> 4us ?- 1us @@>, box 3us - <@@ Nullable<_> 4 ?- 1 @@>, box 3 - <@@ Nullable<_> 4u ?- 1u @@>, box 3u - <@@ Nullable<_> 4L ?- 1L @@>, box 3L - <@@ Nullable<_> 4uL ?- 1uL @@>, box 3uL - <@@ Nullable<_> 4.0f ?- 1.0f @@>, box 3f - <@@ Nullable<_> 4.0 ?- 1.0 @@>, box 3. - <@@ Nullable<_> 4m ?- 1m @@>, box 3m - <@@ Nullable<_> 4m ?- 1m @@>, box 3m - <@@ Nullable<_> 4I ?- 1I @@>, box 3I - <@@ Nullable<_> '4' ?- '\001' @@>, box '3' - <@@ Nullable<_> LanguagePrimitives.GenericOne ?- LanguagePrimitives.GenericOne @@>, box 0n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?- LanguagePrimitives.GenericOne @@>, box 0un - - <@@ 4y -? Nullable<_> 1y @@>, box 3y - <@@ 4uy -? Nullable<_> 1uy @@>, box 3uy - <@@ 4s -? Nullable<_> 1s @@>, box 3s - <@@ 4us -? Nullable<_> 1us @@>, box 3us - <@@ 4 -? Nullable<_> 1 @@>, box 3 - <@@ 4u -? Nullable<_> 1u @@>, box 3u - <@@ 4L -? Nullable<_> 1L @@>, box 3L - <@@ 4uL -? Nullable<_> 1uL @@>, box 3uL - <@@ 4.0f -? Nullable<_> 1.0f @@>, box 3f - <@@ 4.0 -? Nullable<_> 1.0 @@>, box 3. - <@@ 4m -? Nullable<_> 1m @@>, box 3m - <@@ 4m -? Nullable<_> 1m @@>, box 3m - <@@ 4I -? Nullable<_> 1I @@>, box 3I - <@@ '4' -? Nullable<_> '\001' @@>, box '3' - <@@ LanguagePrimitives.GenericOne -? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n - <@@ LanguagePrimitives.GenericOne -? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un - - <@@ Nullable<_> 4y ?-? Nullable<_> 1y @@>, box 3y - <@@ Nullable<_> 4uy ?-? Nullable<_> 1uy @@>, box 3uy - <@@ Nullable<_> 4s ?-? Nullable<_> 1s @@>, box 3s - <@@ Nullable<_> 4us ?-? Nullable<_> 1us @@>, box 3us - <@@ Nullable<_> 4 ?-? Nullable<_> 1 @@>, box 3 - <@@ Nullable<_> 4u ?-? Nullable<_> 1u @@>, box 3u - <@@ Nullable<_> 4L ?-? Nullable<_> 1L @@>, box 3L - <@@ Nullable<_> 4uL ?-? Nullable<_> 1uL @@>, box 3uL - <@@ Nullable<_> 4.0f ?-? Nullable<_> 1.0f @@>, box 3f - <@@ Nullable<_> 4.0 ?-? Nullable<_> 1.0 @@>, box 3. - <@@ Nullable<_> 4m ?-? Nullable<_> 1m @@>, box 3m - <@@ Nullable<_> 4m ?-? Nullable<_> 1m @@>, box 3m - <@@ Nullable<_> 4I ?-? Nullable<_> 1I @@>, box 3I - <@@ Nullable<_> '4' ?-? Nullable<_> '\001' @@>, box '3' - <@@ Nullable<_> LanguagePrimitives.GenericOne ?-? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?-? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un - - <@@ Nullable<_> 2y ?* 4y @@>, box 8y - <@@ Nullable<_> 2uy ?* 4uy @@>, box 8uy - <@@ Nullable<_> 2s ?* 4s @@>, box 8s - <@@ Nullable<_> 2us ?* 4us @@>, box 8us - <@@ Nullable<_> 2 ?* 4 @@>, box 8 - <@@ Nullable<_> 2u ?* 4u @@>, box 8u - <@@ Nullable<_> 2L ?* 4L @@>, box 8L - <@@ Nullable<_> 2uL ?* 4uL @@>, box 8uL - <@@ Nullable<_> 2.0f ?* 4.0f @@>, box 8f - <@@ Nullable<_> 2.0 ?* 4.0 @@>, box 8. - <@@ Nullable<_> 2m ?* 4m @@>, box 8m - <@@ Nullable<_> 2m ?* 4m @@>, box 8m - <@@ Nullable<_> 2I ?* 4I @@>, box 8I - <@@ Nullable<_> LanguagePrimitives.GenericOne ?* LanguagePrimitives.GenericOne @@>, box 1n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?* LanguagePrimitives.GenericOne @@>, box 1un - - <@@ 2y *? Nullable<_> 4y @@>, box 8y - <@@ 2uy *? Nullable<_> 4uy @@>, box 8uy - <@@ 2s *? Nullable<_> 4s @@>, box 8s - <@@ 2us *? Nullable<_> 4us @@>, box 8us - <@@ 2 *? Nullable<_> 4 @@>, box 8 - <@@ 2u *? Nullable<_> 4u @@>, box 8u - <@@ 2L *? Nullable<_> 4L @@>, box 8L - <@@ 2uL *? Nullable<_> 4uL @@>, box 8uL - <@@ 2.0f *? Nullable<_> 4.0f @@>, box 8f - <@@ 2.0 *? Nullable<_> 4.0 @@>, box 8. - <@@ 2m *? Nullable<_> 4m @@>, box 8m - <@@ 2m *? Nullable<_> 4m @@>, box 8m - <@@ 2I *? Nullable<_> 4I @@>, box 8I - <@@ LanguagePrimitives.GenericOne *? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n - <@@ LanguagePrimitives.GenericOne *? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un - - <@@ Nullable<_> 2y ?*? Nullable<_> 4y @@>, box 8y - <@@ Nullable<_> 2uy ?*? Nullable<_> 4uy @@>, box 8uy - <@@ Nullable<_> 2s ?*? Nullable<_> 4s @@>, box 8s - <@@ Nullable<_> 2us ?*? Nullable<_> 4us @@>, box 8us - <@@ Nullable<_> 2 ?*? Nullable<_> 4 @@>, box 8 - <@@ Nullable<_> 2u ?*? Nullable<_> 4u @@>, box 8u - <@@ Nullable<_> 2L ?*? Nullable<_> 4L @@>, box 8L - <@@ Nullable<_> 2uL ?*? Nullable<_> 4uL @@>, box 8uL - <@@ Nullable<_> 2.0f ?*? Nullable<_> 4.0f @@>, box 8f - <@@ Nullable<_> 2.0 ?*? Nullable<_> 4.0 @@>, box 8. - <@@ Nullable<_> 2m ?*? Nullable<_> 4m @@>, box 8m - <@@ Nullable<_> 2m ?*? Nullable<_> 4m @@>, box 8m - <@@ Nullable<_> 2I ?*? Nullable<_> 4I @@>, box 8I - <@@ Nullable<_> LanguagePrimitives.GenericOne ?*? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?*? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un - - <@@ Nullable<_> 6y ?/ 3y @@>, box 2y - <@@ Nullable<_> 6uy ?/ 3uy @@>, box 2uy - <@@ Nullable<_> 6s ?/ 3s @@>, box 2s - <@@ Nullable<_> 6us ?/ 3us @@>, box 2us - <@@ Nullable<_> 6 ?/ 3 @@>, box 2 - <@@ Nullable<_> 6u ?/ 3u @@>, box 2u - <@@ Nullable<_> 6L ?/ 3L @@>, box 2L - <@@ Nullable<_> 6uL ?/ 3uL @@>, box 2uL - <@@ Nullable<_> 6.0f ?/ 3.0f @@>, box 2f - <@@ Nullable<_> 6.0 ?/ 3.0 @@>, box 2. - <@@ Nullable<_> 6m ?/ 3m @@>, box 2m - <@@ Nullable<_> 6m ?/ 3m @@>, box 2m - <@@ Nullable<_> 6I ?/ 3I @@>, box 2I - <@@ Nullable<_> LanguagePrimitives.GenericOne ?/ LanguagePrimitives.GenericOne @@>, box 1n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?/ LanguagePrimitives.GenericOne @@>, box 1un - - <@@ 6y /? Nullable<_> 3y @@>, box 2y - <@@ 6uy /? Nullable<_> 3uy @@>, box 2uy - <@@ 6s /? Nullable<_> 3s @@>, box 2s - <@@ 6us /? Nullable<_> 3us @@>, box 2us - <@@ 6 /? Nullable<_> 3 @@>, box 2 - <@@ 6u /? Nullable<_> 3u @@>, box 2u - <@@ 6L /? Nullable<_> 3L @@>, box 2L - <@@ 6uL /? Nullable<_> 3uL @@>, box 2uL - <@@ 6.0f /? Nullable<_> 3.0f @@>, box 2f - <@@ 6.0 /? Nullable<_> 3.0 @@>, box 2. - <@@ 6m /? Nullable<_> 3m @@>, box 2m - <@@ 6m /? Nullable<_> 3m @@>, box 2m - <@@ 6I /? Nullable<_> 3I @@>, box 2I - <@@ LanguagePrimitives.GenericOne /? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n - <@@ LanguagePrimitives.GenericOne /? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un - - <@@ Nullable<_> 6y ?/? Nullable<_> 3y @@>, box 2y - <@@ Nullable<_> 6uy ?/? Nullable<_> 3uy @@>, box 2uy - <@@ Nullable<_> 6s ?/? Nullable<_> 3s @@>, box 2s - <@@ Nullable<_> 6us ?/? Nullable<_> 3us @@>, box 2us - <@@ Nullable<_> 6 ?/? Nullable<_> 3 @@>, box 2 - <@@ Nullable<_> 6u ?/? Nullable<_> 3u @@>, box 2u - <@@ Nullable<_> 6L ?/? Nullable<_> 3L @@>, box 2L - <@@ Nullable<_> 6uL ?/? Nullable<_> 3uL @@>, box 2uL - <@@ Nullable<_> 6.0f ?/? Nullable<_> 3.0f @@>, box 2f - <@@ Nullable<_> 6.0 ?/? Nullable<_> 3.0 @@>, box 2. - <@@ Nullable<_> 6m ?/? Nullable<_> 3m @@>, box 2m - <@@ Nullable<_> 6m ?/? Nullable<_> 3m @@>, box 2m - <@@ Nullable<_> 6I ?/? Nullable<_> 3I @@>, box 2I - <@@ Nullable<_> LanguagePrimitives.GenericOne ?/? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?/? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un - - <@@ Nullable<_> 9y ?% 4y @@>, box 1y - <@@ Nullable<_> 9uy ?% 4uy @@>, box 1uy - <@@ Nullable<_> 9s ?% 4s @@>, box 1s - <@@ Nullable<_> 9us ?% 4us @@>, box 1us - <@@ Nullable<_> 9 ?% 4 @@>, box 1 - <@@ Nullable<_> 9u ?% 4u @@>, box 1u - <@@ Nullable<_> 9L ?% 4L @@>, box 1L - <@@ Nullable<_> 9uL ?% 4uL @@>, box 1uL - <@@ Nullable<_> 9.0f ?% 4.0f @@>, box 1f - <@@ Nullable<_> 9.0 ?% 4.0 @@>, box 1. - <@@ Nullable<_> 9m ?% 4m @@>, box 1m - <@@ Nullable<_> 9m ?% 4m @@>, box 1m - <@@ Nullable<_> 9I ?% 4I @@>, box 1I - <@@ Nullable<_> LanguagePrimitives.GenericOne ?% LanguagePrimitives.GenericOne @@>, box 0n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?% LanguagePrimitives.GenericOne @@>, box 0un - - <@@ 9y %? Nullable<_> 4y @@>, box 1y - <@@ 9uy %? Nullable<_> 4uy @@>, box 1uy - <@@ 9s %? Nullable<_> 4s @@>, box 1s - <@@ 9us %? Nullable<_> 4us @@>, box 1us - <@@ 9 %? Nullable<_> 4 @@>, box 1 - <@@ 9u %? Nullable<_> 4u @@>, box 1u - <@@ 9L %? Nullable<_> 4L @@>, box 1L - <@@ 9uL %? Nullable<_> 4uL @@>, box 1uL - <@@ 9.0f %? Nullable<_> 4.0f @@>, box 1f - <@@ 9.0 %? Nullable<_> 4.0 @@>, box 1. - <@@ 9m %? Nullable<_> 4m @@>, box 1m - <@@ 9m %? Nullable<_> 4m @@>, box 1m - <@@ 9I %? Nullable<_> 4I @@>, box 1I - <@@ LanguagePrimitives.GenericOne %? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n - <@@ LanguagePrimitives.GenericOne %? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un - - <@@ Nullable<_> 9y ?%? Nullable<_> 4y @@>, box 1y - <@@ Nullable<_> 9uy ?%? Nullable<_> 4uy @@>, box 1uy - <@@ Nullable<_> 9s ?%? Nullable<_> 4s @@>, box 1s - <@@ Nullable<_> 9us ?%? Nullable<_> 4us @@>, box 1us - <@@ Nullable<_> 9 ?%? Nullable<_> 4 @@>, box 1 - <@@ Nullable<_> 9u ?%? Nullable<_> 4u @@>, box 1u - <@@ Nullable<_> 9L ?%? Nullable<_> 4L @@>, box 1L - <@@ Nullable<_> 9uL ?%? Nullable<_> 4uL @@>, box 1uL - <@@ Nullable<_> 9.0f ?%? Nullable<_> 4.0f @@>, box 1f - <@@ Nullable<_> 9.0 ?%? Nullable<_> 4.0 @@>, box 1. - <@@ Nullable<_> 9m ?%? Nullable<_> 4m @@>, box 1m - <@@ Nullable<_> 9m ?%? Nullable<_> 4m @@>, box 1m - <@@ Nullable<_> 9I ?%? Nullable<_> 4I @@>, box 1I - <@@ Nullable<_> LanguagePrimitives.GenericOne ?%? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n - <@@ Nullable<_> LanguagePrimitives.GenericOne ?%? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un - - <@@ NonStructuralComparison.(=) 3y 3y @@>, box true - <@@ NonStructuralComparison.(=) 3uy 3uy @@>, box true - <@@ NonStructuralComparison.(=) 3s 3s @@>, box true - <@@ NonStructuralComparison.(=) 3us 3us @@>, box true - <@@ NonStructuralComparison.(=) 3 3 @@>, box true - <@@ NonStructuralComparison.(=) 3u 3u @@>, box true - <@@ NonStructuralComparison.(=) 3L 3L @@>, box true - <@@ NonStructuralComparison.(=) 3UL 3UL @@>, box true - <@@ NonStructuralComparison.(=) '3' '3' @@>, box true - <@@ NonStructuralComparison.(=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true - <@@ NonStructuralComparison.(=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true - <@@ NonStructuralComparison.(=) 3f 3f @@>, box true - <@@ NonStructuralComparison.(=) 3. 3. @@>, box true - <@@ NonStructuralComparison.(=) 3m 3m @@>, box true - <@@ NonStructuralComparison.(=) 3m 3m @@>, box true - <@@ NonStructuralComparison.(=) 3I 3I @@>, box true - <@@ NonStructuralComparison.(=) "3" "3" @@>, box true - - <@@ NonStructuralComparison.(<>) 3y 3y @@>, box false - <@@ NonStructuralComparison.(<>) 3uy 3uy @@>, box false - <@@ NonStructuralComparison.(<>) 3s 3s @@>, box false - <@@ NonStructuralComparison.(<>) 3us 3us @@>, box false - <@@ NonStructuralComparison.(<>) 3 3 @@>, box false - <@@ NonStructuralComparison.(<>) 3u 3u @@>, box false - <@@ NonStructuralComparison.(<>) 3L 3L @@>, box false - <@@ NonStructuralComparison.(<>) 3UL 3UL @@>, box false - <@@ NonStructuralComparison.(<>) '3' '3' @@>, box false - <@@ NonStructuralComparison.(<>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ NonStructuralComparison.(<>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ NonStructuralComparison.(<>) 3f 3f @@>, box false - <@@ NonStructuralComparison.(<>) 3. 3. @@>, box false - <@@ NonStructuralComparison.(<>) 3m 3m @@>, box false - <@@ NonStructuralComparison.(<>) 3m 3m @@>, box false - <@@ NonStructuralComparison.(<>) 3I 3I @@>, box false - <@@ NonStructuralComparison.(<>) "3" "3" @@>, box false - - <@@ NonStructuralComparison.(<=) 3y 3y @@>, box true - <@@ NonStructuralComparison.(<=) 3uy 3uy @@>, box true - <@@ NonStructuralComparison.(<=) 3s 3s @@>, box true - <@@ NonStructuralComparison.(<=) 3us 3us @@>, box true - <@@ NonStructuralComparison.(<=) 3 3 @@>, box true - <@@ NonStructuralComparison.(<=) 3u 3u @@>, box true - <@@ NonStructuralComparison.(<=) 3L 3L @@>, box true - <@@ NonStructuralComparison.(<=) 3UL 3UL @@>, box true - <@@ NonStructuralComparison.(<=) '3' '3' @@>, box true - <@@ NonStructuralComparison.(<=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true - <@@ NonStructuralComparison.(<=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true - <@@ NonStructuralComparison.(<=) 3f 3f @@>, box true - <@@ NonStructuralComparison.(<=) 3. 3. @@>, box true - <@@ NonStructuralComparison.(<=) 3m 3m @@>, box true - <@@ NonStructuralComparison.(<=) 3m 3m @@>, box true - <@@ NonStructuralComparison.(<=) 3I 3I @@>, box true - <@@ NonStructuralComparison.(<=) "3" "3" @@>, box true - - <@@ NonStructuralComparison.(<) 3y 3y @@>, box false - <@@ NonStructuralComparison.(<) 3uy 3uy @@>, box false - <@@ NonStructuralComparison.(<) 3s 3s @@>, box false - <@@ NonStructuralComparison.(<) 3us 3us @@>, box false - <@@ NonStructuralComparison.(<) 3 3 @@>, box false - <@@ NonStructuralComparison.(<) 3u 3u @@>, box false - <@@ NonStructuralComparison.(<) 3L 3L @@>, box false - <@@ NonStructuralComparison.(<) 3UL 3UL @@>, box false - <@@ NonStructuralComparison.(<) '3' '3' @@>, box false - <@@ NonStructuralComparison.(<) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ NonStructuralComparison.(<) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ NonStructuralComparison.(<) 3f 3f @@>, box false - <@@ NonStructuralComparison.(<) 3. 3. @@>, box false - <@@ NonStructuralComparison.(<) 3m 3m @@>, box false - <@@ NonStructuralComparison.(<) 3m 3m @@>, box false - <@@ NonStructuralComparison.(<) 3I 3I @@>, box false - <@@ NonStructuralComparison.(<) "3" "3" @@>, box false - - <@@ NonStructuralComparison.(>=) 3y 3y @@>, box true - <@@ NonStructuralComparison.(>=) 3uy 3uy @@>, box true - <@@ NonStructuralComparison.(>=) 3s 3s @@>, box true - <@@ NonStructuralComparison.(>=) 3us 3us @@>, box true - <@@ NonStructuralComparison.(>=) 3 3 @@>, box true - <@@ NonStructuralComparison.(>=) 3u 3u @@>, box true - <@@ NonStructuralComparison.(>=) 3L 3L @@>, box true - <@@ NonStructuralComparison.(>=) 3UL 3UL @@>, box true - <@@ NonStructuralComparison.(>=) '3' '3' @@>, box true - <@@ NonStructuralComparison.(>=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true - <@@ NonStructuralComparison.(>=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true - <@@ NonStructuralComparison.(>=) 3f 3f @@>, box true - <@@ NonStructuralComparison.(>=) 3. 3. @@>, box true - <@@ NonStructuralComparison.(>=) 3m 3m @@>, box true - <@@ NonStructuralComparison.(>=) 3m 3m @@>, box true - <@@ NonStructuralComparison.(>=) 3I 3I @@>, box true - <@@ NonStructuralComparison.(>=) "3" "3" @@>, box true - - <@@ NonStructuralComparison.(>) 3y 3y @@>, box false - <@@ NonStructuralComparison.(>) 3uy 3uy @@>, box false - <@@ NonStructuralComparison.(>) 3s 3s @@>, box false - <@@ NonStructuralComparison.(>) 3us 3us @@>, box false - <@@ NonStructuralComparison.(>) 3 3 @@>, box false - <@@ NonStructuralComparison.(>) 3u 3u @@>, box false - <@@ NonStructuralComparison.(>) 3L 3L @@>, box false - <@@ NonStructuralComparison.(>) 3UL 3UL @@>, box false - <@@ NonStructuralComparison.(>) '3' '3' @@>, box false - <@@ NonStructuralComparison.(>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ NonStructuralComparison.(>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ NonStructuralComparison.(>) 3f 3f @@>, box false - <@@ NonStructuralComparison.(>) 3. 3. @@>, box false - <@@ NonStructuralComparison.(>) 3m 3m @@>, box false - <@@ NonStructuralComparison.(>) 3m 3m @@>, box false - <@@ NonStructuralComparison.(>) 3I 3I @@>, box false - <@@ NonStructuralComparison.(>) "3" "3" @@>, box false - |] - - tests |> Array.map (fun (test, eval) -> - begin - printfn "--> Checking we can evaluate %A" test - let res = FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation test - let b = res = eval - if b then printfn "--- Success, it is %A which is equal to %A" res eval - else printfn "!!! FAILURE, it is %A which is not equal to %A" res eval - b - end - && - match test with - | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> - minfo1.IsStatic && - minfo2.IsStatic && - minfo2.Name = minfo1.Name + "$W" && - (* - (printfn "checking minfo2.GetParameters().Length = %d..." (minfo2.GetParameters().Length); true) && - minfo2.GetParameters().Length = 3 && - (printfn "checking witnessArgs.Length..."; true) && - witnessArgs.Length = 1 && - (printfn "checking args.Length..."; true) && - args.Length = 2 && - (printfn "witnessArgs..."; true) && - (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && - (printfn "args..."; true) && - (match args with [ _; _ ] -> true | _ -> false) - *) - (printfn "<-- Successfully checked with Quotations.Patterns.(|CallWithWitnesses|_|)"; true) - || (printfn "<-- FAILURE, failed after matching with Quotations.Patterns.(|CallWithWitnesses|_|)"; true) - | _ -> - printfn " Array.forall id) // Don't short circuit on a failed test - - test "check non-CallWithWitnesses operators" - (let tests = [| - <@@ LanguagePrimitives.PhysicalEquality [|3|] [|3|] @@>, box false - <@@ let x = [|3|] in LanguagePrimitives.PhysicalEquality x x @@>, box true - <@@ LanguagePrimitives.PhysicalEquality (seq { 3 }) (seq { 3 }) @@>, box false - <@@ let x = seq { 3 } in LanguagePrimitives.PhysicalEquality x x @@>, box true - <@@ LanguagePrimitives.PhysicalEquality (obj()) (obj()) @@>, box false - <@@ let x = obj() in LanguagePrimitives.PhysicalEquality x x @@>, box true - - <@@ 3y = 3y @@>, box true - <@@ 3uy = 3uy @@>, box true - <@@ 3s = 3s @@>, box true - <@@ 3us = 3us @@>, box true - <@@ 3 = 3 @@>, box true - <@@ 3u = 3u @@>, box true - <@@ 3L = 3L @@>, box true - <@@ 3UL = 3UL @@>, box true - <@@ '3' = '3' @@>, box true - <@@ LanguagePrimitives.GenericOne = LanguagePrimitives.GenericOne @@>, box true - <@@ LanguagePrimitives.GenericOne = LanguagePrimitives.GenericOne @@>, box true - <@@ 3f = 3f @@>, box true - <@@ 3. = 3. @@>, box true - <@@ 3m = 3m @@>, box true - <@@ 3m = 3m @@>, box true - <@@ 3I = 3I @@>, box true - <@@ "3" = "3" @@>, box true - <@@ [3] = [3] @@>, box true - <@@ [|3|] = [|3|] @@>, box true - <@@ seq { 3 } = seq { 3 } @@>, box false // Reference equality - <@@ let x = seq { 3 } in x = x @@>, box true - <@@ obj() = obj() @@>, box false - <@@ let x = obj() in x = x @@>, box true - - <@@ 3y <> 3y @@>, box false - <@@ 3uy <> 3uy @@>, box false - <@@ 3s <> 3s @@>, box false - <@@ 3us <> 3us @@>, box false - <@@ 3 <> 3 @@>, box false - <@@ 3u <> 3u @@>, box false - <@@ 3L <> 3L @@>, box false - <@@ 3UL <> 3UL @@>, box false - <@@ '3' <> '3' @@>, box false - <@@ LanguagePrimitives.GenericOne <> LanguagePrimitives.GenericOne @@>, box false - <@@ LanguagePrimitives.GenericOne <> LanguagePrimitives.GenericOne @@>, box false - <@@ 3f <> 3f @@>, box false - <@@ 3. <> 3. @@>, box false - <@@ 3m <> 3m @@>, box false - <@@ 3m <> 3m @@>, box false - <@@ 3I <> 3I @@>, box false - <@@ "3" <> "3" @@>, box false - <@@ [3] <> [3] @@>, box false - <@@ [|3|] <> [|3|] @@>, box false - <@@ seq { 3 } <> seq { 3 } @@>, box true // Reference equality - <@@ let x = seq { 3 } in x <> x @@>, box false - <@@ obj() <> obj() @@>, box true - <@@ let x = obj() in x <> x @@>, box false - - <@@ 3y <= 3y @@>, box true - <@@ 3uy <= 3uy @@>, box true - <@@ 3s <= 3s @@>, box true - <@@ 3us <= 3us @@>, box true - <@@ 3 <= 3 @@>, box true - <@@ 3u <= 3u @@>, box true - <@@ 3L <= 3L @@>, box true - <@@ 3UL <= 3UL @@>, box true - <@@ '3' <= '3' @@>, box true - <@@ LanguagePrimitives.GenericOne <= LanguagePrimitives.GenericOne @@>, box true - <@@ LanguagePrimitives.GenericOne <= LanguagePrimitives.GenericOne @@>, box true - <@@ 3f <= 3f @@>, box true - <@@ 3. <= 3. @@>, box true - <@@ 3m <= 3m @@>, box true - <@@ 3m <= 3m @@>, box true - <@@ 3I <= 3I @@>, box true - <@@ "3" <= "3" @@>, box true - <@@ [3] <= [3] @@>, box true - <@@ [|3|] <= [|3|] @@>, box true - - <@@ 3y < 3y @@>, box false - <@@ 3uy < 3uy @@>, box false - <@@ 3s < 3s @@>, box false - <@@ 3us < 3us @@>, box false - <@@ 3 < 3 @@>, box false - <@@ 3u < 3u @@>, box false - <@@ 3L < 3L @@>, box false - <@@ 3UL < 3UL @@>, box false - <@@ '3' < '3' @@>, box false - <@@ LanguagePrimitives.GenericOne < LanguagePrimitives.GenericOne @@>, box false - <@@ LanguagePrimitives.GenericOne < LanguagePrimitives.GenericOne @@>, box false - <@@ 3f < 3f @@>, box false - <@@ 3. < 3. @@>, box false - <@@ 3m < 3m @@>, box false - <@@ 3m < 3m @@>, box false - <@@ 3I < 3I @@>, box false - <@@ "3" < "3" @@>, box false - <@@ [3] < [3] @@>, box false - <@@ [|3|] < [|3|] @@>, box false - - <@@ 3y >= 3y @@>, box true - <@@ 3uy >= 3uy @@>, box true - <@@ 3s >= 3s @@>, box true - <@@ 3us >= 3us @@>, box true - <@@ 3 >= 3 @@>, box true - <@@ 3u >= 3u @@>, box true - <@@ 3L >= 3L @@>, box true - <@@ 3UL >= 3UL @@>, box true - <@@ '3' >= '3' @@>, box true - <@@ LanguagePrimitives.GenericOne >= LanguagePrimitives.GenericOne @@>, box true - <@@ LanguagePrimitives.GenericOne >= LanguagePrimitives.GenericOne @@>, box true - <@@ 3f >= 3f @@>, box true - <@@ 3. >= 3. @@>, box true - <@@ 3m >= 3m @@>, box true - <@@ 3m >= 3m @@>, box true - <@@ 3I >= 3I @@>, box true - <@@ "3" >= "3" @@>, box true - <@@ [3] >= [3] @@>, box true - <@@ [|3|] >= [|3|] @@>, box true - - <@@ 3y > 3y @@>, box false - <@@ 3uy > 3uy @@>, box false - <@@ 3s > 3s @@>, box false - <@@ 3us > 3us @@>, box false - <@@ 3 > 3 @@>, box false - <@@ 3u > 3u @@>, box false - <@@ 3L > 3L @@>, box false - <@@ 3UL > 3UL @@>, box false - <@@ '3' > '3' @@>, box false - <@@ LanguagePrimitives.GenericOne > LanguagePrimitives.GenericOne @@>, box false - <@@ LanguagePrimitives.GenericOne > LanguagePrimitives.GenericOne @@>, box false - <@@ 3f > 3f @@>, box false - <@@ 3. > 3. @@>, box false - <@@ 3m > 3m @@>, box false - <@@ 3m > 3m @@>, box false - <@@ 3I > 3I @@>, box false - <@@ "3" > "3" @@>, box false - <@@ [3] > [3] @@>, box false - <@@ [|3|] > [|3|] @@>, box false - - <@@ Nullable<_> 1y ?= 1y @@>, box true - <@@ Nullable<_> 1uy ?= 1uy @@>, box true - <@@ Nullable<_> 1s ?= 1s @@>, box true - <@@ Nullable<_> 1us ?= 1us @@>, box true - <@@ Nullable<_> 1 ?= 1 @@>, box true - <@@ Nullable<_> 1u ?= 1u @@>, box true - <@@ Nullable<_> 1L ?= 1L @@>, box true - <@@ Nullable<_> 1uL ?= 1uL @@>, box true - <@@ Nullable<_> 1.0f ?= 1.0f @@>, box true - <@@ Nullable<_> 1.0 ?= 1.0 @@>, box true - <@@ Nullable<_> 1m ?= 1m @@>, box true - <@@ Nullable<_> 1m ?= 1m @@>, box true - <@@ Nullable<_> 1I ?= 1I @@>, box true - <@@ Nullable<_> '1' ?= '1' @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?= LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?= LanguagePrimitives.GenericOne @@>, box true - - <@@ 1y =? Nullable<_> 1y @@>, box true - <@@ 1uy =? Nullable<_> 1uy @@>, box true - <@@ 1s =? Nullable<_> 1s @@>, box true - <@@ 1us =? Nullable<_> 1us @@>, box true - <@@ 1 =? Nullable<_> 1 @@>, box true - <@@ 1u =? Nullable<_> 1u @@>, box true - <@@ 1L =? Nullable<_> 1L @@>, box true - <@@ 1uL =? Nullable<_> 1uL @@>, box true - <@@ 1.0f =? Nullable<_> 1.0f @@>, box true - <@@ 1.0 =? Nullable<_> 1.0 @@>, box true - <@@ 1m =? Nullable<_> 1m @@>, box true - <@@ 1m =? Nullable<_> 1m @@>, box true - <@@ 1I =? Nullable<_> 1I @@>, box true - <@@ '1' =? Nullable<_> '1' @@>, box true - <@@ LanguagePrimitives.GenericOne =? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ LanguagePrimitives.GenericOne =? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - - <@@ Nullable<_> 1y ?=? Nullable<_> 1y @@>, box true - <@@ Nullable<_> 1uy ?=? Nullable<_> 1uy @@>, box true - <@@ Nullable<_> 1s ?=? Nullable<_> 1s @@>, box true - <@@ Nullable<_> 1us ?=? Nullable<_> 1us @@>, box true - <@@ Nullable<_> 1 ?=? Nullable<_> 1 @@>, box true - <@@ Nullable<_> 1u ?=? Nullable<_> 1u @@>, box true - <@@ Nullable<_> 1L ?=? Nullable<_> 1L @@>, box true - <@@ Nullable<_> 1uL ?=? Nullable<_> 1uL @@>, box true - <@@ Nullable<_> 1.0f ?=? Nullable<_> 1.0f @@>, box true - <@@ Nullable<_> 1.0 ?=? Nullable<_> 1.0 @@>, box true - <@@ Nullable<_> 1m ?=? Nullable<_> 1m @@>, box true - <@@ Nullable<_> 1m ?=? Nullable<_> 1m @@>, box true - <@@ Nullable<_> 1I ?=? Nullable<_> 1I @@>, box true - <@@ Nullable<_> '1' ?=? Nullable<_> '1' @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - - <@@ Nullable<_> 3y ?<> 3y @@>, box false - <@@ Nullable<_> 3uy ?<> 3uy @@>, box false - <@@ Nullable<_> 3s ?<> 3s @@>, box false - <@@ Nullable<_> 3us ?<> 3us @@>, box false - <@@ Nullable<_> 3 ?<> 3 @@>, box false - <@@ Nullable<_> 3u ?<> 3u @@>, box false - <@@ Nullable<_> 3L ?<> 3L @@>, box false - <@@ Nullable<_> 3UL ?<> 3UL @@>, box false - <@@ Nullable<_> '3' ?<> '3' @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> 3f ?<> 3f @@>, box false - <@@ Nullable<_> 3. ?<> 3. @@>, box false - <@@ Nullable<_> 3m ?<> 3m @@>, box false - <@@ Nullable<_> 3m ?<> 3m @@>, box false - <@@ Nullable<_> 3I ?<> 3I @@>, box false - - <@@ 3y <>? Nullable<_> 3y @@>, box false - <@@ 3uy <>? Nullable<_> 3uy @@>, box false - <@@ 3s <>? Nullable<_> 3s @@>, box false - <@@ 3us <>? Nullable<_> 3us @@>, box false - <@@ 3 <>? Nullable<_> 3 @@>, box false - <@@ 3u <>? Nullable<_> 3u @@>, box false - <@@ 3L <>? Nullable<_> 3L @@>, box false - <@@ 3UL <>? Nullable<_> 3UL @@>, box false - <@@ '3' <>? Nullable<_> '3' @@>, box false - <@@ LanguagePrimitives.GenericOne <>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ LanguagePrimitives.GenericOne <>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ 3f <>? Nullable<_> 3f @@>, box false - <@@ 3. <>? Nullable<_> 3. @@>, box false - <@@ 3m <>? Nullable<_> 3m @@>, box false - <@@ 3m <>? Nullable<_> 3m @@>, box false - <@@ 3I <>? Nullable<_> 3I @@>, box false - - <@@ Nullable<_> 3y ?<>? Nullable<_> 3y @@>, box false - <@@ Nullable<_> 3uy ?<>? Nullable<_> 3uy @@>, box false - <@@ Nullable<_> 3s ?<>? Nullable<_> 3s @@>, box false - <@@ Nullable<_> 3us ?<>? Nullable<_> 3us @@>, box false - <@@ Nullable<_> 3 ?<>? Nullable<_> 3 @@>, box false - <@@ Nullable<_> 3u ?<>? Nullable<_> 3u @@>, box false - <@@ Nullable<_> 3L ?<>? Nullable<_> 3L @@>, box false - <@@ Nullable<_> 3UL ?<>? Nullable<_> 3UL @@>, box false - <@@ Nullable<_> '3' ?<>? Nullable<_> '3' @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> 3f ?<>? Nullable<_> 3f @@>, box false - <@@ Nullable<_> 3. ?<>? Nullable<_> 3. @@>, box false - <@@ Nullable<_> 3m ?<>? Nullable<_> 3m @@>, box false - <@@ Nullable<_> 3m ?<>? Nullable<_> 3m @@>, box false - <@@ Nullable<_> 3I ?<>? Nullable<_> 3I @@>, box false - - <@@ Nullable<_> 3y ?<= 3y @@>, box true - <@@ Nullable<_> 3uy ?<= 3uy @@>, box true - <@@ Nullable<_> 3s ?<= 3s @@>, box true - <@@ Nullable<_> 3us ?<= 3us @@>, box true - <@@ Nullable<_> 3 ?<= 3 @@>, box true - <@@ Nullable<_> 3u ?<= 3u @@>, box true - <@@ Nullable<_> 3L ?<= 3L @@>, box true - <@@ Nullable<_> 3UL ?<= 3UL @@>, box true - <@@ Nullable<_> '3' ?<= '3' @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<= LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<= LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> 3f ?<= 3f @@>, box true - <@@ Nullable<_> 3. ?<= 3. @@>, box true - <@@ Nullable<_> 3m ?<= 3m @@>, box true - <@@ Nullable<_> 3m ?<= 3m @@>, box true - <@@ Nullable<_> 3I ?<= 3I @@>, box true - - <@@ 3y <=? Nullable<_> 3y @@>, box true - <@@ 3uy <=? Nullable<_> 3uy @@>, box true - <@@ 3s <=? Nullable<_> 3s @@>, box true - <@@ 3us <=? Nullable<_> 3us @@>, box true - <@@ 3 <=? Nullable<_> 3 @@>, box true - <@@ 3u <=? Nullable<_> 3u @@>, box true - <@@ 3L <=? Nullable<_> 3L @@>, box true - <@@ 3UL <=? Nullable<_> 3UL @@>, box true - <@@ '3' <=? Nullable<_> '3' @@>, box true - <@@ LanguagePrimitives.GenericOne <=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ LanguagePrimitives.GenericOne <=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ 3f <=? Nullable<_> 3f @@>, box true - <@@ 3. <=? Nullable<_> 3. @@>, box true - <@@ 3m <=? Nullable<_> 3m @@>, box true - <@@ 3m <=? Nullable<_> 3m @@>, box true - <@@ 3I <=? Nullable<_> 3I @@>, box true - - <@@ Nullable<_> 3y ?<=? Nullable<_> 3y @@>, box true - <@@ Nullable<_> 3uy ?<=? Nullable<_> 3uy @@>, box true - <@@ Nullable<_> 3s ?<=? Nullable<_> 3s @@>, box true - <@@ Nullable<_> 3us ?<=? Nullable<_> 3us @@>, box true - <@@ Nullable<_> 3 ?<=? Nullable<_> 3 @@>, box true - <@@ Nullable<_> 3u ?<=? Nullable<_> 3u @@>, box true - <@@ Nullable<_> 3L ?<=? Nullable<_> 3L @@>, box true - <@@ Nullable<_> 3UL ?<=? Nullable<_> 3UL @@>, box true - <@@ Nullable<_> '3' ?<=? Nullable<_> '3' @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?<=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> 3f ?<=? Nullable<_> 3f @@>, box true - <@@ Nullable<_> 3. ?<=? Nullable<_> 3. @@>, box true - <@@ Nullable<_> 3m ?<=? Nullable<_> 3m @@>, box true - <@@ Nullable<_> 3m ?<=? Nullable<_> 3m @@>, box true - <@@ Nullable<_> 3I ?<=? Nullable<_> 3I @@>, box true - - <@@ Nullable<_> 3y ?< 3y @@>, box false - <@@ Nullable<_> 3uy ?< 3uy @@>, box false - <@@ Nullable<_> 3s ?< 3s @@>, box false - <@@ Nullable<_> 3us ?< 3us @@>, box false - <@@ Nullable<_> 3 ?< 3 @@>, box false - <@@ Nullable<_> 3u ?< 3u @@>, box false - <@@ Nullable<_> 3L ?< 3L @@>, box false - <@@ Nullable<_> 3UL ?< 3UL @@>, box false - <@@ Nullable<_> '3' ?< '3' @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?< LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?< LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> 3f ?< 3f @@>, box false - <@@ Nullable<_> 3. ?< 3. @@>, box false - <@@ Nullable<_> 3m ?< 3m @@>, box false - <@@ Nullable<_> 3m ?< 3m @@>, box false - <@@ Nullable<_> 3I ?< 3I @@>, box false - - <@@ 3y 3y @@>, box false - <@@ 3uy 3uy @@>, box false - <@@ 3s 3s @@>, box false - <@@ 3us 3us @@>, box false - <@@ 3 3 @@>, box false - <@@ 3u 3u @@>, box false - <@@ 3L 3L @@>, box false - <@@ 3UL 3UL @@>, box false - <@@ '3' '3' @@>, box false - <@@ LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false - <@@ 3f 3f @@>, box false - <@@ 3. 3. @@>, box false - <@@ 3m 3m @@>, box false - <@@ 3m 3m @@>, box false - <@@ 3I 3I @@>, box false - - <@@ Nullable<_> 3y ? 3y @@>, box false - <@@ Nullable<_> 3uy ? 3uy @@>, box false - <@@ Nullable<_> 3s ? 3s @@>, box false - <@@ Nullable<_> 3us ? 3us @@>, box false - <@@ Nullable<_> 3 ? 3 @@>, box false - <@@ Nullable<_> 3u ? 3u @@>, box false - <@@ Nullable<_> 3L ? 3L @@>, box false - <@@ Nullable<_> 3UL ? 3UL @@>, box false - <@@ Nullable<_> '3' ? '3' @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ? LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ? LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> 3f ? 3f @@>, box false - <@@ Nullable<_> 3. ? 3. @@>, box false - <@@ Nullable<_> 3m ? 3m @@>, box false - <@@ Nullable<_> 3m ? 3m @@>, box false - <@@ Nullable<_> 3I ? 3I @@>, box false - - <@@ Nullable<_> 3y ?>= 3y @@>, box true - <@@ Nullable<_> 3uy ?>= 3uy @@>, box true - <@@ Nullable<_> 3s ?>= 3s @@>, box true - <@@ Nullable<_> 3us ?>= 3us @@>, box true - <@@ Nullable<_> 3 ?>= 3 @@>, box true - <@@ Nullable<_> 3u ?>= 3u @@>, box true - <@@ Nullable<_> 3L ?>= 3L @@>, box true - <@@ Nullable<_> 3UL ?>= 3UL @@>, box true - <@@ Nullable<_> '3' ?>= '3' @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?>= LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?>= LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> 3f ?>= 3f @@>, box true - <@@ Nullable<_> 3. ?>= 3. @@>, box true - <@@ Nullable<_> 3m ?>= 3m @@>, box true - <@@ Nullable<_> 3m ?>= 3m @@>, box true - <@@ Nullable<_> 3I ?>= 3I @@>, box true - - <@@ 3y >=? Nullable<_> 3y @@>, box true - <@@ 3uy >=? Nullable<_> 3uy @@>, box true - <@@ 3s >=? Nullable<_> 3s @@>, box true - <@@ 3us >=? Nullable<_> 3us @@>, box true - <@@ 3 >=? Nullable<_> 3 @@>, box true - <@@ 3u >=? Nullable<_> 3u @@>, box true - <@@ 3L >=? Nullable<_> 3L @@>, box true - <@@ 3UL >=? Nullable<_> 3UL @@>, box true - <@@ '3' >=? Nullable<_> '3' @@>, box true - <@@ LanguagePrimitives.GenericOne >=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ LanguagePrimitives.GenericOne >=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ 3f >=? Nullable<_> 3f @@>, box true - <@@ 3. >=? Nullable<_> 3. @@>, box true - <@@ 3m >=? Nullable<_> 3m @@>, box true - <@@ 3m >=? Nullable<_> 3m @@>, box true - <@@ 3I >=? Nullable<_> 3I @@>, box true - - <@@ Nullable<_> 3y ?>=? Nullable<_> 3y @@>, box true - <@@ Nullable<_> 3uy ?>=? Nullable<_> 3uy @@>, box true - <@@ Nullable<_> 3s ?>=? Nullable<_> 3s @@>, box true - <@@ Nullable<_> 3us ?>=? Nullable<_> 3us @@>, box true - <@@ Nullable<_> 3 ?>=? Nullable<_> 3 @@>, box true - <@@ Nullable<_> 3u ?>=? Nullable<_> 3u @@>, box true - <@@ Nullable<_> 3L ?>=? Nullable<_> 3L @@>, box true - <@@ Nullable<_> 3UL ?>=? Nullable<_> 3UL @@>, box true - <@@ Nullable<_> '3' ?>=? Nullable<_> '3' @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?>=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> LanguagePrimitives.GenericOne ?>=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true - <@@ Nullable<_> 3f ?>=? Nullable<_> 3f @@>, box true - <@@ Nullable<_> 3. ?>=? Nullable<_> 3. @@>, box true - <@@ Nullable<_> 3m ?>=? Nullable<_> 3m @@>, box true - <@@ Nullable<_> 3m ?>=? Nullable<_> 3m @@>, box true - <@@ Nullable<_> 3I ?>=? Nullable<_> 3I @@>, box true - - <@@ Nullable<_> 3y ?> 3y @@>, box false - <@@ Nullable<_> 3uy ?> 3uy @@>, box false - <@@ Nullable<_> 3s ?> 3s @@>, box false - <@@ Nullable<_> 3us ?> 3us @@>, box false - <@@ Nullable<_> 3 ?> 3 @@>, box false - <@@ Nullable<_> 3u ?> 3u @@>, box false - <@@ Nullable<_> 3L ?> 3L @@>, box false - <@@ Nullable<_> 3UL ?> 3UL @@>, box false - <@@ Nullable<_> '3' ?> '3' @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> 3f ?> 3f @@>, box false - <@@ Nullable<_> 3. ?> 3. @@>, box false - <@@ Nullable<_> 3m ?> 3m @@>, box false - <@@ Nullable<_> 3m ?> 3m @@>, box false - <@@ Nullable<_> 3I ?> 3I @@>, box false - - <@@ 3y >? Nullable<_> 3y @@>, box false - <@@ 3uy >? Nullable<_> 3uy @@>, box false - <@@ 3s >? Nullable<_> 3s @@>, box false - <@@ 3us >? Nullable<_> 3us @@>, box false - <@@ 3 >? Nullable<_> 3 @@>, box false - <@@ 3u >? Nullable<_> 3u @@>, box false - <@@ 3L >? Nullable<_> 3L @@>, box false - <@@ 3UL >? Nullable<_> 3UL @@>, box false - <@@ '3' >? Nullable<_> '3' @@>, box false - <@@ LanguagePrimitives.GenericOne >? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ LanguagePrimitives.GenericOne >? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ 3f >? Nullable<_> 3f @@>, box false - <@@ 3. >? Nullable<_> 3. @@>, box false - <@@ 3m >? Nullable<_> 3m @@>, box false - <@@ 3m >? Nullable<_> 3m @@>, box false - <@@ 3I >? Nullable<_> 3I @@>, box false - - <@@ Nullable<_> 3y ?>? Nullable<_> 3y @@>, box false - <@@ Nullable<_> 3uy ?>? Nullable<_> 3uy @@>, box false - <@@ Nullable<_> 3s ?>? Nullable<_> 3s @@>, box false - <@@ Nullable<_> 3us ?>? Nullable<_> 3us @@>, box false - <@@ Nullable<_> 3 ?>? Nullable<_> 3 @@>, box false - <@@ Nullable<_> 3u ?>? Nullable<_> 3u @@>, box false - <@@ Nullable<_> 3L ?>? Nullable<_> 3L @@>, box false - <@@ Nullable<_> 3UL ?>? Nullable<_> 3UL @@>, box false - <@@ Nullable<_> '3' ?>? Nullable<_> '3' @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> LanguagePrimitives.GenericOne ?>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false - <@@ Nullable<_> 3f ?>? Nullable<_> 3f @@>, box false - <@@ Nullable<_> 3. ?>? Nullable<_> 3. @@>, box false - <@@ Nullable<_> 3m ?>? Nullable<_> 3m @@>, box false - <@@ Nullable<_> 3m ?>? Nullable<_> 3m @@>, box false - <@@ Nullable<_> 3I ?>? Nullable<_> 3I @@>, box false - |] - - tests |> Array.map (fun (test, eval) -> - begin - printfn "--> Checking we can evaluate %A" test - let res = FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation test - let b = res = eval - if b then printfn "--- Success, it is %A which is equal to %A" res eval - else printfn "!!! FAILURE, it is %A which is not equal to %A" res eval - b - end - && - match test with - | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> - printfn " - printfn "<-- Success, it did not match Quotations.Patterns.(|CallWithWitnesses|_|)" - true) |> Array.forall id) // Don't short circuit on a failed test -module MoreWitnessTests = - - open System.Runtime.CompilerServices - open System.IO - - [] - module Tests = - let inline f0 (x: 'T) : (unit -> 'T) list = - [] - - let inline f (x: 'T) : (unit -> 'T) list = - [(fun () -> x + x)] - - type C() = - member inline __.F(x: 'T) = x + x - - [] - module M = - - type C with - member inline __.F2(x: 'T) = x + x - static member inline F2Static(x: 'T) = x + x - - [] - type FileExt = - [] - static member CreateDirectory(fileInfo: FileInfo) = - Directory.CreateDirectory fileInfo.Directory.FullName - - [] - static member inline F3(s: string, x: 'T) = - x + x - - [] - static member inline F4(s: string, x1: 'T, x2: 'T) = - x1 + x2 - - - [] - module Usage = - let q0 = <@ f0 3 @> - let q1 = <@ f 3 @> - let q2 = <@ C().F(3) @> - let q3 = <@ C().F2(3) @> - let q4 = <@ C.F2Static(3) @> - let q5 = <@ "".F3(3) @> - let q6 = <@ "".F4(3, 4) @> - - check "wekncjeck1" (q0.ToString()) "Call (None, f0, [Value (3)])" - check "wekncjeck2" (q1.ToString()) "Call (None, f, [Value (3)])" - check "wekncjeck3" (q2.ToString()) "Call (Some (NewObject (C)), F, [Value (3)])" - check "wekncjeck4" (q3.ToString()) "Call (None, C.F2, [NewObject (C), Value (3)])" - check "wekncjeck5" (q4.ToString()) "Call (None, C.F2Static.Static, [Value (3)])" - check "wekncjeck6" (q5.ToString()) "Call (None, F3, [Value (\"\"), Value (3)])" - check "wekncjeck7" (q6.ToString()) "Call (None, F4, [Value (\"\"), Value (3), Value (4)])" - - check "ewlknweknl1" (FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q0) (box ([] : (unit -> int) list)) - check "ewlknweknl2" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q1 with :? ((unit -> int) list) as x -> x.[0] ()) 6 - check "ewlknweknl3" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q2 with :? int as x -> x) 6 - check "ewlknweknl4" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q3 with :? int as x -> x) 6 - check "ewlknweknl5" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q4 with :? int as x -> x) 6 - check "ewlknweknl6" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q5 with :? int as x -> x) 6 - check "ewlknweknl7" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q6 with :? int as x -> x) 7 - -// Check we can take ReflectedDefinition of things involving witness and trait calls -module QuotationsOfGenericCodeWithWitnesses = - [] - let inline f1 (x: ^T) = x + x // ( ^T : (static member Foo: int -> int) (3)) - - match <@ f1 1 @> with - | Quotations.Patterns.Call(_, mi, _) -> - let mi1 = mi.GetGenericMethodDefinition() - let q1 = Quotations.Expr.TryGetReflectedDefinition(mi1) - check "vwehwevrwv" q1 None - | q -> report_failure (sprintf "gfwhoewvioh - unexpected %A" q) - - - match <@ f1 1 @> with - | Quotations.Patterns.CallWithWitnesses(_, mi, minfoWithWitnesses, _, _) -> - let q2 = Quotations.Expr.TryGetReflectedDefinition(minfoWithWitnesses) - - match q2 with - | Some (Lambda (witnessArgVar, Lambda(v, CallWithWitnesses(None, mi, minfoWithWitnesses, [Var witnessArgVar2], [a2;b2])))) -> - - check "cewlkjwvw0a" witnessArgVar.Name "op_Addition" - check "cewlkjwvw0b" witnessArgVar.Type (typeof int -> int>) - check "cewlkjwvw1a" witnessArgVar2.Name "op_Addition" - check "cewlkjwvw1b" witnessArgVar2.Type (typeof int -> int>) - check "cewlkjwvw2" minfoWithWitnesses.Name "op_Addition$W" - check "vjnvwiowve" a2 b2 - check "cewlkjwvw0" witnessArgVar witnessArgVar2 - - | q -> report_failure (sprintf "gfwhoewvioh32 - unexpected %A" q) - - | q -> report_failure (sprintf "gfwhoewvioh37 - unexpected %A" q) - - - type C() = - static member Foo (x:int) = x - - [] - let inline f3 (x: ^T) = - ( ^T : (static member Foo: int -> int) (3)) - - match <@ f3 (C()) @> with - | Quotations.Patterns.Call(_, mi, _) -> - let mi3 = mi.GetGenericMethodDefinition() - let q3 = Quotations.Expr.TryGetReflectedDefinition(mi3) - check "fekjevwlw" q3 None - | q -> report_failure (sprintf "3kjhhjkkjhe9 - %A unexpected" q) - - match <@ f3 (C()) @> with - | Quotations.Patterns.CallWithWitnesses(_, mi, miw, [w4], _) -> - let q4 = Quotations.Expr.TryGetReflectedDefinition(miw) - - check "vwroirvjkn" miw.Name "f3$W" - - match q4 with - | Some (Lambda(witnessArgVar, Lambda(v, Application(Var witnessArgVar2, Int32 3)))) -> - check "vwehjrwlkj0" witnessArgVar.Name "Foo" - check "vwehjrwlkj1" witnessArgVar.Type (typeof int>) - check "vwehjrwlkj2" witnessArgVar2.Name "Foo" - check "vwehjrwlkj3" witnessArgVar2 witnessArgVar - | _ -> report_failure (sprintf "3kjhhjkkjhe1 - %A unexpected" q4) - - match w4 with - | Lambda(v, Call(None, miFoo, [Var v2])) -> - check "vewhjwveoi1" miFoo.Name "Foo" - check "vewhjwveoi2" v v2 - | _ -> report_failure (sprintf "3kjhhjkkjhe2 - %A unexpected" w4) - - | q -> report_failure (sprintf "3kjhhjkkjhe0 - %A unexpected" q) - -/// Check we can take quotations of implicit operator trait calls - -module QuotationOfConcreteTraitCalls = - - type Foo(s: string) = - member _.S = s - static member (?) (foo : Foo, name : string) = foo.S + name - static member (++) (foo : Foo, name : string) = foo.S + name - static member (?<-) (foo : Foo, name : string, v : string) = () - - let foo = Foo("hello, ") - - // Desugared form is ok, but ? desugars to a method with constraints which aren't allowed in quotes - let q1 = <@ Foo.op_Dynamic(foo, "uhh") @> - let q2 = <@ foo ? uhh @> - - let q3 = <@ Foo.op_DynamicAssignment(foo, "uhh", "hm") @> - let q4 = <@ foo ? uhh <- "hm" @> - let q5 = <@ foo ++ "uhh" @> - - let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") - check "wekncjeck112a" (cleanup (sprintf "%0A" q1)) "Call(None,op_Dynamic,[PropertyGet(None,foo,[]),Value(\"uhh\")])" - check "wekncjeck112b" (cleanup (sprintf "%0A" q2)) "Application(Application(Lambda(arg0,Lambda(arg1,Call(None,op_Dynamic,[arg0,arg1]))),PropertyGet(None,foo,[])),Value(\"uhh\"))" - check "wekncjeck112c" (cleanup (sprintf "%0A" q3)) "Call(None,op_DynamicAssignment,[PropertyGet(None,foo,[]),Value(\"uhh\"),Value(\"hm\")])" - check "wekncjeck112d" (cleanup (sprintf "%0A" q4)) "Application(Application(Application(Lambda(arg0,Lambda(arg1,Lambda(arg2,Call(None,op_DynamicAssignment,[arg0,arg1,arg2])))),PropertyGet(None,foo,[])),Value(\"uhh\")),Value(\"hm\"))" - check "wekncjeck112e" (cleanup (sprintf "%0A" q5)) "Application(Application(Lambda(arg0,Lambda(arg1,Call(None,op_PlusPlus,[arg0,arg1]))),PropertyGet(None,foo,[])),Value(\"uhh\"))" - - // Let bound functions handle this ok - let (?) o s = - printfn "%s" s - - // No error here because it binds to the let bound version - let q8 = <@ foo ? uhh @> - -// Check we can take ReflectedDefinition of things involving multiple implicit witnesses and trait calls -module QuotationsOfGenericCodeWithMultipleWitnesses = - - // This has three type paramters and two witnesses, one for + and one for - - [] - let inline f1 x y z = (x + y) - z - - match <@ f1 1 2 3 @> with - | Quotations.Patterns.Call(_, mi, _) -> - let q1 = Quotations.Expr.TryGetReflectedDefinition(mi) - check "vwehwevrwv" q1 None - | q -> report_failure (sprintf "gfwhoewvioh - unexpected %A" q) - - match <@ f1 1 2 3 @> with - | Quotations.Patterns.CallWithWitnesses(_, mi, minfoWithWitnesses, _, _) -> - let q2 = Quotations.Expr.TryGetReflectedDefinition(minfoWithWitnesses) - - match q2 with - | Some (Lambda (witnessArgVarAdd, - Lambda (witnessArgVarSub, - Lambda(xVar, - Lambda(yVar, - Lambda(zVar, - CallWithWitnesses(None, mi1, minfoWithWitnesses1, [Var witnessArgVarSub2], - [CallWithWitnesses(None, mi2, minfoWithWitnesses2, [Var witnessArgVarAdd2], - [Var xVar2; Var yVar2]); - Var zVar2]))))))) -> - - check "cewlkjwv54" witnessArgVarAdd.Name "op_Addition" - check "cewlkjwv55" witnessArgVarSub.Name "op_Subtraction" - check "cewlkjwv56" witnessArgVarAdd.Type (typeof int -> int>) - check "cewlkjwv57" witnessArgVarSub.Type (typeof int -> int>) - check "cewlkjwv58" witnessArgVarAdd witnessArgVarAdd2 - check "cewlkjwv59" witnessArgVarSub witnessArgVarSub2 - check "cewlkjwv60" xVar xVar2 - check "cewlkjwv61" yVar yVar2 - check "cewlkjwv62" zVar zVar2 - - | q -> report_failure (sprintf "gfwhoewvioh32 - unexpected %A" q) - - | q -> report_failure (sprintf "gfwhoewvioh37 - unexpected %A" q) - -// Like QuotationsOfGenericCodeWithMultipleWitnesses but with implementation code the other way around -module QuotationsOfGenericCodeWithMultipleWitnesses2 = - - [] - let inline f1 x y z = (x - y) + z - - match <@ f1 1 2 3 @> with - | Quotations.Patterns.Call(_, mi, _) -> - let q1 = Quotations.Expr.TryGetReflectedDefinition(mi) - check "xvwehwevrwv" q1 None - | q -> report_failure (sprintf "xgfwhoewvioh - unexpected %A" q) - - match <@ f1 1 2 3 @> with - | Quotations.Patterns.CallWithWitnesses(_, mi, minfoWithWitnesses, _, _) -> - let q2 = Quotations.Expr.TryGetReflectedDefinition(minfoWithWitnesses) - - match q2 with - | Some (Lambda (witnessArgVarAdd, - Lambda (witnessArgVarSub, - Lambda(xVar, - Lambda(yVar, - Lambda(zVar, - CallWithWitnesses(None, mi1, minfoWithWitnesses1, [Var witnessArgVarAdd2], - [CallWithWitnesses(None, mi2, minfoWithWitnesses2, [Var witnessArgVarSub2], - [Var xVar2; Var yVar2]); - Var zVar2]))))))) -> - - check "xcewlkjwv54" witnessArgVarAdd.Name "op_Addition" - check "xcewlkjwv55" witnessArgVarSub.Name "op_Subtraction" - check "xcewlkjwv56" witnessArgVarAdd.Type (typeof int -> int>) - check "xcewlkjwv57" witnessArgVarSub.Type (typeof int -> int>) - check "xcewlkjwv58" witnessArgVarAdd witnessArgVarAdd2 - check "xcewlkjwv59" witnessArgVarSub witnessArgVarSub2 - check "xcewlkjwv60" xVar xVar2 - check "xcewlkjwv61" yVar yVar2 - check "xcewlkjwv62" zVar zVar2 - - | q -> report_failure (sprintf "xgfwhoewvioh32 - unexpected %A" q) - - | q -> report_failure (sprintf "xgfwhoewvioh37 - unexpected %A" q) - - -module TestOuterConstrainedClass = - // This example where there is an outer constrained class caused numerous failures - // because it was trying to pass witnesses for the constraint in the type - // - // No witnesses are passed for these - type hoop< ^a when ^a : (static member (+) : ^a * ^a -> ^a) > = - { Group1 : ^a - Group2 : ^a } - static member inline (+) (x, y) = x.Group1 + y.Group2 - //member inline this.Sum = this.Group1 + this.Group2 - - let z = { Group1 = 1; Group2 = 2 } + { Group1 = 2; Group2 = 3 } // ok - -module TestInlineQuotationOfAbsOperator = - - let inline f x = <@ abs x @> - - type C(n:int) = - static member Abs(c: C) = C(-c.P) - member x.P = n - - let v1 = f 3 - let v2 = f 3.4 - let v3 = f (C(4)) - - test "check abs1" - (match v1 with - | CallWithWitnesses(None, minfo1, minfo2, [Value(f,_)], [Int32 3]) -> - minfo1.Name = "Abs" && minfo2.Name = "Abs$W" && ((f :?> (int -> int)) -3 = 3) - | _ -> false) - - test "check abs2" - (match v2 with - | CallWithWitnesses(None, minfo1, minfo2, [Value(f,_)], [Double 3.4]) -> - minfo1.Name = "Abs" && minfo2.Name = "Abs$W" && ((f :?> (double -> double)) -3.0 = 3.0) - | _ -> false) - - test "check abs3" - (match v3 with - | CallWithWitnesses(None, minfo1, minfo2, [Value(f,_)], [Value (v,_)]) -> - minfo1.Name = "Abs" && minfo2.Name = "Abs$W" && ((v :?> C).P = 4) && (((f :?> (C -> C)) (C(-7))).P = 7) - | _ -> false) - - -module TestQuotationOfListSum = - type Point = - { x: int; y: int } - static member Zero = { x=0; y=0 } - static member (+) (p1, p2) = { x= p1.x + p2.x; y = p1.y + p2.y } - let points = [{x=1; y=10}] - - let q = <@ List.sum points @> - - match q with - | CallWithWitnesses(None, minfo1, minfo2, [w1; w2], [_]) -> - test "check List.sum 111" (minfo1.Name = "Sum") - test "check List.sum 112" (minfo2.Name = "Sum$W") - printfn "w1 = %A" w1 - match w1 with - | Lambda(v, PropertyGet(None, miFoo, [])) -> - test "check List.sum 113" (miFoo.Name = "Zero") - | _ -> - test "check List.sum 114" false - match w2 with - | Lambda(v, Lambda(v2, Call(None, miFoo, [_;_]))) -> - test "check List.sum 115" (miFoo.Name = "op_Addition") - | _ -> - test "check List.sum 116" false - | _ -> - test "check List.sum 117" false - - -module TestQuotationOfListSum2 = - type Point = - { x: int; y: int } - static member Zero = { x=0; y=0 } - static member (+) (p1, p2) = { x= p1.x + p2.x; y = p1.y + p2.y } - let points = [{x=1; y=10}] - - let inline quoteListSum points = <@ List.sum points @> - - match quoteListSum points with - | CallWithWitnesses(None, minfo1, minfo2, [Value (f1, _); Value (f2, _)], [Value (v,_)]) -> - test "check List.sum 211" (minfo1.Name = "Sum") - test "check List.sum 212" (minfo2.Name = "Sum$W") - test "check List.sum 213" (((v :?> Point list) = points)) - test "check List.sum 214" ((((f1 :?> (unit -> Point)) ()) = Point.Zero)) - test "check List.sum 215" ((((f2 :?> (Point -> Point -> Point)) {x=1;y=1} {x=1;y=2}) = {x=2;y=3})) - | _ -> - test "check List.sum 216" false - - -module ComputationExpressionWithOptionalsAndParamArray = - open System - type InputKind = - | Text of placeholder:string option - | Password of placeholder: string option - type InputOptions = - { Label: string option - Kind : InputKind - Validators : (string -> bool) array } - type InputBuilder() = - member t.Yield(_) = - { Label = None - Kind = Text None - Validators = [||] } - [] - member this.Text(io, ?placeholder) = - { io with Kind = Text placeholder } - [] - member this.Password(io, ?placeholder) = - { io with Kind = Password placeholder } - [] - member this.Label(io, label) = - { io with Label = Some label } - [] - member this.Validators(io, [] validators) = - { io with Validators = validators } - - let input = InputBuilder() - let name = - input { - label "Name" - text - with_validators - (String.IsNullOrWhiteSpace >> not) - } - let email = - input { - label "Email" - text "Your email" - with_validators - (String.IsNullOrWhiteSpace >> not) - (fun s -> s.Contains "@") - } - let password = - input { - label "Password" - password "Must contains at least 6 characters, one number and one uppercase" - with_validators - (String.exists Char.IsUpper) - (String.exists Char.IsDigit) - (fun s -> s.Length >= 6) - } - check "vewhkvh1" name.Kind (Text None) - check "vewhkvh2" email.Kind (Text (Some "Your email")) - check "vewhkvh3" email.Label (Some "Email") - check "vewhkvh4" email.Validators.Length 2 - check "vewhkvh5" password.Label (Some "Password") - check "vewhkvh6" password.Validators.Length 3 - -module QuotationOfComputationExpressionZipOperation = - - type Builder() = - member __.Bind (x, f) = f x - member __.Return x = x - member __.For (x, f) = f x - member __.Yield x = x - [] - member __.Var (x, y, f) = f x y - - let builder = Builder() - - let q = - <@ builder { - let! x = 1 - var y in 2 - return x + y - } @> - - let actual = (q.ToString()) - checkStrings "brewbreebr" actual - """Application (Lambda (builder@, - Call (Some (builder@), For, - [Call (Some (builder@), Var, - [Call (Some (builder@), Bind, - [Value (1), - Lambda (_arg1, - Let (x, _arg1, - Call (Some (builder@), - Yield, [x])))]), - Value (2), - Lambda (x, Lambda (y, NewTuple (x, y)))]), - Lambda (_arg2, - Let (y, TupleGet (_arg2, 1), - Let (x, TupleGet (_arg2, 0), - Call (Some (builder@), Return, - [Call (None, op_Addition, - [x, y])]))))])), - PropertyGet (None, builder, []))""" - -module CheckEliminatedConstructs = - let isNullQuoted (ts : 't[]) = - <@ - match ts with - | null -> true - | _ -> false - @> - - let actual1 = ((isNullQuoted [| |]).ToString()) - checkStrings "brewbreebrvwe1" actual1 - """IfThenElse (Call (None, op_Equality, [ValueWithName ([||], ts), Value ()]), - Value (true), Value (false))""" - -module Interpolation = - let interpolatedNoHoleQuoted = <@ $"abc" @> - let actual1 = interpolatedNoHoleQuoted.ToString() - checkStrings "brewbreebrwhat1" actual1 """Value ("abc")""" - - let interpolatedWithLiteralQuoted = <@ $"abc {1} def" @> - let actual2 = interpolatedWithLiteralQuoted.ToString() - checkStrings "brewbreebrwhat2" actual2 - """Call (None, PrintFormatToString, - [NewObject (PrintfFormat`5, Value ("abc %P() def"), - NewArray (Object, Call (None, Box, [Value (1)])), - Value ())])""" - -module TestQuotationWithIdetnicalStaticInstanceMethods = - type C() = - static member M(c: int) = 1 + c - member this.M(c: int) = 2 + c - let res = - <@ C().M(3) @> - |> FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation - :?> int - - check "vewhwveh" res 5 - - -module TestAssemblyAttributes = - let attributes = System.Reflection.Assembly.GetExecutingAssembly().GetCustomAttributes(false) - - -module TestTaskQuotationExecution = - - open System.Threading.Tasks - - let q = <@ task.Run(task.Delay(fun () -> task.Return "bar")) @> - - let task = - q - |> FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation - :?> Task - - check "vewhwveh" task.Result "bar" - -module QuotationCapturingMutableThatGetsBoxed = - - // Debug compilation failed - type Test () = - static member g ([< ReflectedDefinition>] f : Quotations.Expr unit>) = printfn "%A" f - - let f () = - let mutable x = 0 - fun _ -> - Test.g (fun _ -> x |> ignore) - - f () () - -#if TESTS_AS_APP -let RUN() = !failures -#else -let aa = - match !failures with - | [] -> - stdout.WriteLine "Test Passed" - System.IO.File.WriteAllText("test.ok","ok") - exit 0 - | errs -> - printfn "Test Failed, errors = %A" errs - exit 1 -#endif diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index d5943a1366a..6f04f0e0a60 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -36,19 +36,6 @@ let testConfig = getTestsDirectory >> testConfig [] module CoreTests = -#if !NETCOREAPP -// This test stays in FsharpSuite for a later migration phases, it uses hardcoded #r to a C# compiled cslib.dll inside - [] - let ``quotes-FSC-FSC_DEBUG`` () = singleTestBuildAndRun "core/quotes" FSC_DEBUG - - [] - let ``quotes-FSC-BASIC`` () = singleTestBuildAndRun "core/quotes" FSC_OPTIMIZED - - [] - let ``quotes-FSI-BASIC`` () = singleTestBuildAndRun "core/quotes" FSI -#endif - - #if !NETCOREAPP // This test has hardcoded expectations about current synchronization context // Will be moved out of FsharpSuite.Tests in a later phase for desktop framework From b5c6a11d88cbbfc5cdbbfb6064ee8d499e26b652 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 18 Jan 2024 09:53:14 -0800 Subject: [PATCH 04/58] temp --- .../ModuleInitialization.fs | 114 ++++++++++-------- 1 file changed, 62 insertions(+), 52 deletions(-) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index 25cde02e8d3..e3c788f188f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -471,6 +471,59 @@ module {{recursive}} MyModule = else compilation +// [] // RealSig, release +// [] // Regular, release +// [] // RealSig, debug +// [] // Regular, debug +// [] +// let ``recursive types in module`` (realSig, release) = +// FSharp $$""" +//module rec MyModule = +// type Node = { Next: Node; Value: int } + +// let one = { Next = two; Value = 1 } + +// // An intervening type declaration +// type M() = static member X() = one + +// let two = { Next = one; Value = 2 } + +// let test t s1 s2 = +// if s1 <> s2 then +// stdout.WriteLine ($"test:{t} '{s1}' '{s2}' failed") +// else +// stdout.WriteLine ($"test:{t} '{s1}' '{s2}' succeeded") + +// [] +// let main args = +// //test "one.Value 1" one.Value 1 +// test "one.Next.Value 2" one.Next.Value 2 +// //test "one.Next.Value 2" one.Next.Value 1 +// //test "(M.X()).Value 1" (M.X()).Value 1 +// //test "(M.X()).Next.Value 2" (M.X()).Next.Value 2 +// //test "(M.X()).Next.Next.Value 1" (M.X()).Next.Next.Value 1 +// //test "two.Value 2" two.Value 2 +// //test "two.Next.Value 1" two.Next.Value 1 +// //test "two.Next.Next.Value 2" two.Next.Next.Value 2 +// 0 +// """ +// |> withFlavor release +// |> withLangVersionPreview +// |> withRealInternalSignature realSig +// |> compileExeAndRun +// |> shouldSucceed +// |> withStdOutContainsAllInOrder [ +// "test:one.Value 1 '1' '1' succeeded" +// //"test:one.Next.Value 2 '2' '2' succeeded" +// //"test:one.Next.Value 2 '2' '1' failed" +// //"test:(M.X()).Value 1 '1' '1' succeeded" +// //"test:(M.X()).Next.Value 2 '2' '2' succeeded" +// //"test:(M.X()).Next.Next.Value 1 '1' '1' succeeded" +// //"test:two.Value 2 '2' '2' succeeded" +// //"test:two.Next.Value 1 '1' '1' succeeded" +// //"test:two.Next.Next.Value 2 '2' '2' succeeded" +// ] + [] // RealSig, release [] // Regular, release [] // RealSig, debug @@ -488,24 +541,7 @@ module rec MyModule = let two = { Next = one; Value = 2 } - let test t s1 s2 = - if s1 <> s2 then - stdout.WriteLine ($"test:{t} '{s1}' '{s2}' failed") - else - stdout.WriteLine ($"test:{t} '{s1}' '{s2}' succeeded") - - [] - let main args = - test "one.Value 1" one.Value 1 - test "one.Next.Value 2" one.Next.Value 2 - test "one.Next.Value 2" one.Next.Value 1 - test "(M.X()).Value 1" (M.X()).Value 1 - test "(M.X()).Next.Value 2" (M.X()).Next.Value 2 - test "(M.X()).Next.Next.Value 1" (M.X()).Next.Next.Value 1 - test "two.Value 2" two.Value 2 - test "two.Next.Value 1" two.Next.Value 1 - test "two.Next.Next.Value 2" two.Next.Next.Value 2 - 0 + printfn $"test:one.Next.Value 2: '{one.Next.Value}' '{2}'" """ |> withFlavor release |> withLangVersionPreview @@ -513,42 +549,16 @@ module rec MyModule = |> compileExeAndRun |> shouldSucceed |> withStdOutContainsAllInOrder [ - "test:one.Value 1 '1' '1' succeeded" - "test:one.Next.Value 2 '2' '2' succeeded" - "test:one.Next.Value 2 '2' '1' failed" - "test:(M.X()).Value 1 '1' '1' succeeded" - "test:(M.X()).Next.Value 2 '2' '2' succeeded" - "test:(M.X()).Next.Next.Value 1 '1' '1' succeeded" - "test:two.Value 2 '2' '2' succeeded" - "test:two.Next.Value 1 '1' '1' succeeded" - "test:two.Next.Next.Value 2 '2' '2' succeeded" + "test:one.Next.Value 2: '2' '2'" + //"test:one.Next.Value 2 '2' '1' failed" + //"test:(M.X()).Value 1 '1' '1' succeeded" + //"test:(M.X()).Next.Value 2 '2' '2' succeeded" + //"test:(M.X()).Next.Next.Value 1 '1' '1' succeeded" + //"test:two.Value 2 '2' '2' succeeded" + //"test:two.Next.Value 1 '1' '1' succeeded" + //"test:two.Next.Next.Value 2 '2' '2' succeeded" ] -(* -module rec Test12384e = - type Node = - { - Next: Node - Value: int - } - - let one = - { - Next = two - Value = 1 - } - - // An intervening type declaration - type M() = - static member X() = one - - let two = - { - Next = one - Value = 2 - } -*) - [] // RealSig [] // Regular [] From 23eb3458bbec8469504abda0e79a8d7db5686792 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 18 Jan 2024 20:00:00 -0800 Subject: [PATCH 05/58] temp --- src/Compiler/CodeGen/IlxGen.fs | 254 ++++++++++++++++-- .../ModuleInitialization.fs | 8 +- 2 files changed, 236 insertions(+), 26 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 23d927d463a..1b9289fb6f3 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8110,24 +8110,12 @@ and GenLetRecFixup cenv cgbuf eenv (ilxCloSpec: IlxClosureSpec, e, ilField: ILFi CG.EmitInstr cgbuf (pop 2) Push0 (mkNormalStfld (mkILFieldSpec (ilField.FieldRef, ilxCloSpec.ILType))) /// Generate letrec bindings -and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) = +and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) (dict: Dictionary option) = // 'let rec' bindings are always considered to be in loops, that is each may have backward branches for the // tailcalls back to the entry point. This means we don't rely on zero-init of mutable locals let eenv = SetIsInLoop true eenv - // Fix up recursion for non-toplevel recursive bindings - let bindsPossiblyRequiringFixup = - allBinds - |> List.filter (fun b -> - match (StorageForVal m b.Var eenv) with - | StaticProperty _ - | Method _ - // Note: Recursive data stored in static fields may require fixups e.g. let x = C(x) - // | StaticPropertyWithField _ - | Null -> false - | _ -> true) - let computeFixupsForOneRecursiveVar boundv forwardReferenceSet (fixups: _ ref) thisVars access set e = match e with | Expr.Lambda _ @@ -8182,6 +8170,18 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) = let fixups = ref [] + // Fix up recursion for non-toplevel recursive bindings + let bindsPossiblyRequiringFixup = + allBinds + |> List.filter (fun b -> + match (StorageForVal m b.Var eenv) with + | StaticProperty _ + | Method _ + // Note: Recursive data stored in static fields may require fixups e.g. let x = C(x) + // | StaticPropertyWithField _ + | Null -> false + | _ -> true) + let recursiveVars = Zset.addList (bindsPossiblyRequiringFixup |> List.map (fun v -> v.Var)) (Zset.empty valOrder) @@ -8205,16 +8205,67 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) = forwardReferenceSet) // Generate the actual bindings + let bindGroups = + let dict = Dictionary() + allBinds + |> List.groupBy(fun bind -> + let (TBind(v, _, _)) = bind + match v.HasDeclaringEntity with + | true -> v.DeclaringEntity.Deref.Stamp + | false -> 0L) + |> Seq.iter(fun (stamp, bindings) -> dict.Add(stamp, bindings)) + dict + + let skipBinding = HashSet() let _ = (recursiveVars, allBinds) ||> List.fold (fun forwardReferenceSet (bind: Binding) -> - GenBinding cenv cgbuf eenv bind false + let (TBind(v, _, _)) = bind + let nested, skip, stamp = + match dict, v.HasDeclaringEntity with + | None, _ | _, false -> None, false, 0L + | Some dict, true -> + let stamp = v.DeclaringEntity.Deref.Stamp + match dict.TryGetValue(stamp), skipBinding.Contains(stamp) with + | (false, _), _ -> None, false, stamp + | (_, _), true -> None, true, stamp + | (true, tref), _ -> + let added = skipBinding.Add(stamp) + Some tref, not added, stamp + + match nested, skip with + | None, _ -> GenBinding cenv cgbuf eenv bind false + | Some _, true -> () + | Some tref, false -> + let eenv = + { eenv with + cloc = + { eenv.cloc with + Enclosing = tref.Enclosing @ [ tref.Name ] + Namespace = None + } + } - // Record the variable as defined - let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet + match bindGroups.TryGetValue(stamp) with + | true, binds -> + CodeGenInitMethod + cenv + cgbuf + eenv + tref + (fun cgbuf eenv -> + // Generate chunks of non-nested bindings together to allow recursive fixups. + GenLetRecBindings cenv cgbuf eenv (binds, m) dict + CG.EmitInstr cgbuf (pop 0) Push0 I_ret //) + ) + m + | _ -> () - // Execute and discard any fixups that can now be committed + let forwardReferenceSet = + // Record the variable as defined + Zset.remove bind.Var forwardReferenceSet let newFixups = + // Execute and discard any fixups that can now be committed fixups.Value |> List.filter (fun (boundv, fv, action) -> if (Zset.contains boundv forwardReferenceSet || Zset.contains fv forwardReferenceSet) then @@ -8222,17 +8273,116 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) = else action () false) - fixups.Value <- newFixups - forwardReferenceSet) - () +(*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + +and GenModuleOrNamespaceContents cenv (cgbuf: CodeGenBuffer) qname lazyInitInfo eenv x = + match x with + | TMDefRec(_isRec, opens, tycons, mbinds, m) -> + + let eenv = AddDebugImportsToEnv cenv eenv opens + + let mutable bindsRemaining = mbinds + + let dict = Dictionary() + + for tc in tycons do + let optTref = + if tc.IsFSharpException then + GenExnDef cenv cgbuf.mgbuf eenv m tc + else + GenTypeDef cenv cgbuf.mgbuf lazyInitInfo eenv m tc + + match optTref with + | Some tref -> dict.Add(tc.Stamp, tref) + | None -> () + + while not bindsRemaining.IsEmpty do + + match bindsRemaining with + | ModuleOrNamespaceBinding.Binding _bind :: _rest -> + let mutable parent: Stamp option = None + let mutable take = true + + let theseBinds, rest = + bindsRemaining + |> List.partition (function + | ModuleOrNamespaceBinding.Binding _ when (not eenv.realInternalSignature) && take -> true + | ModuleOrNamespaceBinding.Binding bind when eenv.realInternalSignature && take -> + let (TBind(v, _, _)) = bind + + match v.HasDeclaringEntity with + | true -> + let declaring = v.DeclaringEntity.Deref.Stamp + + match parent with + | Some p -> + take <- p = declaring + p = declaring + | None -> + parent <- Some declaring + true + | false -> + take <- true + true + | _ -> + take <- false + false) + + let recBinds = + theseBinds + |> List.map (function + | ModuleOrNamespaceBinding.Binding bind -> bind + | _ -> failwith "GenModuleOrNamespaceContents - unexpected") + + match parent with + | Some p -> + match dict.TryGetValue(p) with + | true, tref -> + let eenv = + { eenv with + cloc = + { eenv.cloc with + Enclosing = tref.Enclosing @ [ tref.Name ] + Namespace = None + } + } + + CodeGenInitMethod + cenv + cgbuf + eenv + tref + (fun cgbuf eenv -> + // Generate chunks of non-nested bindings together to allow recursive fixups. + GenLetRecBindings cenv cgbuf eenv (recBinds, m) + CG.EmitInstr cgbuf (pop 0) Push0 I_ret //) + ) + m + | _ -> GenLetRecBindings cenv cgbuf eenv (recBinds, m) + + | _ -> GenLetRecBindings cenv cgbuf eenv (recBinds, m) + + bindsRemaining <- rest + + | (ModuleOrNamespaceBinding.Module _ as mbind) :: rest -> + GenModuleBinding cenv cgbuf qname lazyInitInfo eenv m mbind + bindsRemaining <- rest + + | [] -> failwith "unreachable" + + eenv + + +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*) + and GenLetRec cenv cgbuf eenv (binds, body, m) sequel = let _, endMark as scopeMarks = StartLocalScope "letrec" cgbuf let eenv = AllocStorageForBinds cenv cgbuf scopeMarks eenv binds - GenLetRecBindings cenv cgbuf eenv (binds, m) + GenLetRecBindings cenv cgbuf eenv (binds, m) None GenExpr cenv cgbuf eenv body (EndLocalScope(sequel, endMark)) //------------------------------------------------------------------------- @@ -10088,6 +10238,65 @@ and CodeGenInitMethod cenv (cgbuf: CodeGenBuffer) eenv tref (codeGenInitFunc: Co cgbuf.EmitInstr((pop 0), Push0, mkNormalCall (methodSpec)) +and GenModuleOrNamespaceContents cenv (cgbuf: CodeGenBuffer) qname lazyInitInfo eenv x = + match x with + | TMDefRec(_isRec, opens, tycons, mbinds, m) -> + let eenvinner = AddDebugImportsToEnv cenv eenv opens + + let dict = Some (Dictionary()) + for tc in tycons do + let optTref = + if tc.IsFSharpException then + GenExnDef cenv cgbuf.mgbuf eenv m tc + else + GenTypeDef cenv cgbuf.mgbuf lazyInitInfo eenv m tc + + match optTref with + | Some tref -> dict.Value.Add(tc.Stamp, tref) + | None -> () + + // Generate chunks of non-nested bindings together to allow recursive fixups. + let mutable bindsRemaining = mbinds + + while not bindsRemaining.IsEmpty do + match bindsRemaining with + | ModuleOrNamespaceBinding.Binding _ :: _ -> + let theseBinds, otherBinds = + bindsRemaining + |> List.partition (function + | ModuleOrNamespaceBinding.Binding _ -> true + | _ -> false) + let recBinds = + theseBinds + |> List.map (function + | ModuleOrNamespaceBinding.Binding recBind -> recBind + | _ -> failwith "GenModuleOrNamespaceContents - unexpected") + GenLetRecBindings cenv cgbuf eenv (recBinds, m) dict + bindsRemaining <- otherBinds + | (ModuleOrNamespaceBinding.Module _ as mbind) :: rest -> + GenModuleBinding cenv cgbuf qname lazyInitInfo eenvinner m mbind + bindsRemaining <- rest + | [] -> failwith "unreachable" + + eenvinner + + | TMDefLet(bind, _) -> + GenBindings cenv cgbuf eenv [ bind ] None + eenv + + | TMDefOpens openDecls -> + let eenvinner = AddDebugImportsToEnv cenv eenv openDecls + eenvinner + + | TMDefDo(e, _) -> + GenExpr cenv cgbuf eenv e discard + eenv + + | TMDefs mdefs -> + (eenv, mdefs) + ||> List.fold (GenModuleOrNamespaceContents cenv cgbuf qname lazyInitInfo) + +(* and GenModuleOrNamespaceContents cenv (cgbuf: CodeGenBuffer) qname lazyInitInfo eenv x = match x with | TMDefRec(_isRec, opens, tycons, mbinds, m) -> @@ -10200,11 +10409,12 @@ and GenModuleOrNamespaceContents cenv (cgbuf: CodeGenBuffer) qname lazyInitInfo | TMDefs mdefs -> (eenv, mdefs) ||> List.fold (GenModuleOrNamespaceContents cenv cgbuf qname lazyInitInfo) +*) // Generate a module binding and GenModuleBinding cenv (cgbuf: CodeGenBuffer) (qname: QualifiedNameOfFile) lazyInitInfo eenv m x = match x with - | ModuleOrNamespaceBinding.Binding bind -> GenLetRecBindings cenv cgbuf eenv ([ bind ], m) + | ModuleOrNamespaceBinding.Binding bind -> GenLetRecBindings cenv cgbuf eenv ([ bind ], m) None | ModuleOrNamespaceBinding.Module(mspec, mdef) when mspec.IsNamespace -> // Generate the declarations in the namespace and its initialization code diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index e3c788f188f..8a448a23500 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -429,16 +429,16 @@ module {{recursive}} MyModule = type internal MyFirstType = static let _ = printfn "Hello, World from MyModule.MyNestedModule.MyFirstType" - static let _ = printfn $"{MyFirstType.DoSomething}" - static member DoSomething = "My goodness I'm 'MyFirstType'" + static let _ = printfn $"{MyFirstType.FirstDoSomething}" + static member FirstDoSomething = "My goodness I'm 'MyFirstType'" do printfn $"between types in MyNestedModule" type private MySecondType = static let x11 = 1100 + System.Random().Next(0) static let _ = printfn "Hello, World from MyModule.MyNestedModule.MySecondType" - static let _ = printfn $"{MySecondType.DoSomething}" - static member DoSomething = "My goodness I'm 'MySecondType'" + static let _ = printfn $"{MySecondType.SecondDoSomething}" + static member SecondDoSomething = "My goodness I'm 'MySecondType'" do printfn $"Do end MyNestedModule" From 87ba732be5ddee269683e83b16a4cf4a64bdb2ab Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Fri, 19 Jan 2024 11:28:02 -0800 Subject: [PATCH 06/58] temp --- src/Compiler/CodeGen/IlxGen.fs | 320 ++++++++++-------- .../ModuleInitialization.fs | 110 +++--- 2 files changed, 227 insertions(+), 203 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 1b9289fb6f3..3d439e1c529 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8109,13 +8109,26 @@ and GenLetRecFixup cenv cgbuf eenv (ilxCloSpec: IlxClosureSpec, e, ilField: ILFi GenExpr cenv cgbuf eenv e2 Continue CG.EmitInstr cgbuf (pop 2) Push0 (mkNormalStfld (mkILFieldSpec (ilField.FieldRef, ilxCloSpec.ILType))) +(* /// Generate letrec bindings -and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) (dict: Dictionary option) = +and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) (_dict: Dictionary option) = // 'let rec' bindings are always considered to be in loops, that is each may have backward branches for the // tailcalls back to the entry point. This means we don't rely on zero-init of mutable locals let eenv = SetIsInLoop true eenv + // Fix up recursion for non-toplevel recursive bindings + let bindsPossiblyRequiringFixup = + allBinds + |> List.filter (fun b -> + match (StorageForVal m b.Var eenv) with + | StaticProperty _ + | Method _ + // Note: Recursive data stored in static fields may require fixups e.g. let x = C(x) + // | StaticPropertyWithField _ + | Null -> false + | _ -> true) + let computeFixupsForOneRecursiveVar boundv forwardReferenceSet (fixups: _ ref) thisVars access set e = match e with | Expr.Lambda _ @@ -8170,6 +8183,61 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( let fixups = ref [] + let recursiveVars = + Zset.addList (bindsPossiblyRequiringFixup |> List.map (fun v -> v.Var)) (Zset.empty valOrder) + + let _ = + (recursiveVars, bindsPossiblyRequiringFixup) + ||> List.fold (fun forwardReferenceSet (bind: Binding) -> + // Compute fixups + bind.Expr + |> IterateRecursiveFixups + cenv.g + (Some bind.Var) + (computeFixupsForOneRecursiveVar bind.Var forwardReferenceSet fixups) + (exprForVal m bind.Var, + (fun _ -> + failwith ( + "internal error: should never need to set non-delayed recursive val: " + + bind.Var.LogicalName + ))) + // Record the variable as defined + let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet + forwardReferenceSet) + + // Generate the actual bindings + let _ = + (recursiveVars, allBinds) + ||> List.fold (fun forwardReferenceSet (bind: Binding) -> + GenBinding cenv cgbuf eenv bind false + + // Record the variable as defined + let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet + + // Execute and discard any fixups that can now be committed + let newFixups = + fixups.Value + |> List.filter (fun (boundv, fv, action) -> + if (Zset.contains boundv forwardReferenceSet || Zset.contains fv forwardReferenceSet) then + true + else + action () + false) + + fixups.Value <- newFixups + + forwardReferenceSet) + + () +*) + +/// Generate letrec bindings +and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) (_dict: Dictionary option) = + + // 'let rec' bindings are always considered to be in loops, that is each may have backward branches for the + // tailcalls back to the entry point. This means we don't rely on zero-init of mutable locals + let eenv = SetIsInLoop true eenv + // Fix up recursion for non-toplevel recursive bindings let bindsPossiblyRequiringFixup = allBinds @@ -8182,6 +8250,60 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( | Null -> false | _ -> true) + let computeFixupsForOneRecursiveVar boundv forwardReferenceSet (fixups: _ ref) thisVars access set e = + match e with + | Expr.Lambda _ + | Expr.TyLambda _ + | Expr.Obj _ -> + let isLocalTypeFunc = + Option.isSome thisVars + && (IsNamedLocalTypeFuncVal cenv.g (Option.get thisVars) e) + + let thisVars = + (match e with + | Expr.Obj _ -> [] + | _ when isLocalTypeFunc -> [] + | _ -> Option.map mkLocalValRef thisVars |> Option.toList) + + let canUseStaticField = + (match e with + | Expr.Obj _ -> false + | _ -> true) + + let clo, _, eenvclo = + GetIlxClosureInfo + cenv + m + ILBoxity.AsObject + isLocalTypeFunc + canUseStaticField + thisVars + { eenv with + letBoundVars = (mkLocalValRef boundv) :: eenv.letBoundVars + } + e + + for fv in clo.cloFreeVars do + if Zset.contains fv forwardReferenceSet then + match StorageForVal m fv eenvclo with + | Env(_, ilField, _) -> + let fixup = + (boundv, fv, (fun () -> GenLetRecFixup cenv cgbuf eenv (clo.cloSpec, access, ilField, exprForVal m fv, m))) + + fixups.Value <- fixup :: fixups.Value + | _ -> error (InternalError("GenLetRec: " + fv.LogicalName + " was not in the environment", m)) + + | Expr.Val(vref, _, _) -> + let fv = vref.Deref + let needsFixup = Zset.contains fv forwardReferenceSet + + if needsFixup then + let fixup = (boundv, fv, (fun () -> GenExpr cenv cgbuf eenv (set e) discard)) + fixups.Value <- fixup :: fixups.Value + | _ -> failwith "compute real fixup vars" + + let fixups = ref [] + let recursiveVars = Zset.addList (bindsPossiblyRequiringFixup |> List.map (fun v -> v.Var)) (Zset.empty valOrder) @@ -8205,7 +8327,7 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( forwardReferenceSet) // Generate the actual bindings - let bindGroups = + let _bindGroups = let dict = Dictionary() allBinds |> List.groupBy(fun bind -> @@ -8216,56 +8338,57 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( |> Seq.iter(fun (stamp, bindings) -> dict.Add(stamp, bindings)) dict - let skipBinding = HashSet() + let _skipBinding = HashSet() let _ = (recursiveVars, allBinds) ||> List.fold (fun forwardReferenceSet (bind: Binding) -> - let (TBind(v, _, _)) = bind - let nested, skip, stamp = - match dict, v.HasDeclaringEntity with - | None, _ | _, false -> None, false, 0L - | Some dict, true -> - let stamp = v.DeclaringEntity.Deref.Stamp - match dict.TryGetValue(stamp), skipBinding.Contains(stamp) with - | (false, _), _ -> None, false, stamp - | (_, _), true -> None, true, stamp - | (true, tref), _ -> - let added = skipBinding.Add(stamp) - Some tref, not added, stamp - - match nested, skip with - | None, _ -> GenBinding cenv cgbuf eenv bind false - | Some _, true -> () - | Some tref, false -> - let eenv = - { eenv with - cloc = - { eenv.cloc with - Enclosing = tref.Enclosing @ [ tref.Name ] - Namespace = None - } - } + let (TBind(_v, _, _)) = bind + //let nested, skip, stamp = + // match dict, v.HasDeclaringEntity with + // | None, _ | _, false -> None, false, 0L + // | Some dict, true -> + // let stamp = v.DeclaringEntity.Deref.Stamp + // match dict.TryGetValue(stamp), skipBinding.Contains(stamp) with + // | (false, _), _ -> None, false, stamp + // | (_, _), true -> None, true, stamp + // | (true, tref), _ -> + // let added = skipBinding.Add(stamp) + // Some tref, not added, stamp + + //match nested, skip with + //| None, _ -> GenBinding cenv cgbuf eenv bind false + //| Some _, true -> () + //| Some tref, false -> + // let eenv = + // { eenv with + // cloc = + // { eenv.cloc with + // Enclosing = tref.Enclosing @ [ tref.Name ] + // Namespace = None + // } + // } + + // match bindGroups.TryGetValue(stamp) with + // | true, binds -> + // CodeGenInitMethod + // cenv + // cgbuf + // eenv + // tref + // (fun cgbuf eenv -> + // // Generate chunks of non-nested bindings together to allow recursive fixups. + // GenLetRecBindings cenv cgbuf eenv (binds, m) dict + // CG.EmitInstr cgbuf (pop 0) Push0 I_ret + // ) + // m + // | _ -> () + GenBinding cenv cgbuf eenv bind false - match bindGroups.TryGetValue(stamp) with - | true, binds -> - CodeGenInitMethod - cenv - cgbuf - eenv - tref - (fun cgbuf eenv -> - // Generate chunks of non-nested bindings together to allow recursive fixups. - GenLetRecBindings cenv cgbuf eenv (binds, m) dict - CG.EmitInstr cgbuf (pop 0) Push0 I_ret //) - ) - m - | _ -> () + // Record the variable as defined + let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet - let forwardReferenceSet = - // Record the variable as defined - Zset.remove bind.Var forwardReferenceSet + // Execute and discard any fixups that can now be committed let newFixups = - // Execute and discard any fixups that can now be committed fixups.Value |> List.filter (fun (boundv, fv, action) -> if (Zset.contains boundv forwardReferenceSet || Zset.contains fv forwardReferenceSet) then @@ -8273,111 +8396,12 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( else action () false) - fixups.Value <- newFixups - forwardReferenceSet) - () - -(*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - -and GenModuleOrNamespaceContents cenv (cgbuf: CodeGenBuffer) qname lazyInitInfo eenv x = - match x with - | TMDefRec(_isRec, opens, tycons, mbinds, m) -> - - let eenv = AddDebugImportsToEnv cenv eenv opens - - let mutable bindsRemaining = mbinds - - let dict = Dictionary() - - for tc in tycons do - let optTref = - if tc.IsFSharpException then - GenExnDef cenv cgbuf.mgbuf eenv m tc - else - GenTypeDef cenv cgbuf.mgbuf lazyInitInfo eenv m tc - - match optTref with - | Some tref -> dict.Add(tc.Stamp, tref) - | None -> () - - while not bindsRemaining.IsEmpty do - - match bindsRemaining with - | ModuleOrNamespaceBinding.Binding _bind :: _rest -> - let mutable parent: Stamp option = None - let mutable take = true - - let theseBinds, rest = - bindsRemaining - |> List.partition (function - | ModuleOrNamespaceBinding.Binding _ when (not eenv.realInternalSignature) && take -> true - | ModuleOrNamespaceBinding.Binding bind when eenv.realInternalSignature && take -> - let (TBind(v, _, _)) = bind - - match v.HasDeclaringEntity with - | true -> - let declaring = v.DeclaringEntity.Deref.Stamp - - match parent with - | Some p -> - take <- p = declaring - p = declaring - | None -> - parent <- Some declaring - true - | false -> - take <- true - true - | _ -> - take <- false - false) - - let recBinds = - theseBinds - |> List.map (function - | ModuleOrNamespaceBinding.Binding bind -> bind - | _ -> failwith "GenModuleOrNamespaceContents - unexpected") - - match parent with - | Some p -> - match dict.TryGetValue(p) with - | true, tref -> - let eenv = - { eenv with - cloc = - { eenv.cloc with - Enclosing = tref.Enclosing @ [ tref.Name ] - Namespace = None - } - } - - CodeGenInitMethod - cenv - cgbuf - eenv - tref - (fun cgbuf eenv -> - // Generate chunks of non-nested bindings together to allow recursive fixups. - GenLetRecBindings cenv cgbuf eenv (recBinds, m) - CG.EmitInstr cgbuf (pop 0) Push0 I_ret //) - ) - m - | _ -> GenLetRecBindings cenv cgbuf eenv (recBinds, m) - | _ -> GenLetRecBindings cenv cgbuf eenv (recBinds, m) - - bindsRemaining <- rest - - | (ModuleOrNamespaceBinding.Module _ as mbind) :: rest -> - GenModuleBinding cenv cgbuf qname lazyInitInfo eenv m mbind - bindsRemaining <- rest - - | [] -> failwith "unreachable" - - eenv + fixups.Value <- newFixups + forwardReferenceSet) -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*) + () and GenLetRec cenv cgbuf eenv (binds, body, m) sequel = let _, endMark as scopeMarks = StartLocalScope "letrec" cgbuf diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index 8a448a23500..cde5f8446c9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -471,6 +471,59 @@ module {{recursive}} MyModule = else compilation + [] // RealSig, release + [] // Regular, release + [] // RealSig, debug + [] // Regular, debug + [] + let ``recursive types in module`` (realSig, release) = + FSharp $$""" +module rec MyModule = + type Node = { Next: Node; Value: int } + + let one = { Next = two; Value = 1 } + + // An intervening type declaration + type M() = static member X() = one + + let two = { Next = one; Value = 2 } + + let test t s1 s2 = + if s1 <> s2 then + stdout.WriteLine ($"test:{t} '{s1}' '{s2}' failed") + else + stdout.WriteLine ($"test:{t} '{s1}' '{s2}' succeeded") + + [] + let main args = + test "one.Value 1" one.Value 1 + test "one.Next.Value 2" one.Next.Value 2 + test "one.Next.Value 2" one.Next.Value 1 + test "(M.X()).Value 1" (M.X()).Value 1 + test "(M.X()).Next.Value 2" (M.X()).Next.Value 2 + test "(M.X()).Next.Next.Value 1" (M.X()).Next.Next.Value 1 + test "two.Value 2" two.Value 2 + test "two.Next.Value 1" two.Next.Value 1 + test "two.Next.Next.Value 2" two.Next.Next.Value 2 + 0 + """ + |> withFlavor release + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "test:one.Value 1 '1' '1' succeeded" + "test:one.Next.Value 2 '2' '2' succeeded" + "test:one.Next.Value 2 '2' '1' failed" + "test:(M.X()).Value 1 '1' '1' succeeded" + "test:(M.X()).Next.Value 2 '2' '2' succeeded" + "test:(M.X()).Next.Next.Value 1 '1' '1' succeeded" + "test:two.Value 2 '2' '2' succeeded" + "test:two.Next.Value 1 '1' '1' succeeded" + "test:two.Next.Next.Value 2 '2' '2' succeeded" + ] + // [] // RealSig, release // [] // Regular, release // [] // RealSig, debug @@ -488,24 +541,7 @@ module {{recursive}} MyModule = // let two = { Next = one; Value = 2 } -// let test t s1 s2 = -// if s1 <> s2 then -// stdout.WriteLine ($"test:{t} '{s1}' '{s2}' failed") -// else -// stdout.WriteLine ($"test:{t} '{s1}' '{s2}' succeeded") - -// [] -// let main args = -// //test "one.Value 1" one.Value 1 -// test "one.Next.Value 2" one.Next.Value 2 -// //test "one.Next.Value 2" one.Next.Value 1 -// //test "(M.X()).Value 1" (M.X()).Value 1 -// //test "(M.X()).Next.Value 2" (M.X()).Next.Value 2 -// //test "(M.X()).Next.Next.Value 1" (M.X()).Next.Next.Value 1 -// //test "two.Value 2" two.Value 2 -// //test "two.Next.Value 1" two.Next.Value 1 -// //test "two.Next.Next.Value 2" two.Next.Next.Value 2 -// 0 +// printfn $"test:one.Next.Value 2: '{one.Next.Value}' '{2}'" // """ // |> withFlavor release // |> withLangVersionPreview @@ -513,8 +549,7 @@ module {{recursive}} MyModule = // |> compileExeAndRun // |> shouldSucceed // |> withStdOutContainsAllInOrder [ -// "test:one.Value 1 '1' '1' succeeded" -// //"test:one.Next.Value 2 '2' '2' succeeded" +// "test:one.Next.Value 2: '2' '2'" // //"test:one.Next.Value 2 '2' '1' failed" // //"test:(M.X()).Value 1 '1' '1' succeeded" // //"test:(M.X()).Next.Value 2 '2' '2' succeeded" @@ -524,41 +559,6 @@ module {{recursive}} MyModule = // //"test:two.Next.Next.Value 2 '2' '2' succeeded" // ] - [] // RealSig, release - [] // Regular, release - [] // RealSig, debug - [] // Regular, debug - [] - let ``recursive types in module`` (realSig, release) = - FSharp $$""" -module rec MyModule = - type Node = { Next: Node; Value: int } - - let one = { Next = two; Value = 1 } - - // An intervening type declaration - type M() = static member X() = one - - let two = { Next = one; Value = 2 } - - printfn $"test:one.Next.Value 2: '{one.Next.Value}' '{2}'" - """ - |> withFlavor release - |> withLangVersionPreview - |> withRealInternalSignature realSig - |> compileExeAndRun - |> shouldSucceed - |> withStdOutContainsAllInOrder [ - "test:one.Next.Value 2: '2' '2'" - //"test:one.Next.Value 2 '2' '1' failed" - //"test:(M.X()).Value 1 '1' '1' succeeded" - //"test:(M.X()).Next.Value 2 '2' '2' succeeded" - //"test:(M.X()).Next.Next.Value 1 '1' '1' succeeded" - //"test:two.Value 2 '2' '2' succeeded" - //"test:two.Next.Value 1 '1' '1' succeeded" - //"test:two.Next.Next.Value 2 '2' '2' succeeded" - ] - [] // RealSig [] // Regular [] From 9de6e3b9e90fb03206e605b2e0b97814f44621fb Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 19 Jan 2024 18:28:15 -0800 Subject: [PATCH 07/58] temp --- Directory.Build.props | 2 +- src/Compiler/CodeGen/IlxGen.fs | 288 +++++++++++++++++++++++++++------ 2 files changed, 236 insertions(+), 54 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 943a84a53bd..e1a170f2bfd 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,7 +4,7 @@ $(FSharpLangVersion) $(MSBuildThisFileDirectory) true - $(OtherFlags) --realInternalSignature+ + $(OtherFlags) --realInternalSignature- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/fsharp/optimize/stats/ILLink.Substitutions.xml b/tests/fsharp/optimize/stats/ILLink.Substitutions.xml new file mode 100644 index 00000000000..42d44a0b4c4 --- /dev/null +++ b/tests/fsharp/optimize/stats/ILLink.Substitutions.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/fsharp/test.fs b/tests/fsharp/test.fs new file mode 100644 index 00000000000..b63c8829282 --- /dev/null +++ b/tests/fsharp/test.fs @@ -0,0 +1,13 @@ + +module Test + +type Input<'T>(_v: 'T) = + static member op_Implicit(value: 'T): Input<'T> = Input<'T>(value) + +type OtherArgs() = + member val Name: string = Unchecked.defaultof<_> with get,set +type SomeArgs() = + member val OtherArgs: Input = Unchecked.defaultof<_> with get, set + +let test() = + SomeArgs(OtherArgs = OtherArgs(Name = "test")) diff --git a/tests/fsharp/test.fsi b/tests/fsharp/test.fsi new file mode 100644 index 00000000000..f9b617238a5 --- /dev/null +++ b/tests/fsharp/test.fsi @@ -0,0 +1,14 @@ + +namespace Microsoft.FSharp.Core + open System + [] + [] + type NoDynamicInvocationAttribute = + inherit Attribute + new: unit -> NoDynamicInvocationAttribute + internal new: isLegacy: bool -> NoDynamicInvocationAttribute + + module Operators = + [] + val inline id: value: 'T -> 'T + \ No newline at end of file diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index e10b348da49..59e2db4e95f 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -784,6 +784,7 @@ module CoreTests = #endif +#if !NETCOREAPP [] let parsing () = let cfg = testConfig "core/parsing" From bb77b083717c7736e18768f258cc67a09ecfe49e Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Sun, 21 Jan 2024 01:41:50 -0800 Subject: [PATCH 14/58] realsig build and test --- Directory.Build.props | 6 ++++- azure-pipelines.yml | 56 +++++++++++++++++++++++++++++++++++++++++++ eng/Build.ps1 | 9 ++++++- 3 files changed, 69 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index e1a170f2bfd..cc9fa5cf667 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,7 +4,11 @@ $(FSharpLangVersion) $(MSBuildThisFileDirectory) true - $(OtherFlags) --realInternalSignature- + + + + $(DefineConstants);REALINTERNALSIGNATURE + $(OtherFlags) --realInternalSignature+ From 298001207ecde171f85fbbd94525fb9d680c490e Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Mon, 22 Jan 2024 23:43:55 -0800 Subject: [PATCH 16/58] SerializableAttribute tests --- .../SerializableAttribute.fs | 45 ----------- .../SerializableAttribute.fs | 45 ----------- .../RealInternalSignatureOn/ToplevelModule.fs | 22 ------ .../ToplevelModule60.fs | 22 ------ .../ToplevelNamespace.fs | 29 ------- .../ToplevelNamespace60.fs | 29 ------- .../SerializableAttribute.fs | 77 +++++++++++++++++++ .../ToplevelModule.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../ToplevelModule60.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../ToplevelNamespace.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../ToplevelNamespace60.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../FSharp.Compiler.ComponentTests.fsproj | 3 +- 44 files changed, 78 insertions(+), 194 deletions(-) delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/SerializableAttribute.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff => }/ToplevelModule.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule.fs.il.net472.debug.bsl => ToplevelModule.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule.fs.il.net472.release.bsl => ToplevelModule.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule.fs.il.netcore.debug.bsl => ToplevelModule.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule.fs.il.netcore.release.bsl => ToplevelModule.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule.fs.il.net472.debug.bsl => ToplevelModule.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule.fs.il.net472.release.bsl => ToplevelModule.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule.fs.il.netcore.debug.bsl => ToplevelModule.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule.fs.il.netcore.release.bsl => ToplevelModule.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff => }/ToplevelModule60.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule60.fs.il.net472.debug.bsl => ToplevelModule60.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule60.fs.il.net472.release.bsl => ToplevelModule60.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.debug.bsl => ToplevelModule60.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.release.bsl => ToplevelModule60.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule60.fs.il.net472.debug.bsl => ToplevelModule60.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule60.fs.il.net472.release.bsl => ToplevelModule60.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.debug.bsl => ToplevelModule60.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.release.bsl => ToplevelModule60.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff => }/ToplevelNamespace.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.debug.bsl => ToplevelNamespace.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.release.bsl => ToplevelNamespace.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.debug.bsl => ToplevelNamespace.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.release.bsl => ToplevelNamespace.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.debug.bsl => ToplevelNamespace.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.release.bsl => ToplevelNamespace.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.debug.bsl => ToplevelNamespace.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.release.bsl => ToplevelNamespace.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff => }/ToplevelNamespace60.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.debug.bsl => ToplevelNamespace60.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.release.bsl => ToplevelNamespace60.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.debug.bsl => ToplevelNamespace60.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.release.bsl => ToplevelNamespace60.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.debug.bsl => ToplevelNamespace60.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.release.bsl => ToplevelNamespace60.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.debug.bsl => ToplevelNamespace60.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/{RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.release.bsl => ToplevelNamespace60.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs deleted file mode 100644 index 29a7a81a32c..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/SerializableAttribute.fs +++ /dev/null @@ -1,45 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module SerializableAttributeRealInternalSignatureOff = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> ignoreWarnings - |> withRealInternalSignatureOff - |> verifyILBaseline - - // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --out:TopLevelModule.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule.dll" # ToplevelModule.fs - Desktop - [] - let ``ToplevelModule_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --out:ToplevelNamespace.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace.dll" # ToplevelNamespace.fs - Desktop - [] - let ``ToplevelNamespace_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --langversion:6.0 --out:TopLevelModule-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule-preview.dll" # ToplevelModule.fs - Desktop preview - [] - let ``ToplevelModule_LangVersion60_fs`` compilation = - compilation - |> withLangVersion60 - |> verifyCompilation - - // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --langversion:6.0 --out:ToplevelNamespace-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace-preview.dll" # ToplevelNamespace.fs - Desktop preview - [] - let ``ToplevelNamespace_LangVersion60_fs`` compilation = - compilation - |> withLangVersion60 - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/SerializableAttribute.fs deleted file mode 100644 index c54132e677f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/SerializableAttribute.fs +++ /dev/null @@ -1,45 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module SerializableAttributeRealInternalSignatureOn = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> ignoreWarnings - |> withRealInternalSignatureOn - |> verifyILBaseline - - // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --out:TopLevelModule.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule.dll" # ToplevelModule.fs - Desktop - [] - let ``ToplevelModule_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --out:ToplevelNamespace.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace.dll" # ToplevelNamespace.fs - Desktop - [] - let ``ToplevelNamespace_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --langversion:6.0 --out:TopLevelModule-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule-preview.dll" # ToplevelModule.fs - Desktop preview - [] - let ``ToplevelModule_LangVersion60_fs`` compilation = - compilation - |> withLangVersion60 - |> verifyCompilation - - // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --langversion:6.0 --out:ToplevelNamespace-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace-preview.dll" # ToplevelNamespace.fs - Desktop preview - [] - let ``ToplevelNamespace_LangVersion60_fs`` compilation = - compilation - |> withLangVersion60 - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs deleted file mode 100644 index 2be0deda8ea..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs +++ /dev/null @@ -1,22 +0,0 @@ -// Regression test for DevDiv:327356 -// top-level module - -module ABC - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" - - module ABC = - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs deleted file mode 100644 index 2be0deda8ea..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs +++ /dev/null @@ -1,22 +0,0 @@ -// Regression test for DevDiv:327356 -// top-level module - -module ABC - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" - - module ABC = - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs deleted file mode 100644 index 17c641d2dbd..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs +++ /dev/null @@ -1,29 +0,0 @@ -// Regression test for DevDiv:327356 -// top-level namespace - -namespace XYZ - - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - module ABC = - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" - - module ABC = - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs deleted file mode 100644 index 17c641d2dbd..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs +++ /dev/null @@ -1,29 +0,0 @@ -// Regression test for DevDiv:327356 -// top-level namespace - -namespace XYZ - - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - module ABC = - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" - - module ABC = - (* type *) - type Expr = Num of int - exception MyExn of int - type A(x:string) = member __.X = x - - (* value *) - let add x y = x + y - let greeting = "hello" diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs new file mode 100644 index 00000000000..3a801ed3dce --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs @@ -0,0 +1,77 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module SerializableAttribute = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> verifyILBaseline + + // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --out:TopLevelModule.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule.dll" # ToplevelModule.fs - Desktop + [] + let ``ToplevelModule_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --out:TopLevelModule.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule.dll" # ToplevelModule.fs - Desktop + [] + let ``ToplevelModule_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --out:ToplevelNamespace.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace.dll" # ToplevelNamespace.fs - Desktop + [] + let ``ToplevelNamespace_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --out:ToplevelNamespace.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace.dll" # ToplevelNamespace.fs - Desktop + [] + let ``ToplevelNamespacec_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=ToplevelModule.fs SCFLAGS="-a -g --langversion:6.0 --out:TopLevelModule-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelModule-preview.dll" # ToplevelModule.fs - Desktop preview + [] + let ``ToplevelModule_LangVersion60_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> withLangVersion60 + |> verifyCompilation + + [] + let ``ToplevelModule_LangVersion60_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> withLangVersion60 + |> verifyCompilation + + // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --langversion:6.0 --out:ToplevelNamespace-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace-preview.dll" # ToplevelNamespace.fs - Desktop preview + [] + let ``ToplevelNamespace_LangVersion60_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> withLangVersion60 + |> verifyCompilation + + // SOURCE=ToplevelNamespace.fs SCFLAGS="-a -g --langversion:6.0 --out:ToplevelNamespace-preview.dll --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ToplevelNamespace-preview.dll" # ToplevelNamespace.fs - Desktop preview + [] + let ``ToplevelNamespace_LangVersion60_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> withLangVersion60 + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelModule60.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelModule60.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelModule60.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOff/ToplevelNamespace60.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/RealInternalSignatureOn/ToplevelNamespace60.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/ToplevelNamespace60.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 2ca6af6e899..96208d10835 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -172,8 +172,7 @@ - - + From 4b18a7564874ececf7e5eeba662d8fe131e00afd Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Tue, 23 Jan 2024 01:33:50 -0800 Subject: [PATCH 17/58] SeqExpressionStepping --- .../Linq101Aggregates01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101ElementOperators01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101Grouping01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101Joins01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101Ordering01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101Partitioning01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101Quantifiers01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101Select01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101SetOperators01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../Linq101Where01.fs | 0 ...lInternalSignatureOff.il.net472.debug.bsl} | 0 ...nternalSignatureOff.il.net472.release.bsl} | 0 ...InternalSignatureOff.il.netcore.debug.bsl} | 0 ...ternalSignatureOff.il.netcore.release.bsl} | 0 ...alInternalSignatureOn.il.net472.debug.bsl} | 0 ...InternalSignatureOn.il.net472.release.bsl} | 0 ...lInternalSignatureOn.il.netcore.debug.bsl} | 0 ...nternalSignatureOn.il.netcore.release.bsl} | 0 .../QueryExpressionStepping.fs | 161 ++++ .../QueryExpressionStepping.fs | 85 -- .../Linq101Aggregates01.fs | 117 --- .../Linq101ElementOperators01.fs | 55 -- .../Linq101Grouping01.fs | 58 -- .../RealInternalSignatureOn/Linq101Joins01.fs | 43 - .../Linq101Ordering01.fs | 64 -- .../Linq101Partitioning01.fs | 54 -- .../Linq101Quantifiers01.fs | 43 - .../Linq101Select01.fs | 116 --- .../Linq101SetOperators01.fs | 40 - .../RealInternalSignatureOn/Linq101Where01.fs | 55 -- .../QueryExpressionStepping.fs | 85 -- .../RealInternalSignatureOn/Utils.fs | 227 ----- .../{RealInternalSignatureOff => }/Utils.fs | 0 .../SeqExpressionStepping.fs | 61 -- .../SeqExpressionSteppingTest01.fs.il.bsl | 231 ----- .../SeqExpressionSteppingTest02.fs.il.bsl | 259 ------ .../SeqExpressionSteppingTest03.fs.il.bsl | 267 ------ .../SeqExpressionSteppingTest04.fs.il.bsl | 310 ------- .../SeqExpressionSteppingTest05.fs.il.bsl | 417 --------- .../SeqExpressionSteppingTest06.fs.il.bsl | 484 ----------- ...ssionSteppingTest07.fs.il.net472.debug.bsl | 815 ----------------- ...ionSteppingTest07.fs.il.net472.release.bsl | 815 ----------------- ...sionSteppingTest07.fs.il.netcore.debug.bsl | 816 ------------------ ...onSteppingTest07.fs.il.netcore.release.bsl | 816 ------------------ .../SeqExpressionStepping.fs | 61 -- .../SeqExpressionSteppingTest01.fs | 8 - .../SeqExpressionSteppingTest02.fs | 10 - .../SeqExpressionSteppingTest03.fs | 13 - .../SeqExpressionSteppingTest04.fs | 15 - .../SeqExpressionSteppingTest05.fs | 18 - .../SeqExpressionSteppingTest06.fs | 15 - .../SeqExpressionSteppingTest07.fs | 75 -- .../SeqExpressionStepping.fs | 117 +++ .../SeqExpressionSteppingTest01.fs | 0 .../SeqExpressionSteppingTest01.fs.il.bsl | 0 .../SeqExpressionSteppingTest02.fs | 0 .../SeqExpressionSteppingTest02.fs.il.bsl | 0 .../SeqExpressionSteppingTest03.fs | 0 .../SeqExpressionSteppingTest03.fs.il.bsl | 0 .../SeqExpressionSteppingTest04.fs | 0 .../SeqExpressionSteppingTest04.fs.il.bsl | 0 .../SeqExpressionSteppingTest05.fs | 0 .../SeqExpressionSteppingTest05.fs.il.bsl | 0 .../SeqExpressionSteppingTest06.fs | 0 .../SeqExpressionSteppingTest06.fs.il.bsl | 0 .../SeqExpressionSteppingTest07.fs | 0 ...ssionSteppingTest07.fs.il.net472.debug.bsl | 0 ...ionSteppingTest07.fs.il.net472.release.bsl | 0 ...sionSteppingTest07.fs.il.netcore.debug.bsl | 0 ...onSteppingTest07.fs.il.netcore.release.bsl | 0 .../FSharp.Compiler.ComponentTests.fsproj | 6 +- 143 files changed, 280 insertions(+), 6552 deletions(-) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Aggregates01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.debug.bsl => Linq101Aggregates01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.release.bsl => Linq101Aggregates01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.debug.bsl => Linq101Aggregates01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.release.bsl => Linq101Aggregates01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.debug.bsl => Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.release.bsl => Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.debug.bsl => Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.release.bsl => Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101ElementOperators01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.debug.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.release.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.debug.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.release.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.debug.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.release.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.debug.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.release.bsl => Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Grouping01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.debug.bsl => Linq101Grouping01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.release.bsl => Linq101Grouping01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.debug.bsl => Linq101Grouping01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.release.bsl => Linq101Grouping01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.debug.bsl => Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.release.bsl => Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.debug.bsl => Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.release.bsl => Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Joins01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Joins01.fs.il.net472.debug.bsl => Linq101Joins01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Joins01.fs.il.net472.release.bsl => Linq101Joins01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.debug.bsl => Linq101Joins01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.release.bsl => Linq101Joins01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Joins01.fs.il.net472.debug.bsl => Linq101Joins01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Joins01.fs.il.net472.release.bsl => Linq101Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.debug.bsl => Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.release.bsl => Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Ordering01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.debug.bsl => Linq101Ordering01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.release.bsl => Linq101Ordering01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.debug.bsl => Linq101Ordering01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.release.bsl => Linq101Ordering01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.debug.bsl => Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.release.bsl => Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.debug.bsl => Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.release.bsl => Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Partitioning01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.debug.bsl => Linq101Partitioning01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.release.bsl => Linq101Partitioning01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.debug.bsl => Linq101Partitioning01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.release.bsl => Linq101Partitioning01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.debug.bsl => Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.release.bsl => Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.debug.bsl => Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.release.bsl => Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Quantifiers01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.debug.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.release.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.debug.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.release.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.debug.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.release.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.debug.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.release.bsl => Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Select01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Select01.fs.il.net472.debug.bsl => Linq101Select01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Select01.fs.il.net472.release.bsl => Linq101Select01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Select01.fs.il.netcore.debug.bsl => Linq101Select01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Select01.fs.il.netcore.release.bsl => Linq101Select01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Select01.fs.il.net472.debug.bsl => Linq101Select01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Select01.fs.il.net472.release.bsl => Linq101Select01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Select01.fs.il.netcore.debug.bsl => Linq101Select01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Select01.fs.il.netcore.release.bsl => Linq101Select01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101SetOperators01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.debug.bsl => Linq101SetOperators01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.release.bsl => Linq101SetOperators01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.debug.bsl => Linq101SetOperators01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.release.bsl => Linq101SetOperators01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.debug.bsl => Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.release.bsl => Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.debug.bsl => Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.release.bsl => Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Linq101Where01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Where01.fs.il.net472.debug.bsl => Linq101Where01.fs.RealInternalSignatureOff.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Where01.fs.il.net472.release.bsl => Linq101Where01.fs.RealInternalSignatureOff.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Where01.fs.il.netcore.debug.bsl => Linq101Where01.fs.RealInternalSignatureOff.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff/Linq101Where01.fs.il.netcore.release.bsl => Linq101Where01.fs.RealInternalSignatureOff.il.netcore.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Where01.fs.il.net472.debug.bsl => Linq101Where01.fs.RealInternalSignatureOn.il.net472.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Where01.fs.il.net472.release.bsl => Linq101Where01.fs.RealInternalSignatureOn.il.net472.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Where01.fs.il.netcore.debug.bsl => Linq101Where01.fs.RealInternalSignatureOn.il.netcore.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOn/Linq101Where01.fs.il.netcore.release.bsl => Linq101Where01.fs.RealInternalSignatureOn.il.netcore.release.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/QueryExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/{RealInternalSignatureOff => }/Utils.fs (100%) delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOff => }/SeqExpressionSteppingTest01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest01.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOff => }/SeqExpressionSteppingTest02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOff => }/SeqExpressionSteppingTest03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest03.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOff => }/SeqExpressionSteppingTest04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest04.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOff => }/SeqExpressionSteppingTest05.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest05.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOff => }/SeqExpressionSteppingTest06.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest06.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOff => }/SeqExpressionSteppingTest07.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest07.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/{RealInternalSignatureOn => }/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl (100%) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Aggregates01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101ElementOperators01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Grouping01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Joins01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Ordering01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Partitioning01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Quantifiers01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Select01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101SetOperators01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Linq101Where01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOff.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs new file mode 100644 index 00000000000..ff590c10dae --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs @@ -0,0 +1,161 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module QueryExpressionStepping = + + // SOURCE=Utils.fs SCFLAGS="-a -r:System.Xml.Linq" # Utils.fs + let utilsLibrary = + FsFromPath (Path.Combine(__SOURCE_DIRECTORY__, "Utils.fs")) + |> withName "Utils" + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withReferences [utilsLibrary] + |> ignoreWarnings + |> verifyILBaseline + + // SOURCE=Linq101Aggregates01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Aggregates01.exe" # Linq101Aggregates01.fs - CodeGen + [] + let ``Linq101Aggregates01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``Linq101Aggregates01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101ElementOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101ElementOperators01.exe" # Linq101ElementOperators01.fs - CodeGen + [] + let ``Linq101ElementOperators01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + // SOURCE=Linq101ElementOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101ElementOperators01.exe" # Linq101ElementOperators01.fs - CodeGen + [] + let ``Linq101ElementOperators01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101Grouping01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Grouping01.exe" # Linq101Grouping01.fs - CodeGen + [] + let ``Linq101Grouping01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Linq101Grouping01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Grouping01.exe" # Linq101Grouping01.fs - CodeGen + [] + let ``Linq101Grouping01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101Joins01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Joins01.exe" # Linq101Joins01.fs - CodeGen + [] + let ``Linq101Joins01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Linq101Joins01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Joins01.exe" # Linq101Joins01.fs - CodeGen + [] + let ``Linq101Joins01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101Ordering01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Ordering01.exe" # Linq101Ordering01.fs - CodeGen + [] + let ``Linq101Ordering01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Linq101Ordering01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Ordering01.exe" # Linq101Ordering01.fs - CodeGen + [] + let ``Linq101Ordering01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101Partitioning01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Partitioning01.exe" # Linq101Partitioning01.fs - CodeGen + [] + let ``Linq101Partitioning01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Linq101Partitioning01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Partitioning01.exe" # Linq101Partitioning01.fs - CodeGen + [] + let ``Linq101Partitioning01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101Quantifiers01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Quantifiers01.exe" # Linq101Quantifiers01.fs - CodeGen + [] + let ``Linq101Quantifiers01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``Linq101Quantifiers01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101Select01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Select01.exe" # Linq101Select01.fs - CodeGen + [] + let ``Linq101Select01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Linq101Select01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Select01.exe" # Linq101Select01.fs - CodeGen + [] + let ``Linq101Select01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101SetOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101SetOperators01.exe" # Linq101SetOperators01.fs - CodeGen + [] + let ``Linq101SetOperators01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Linq101SetOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101SetOperators01.exe" # Linq101SetOperators01.fs - CodeGen + [] + let ``Linq101SetOperators01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=Linq101Where01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Where01.exe" # Linq101Where01.fs - CodeGen + [] + let ``Linq101Where01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=Linq101Where01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Where01.exe" # Linq101Where01.fs - CodeGen + [] + let ``Linq101Where01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs deleted file mode 100644 index 11eb54f587a..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/QueryExpressionStepping.fs +++ /dev/null @@ -1,85 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module QueryExpressionSteppingRealSignatureOff = - - // SOURCE=Utils.fs SCFLAGS="-a -r:System.Xml.Linq" # Utils.fs - let utilsLibrary = - FsFromPath (Path.Combine(__SOURCE_DIRECTORY__, "Utils.fs")) - |> withName "Utils" - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withReferences [utilsLibrary] - |> withRealInternalSignatureOff - |> ignoreWarnings - |> verifyILBaseline - - // SOURCE=Linq101Aggregates01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Aggregates01.exe" # Linq101Aggregates01.fs - CodeGen - [] - let ``Linq101Aggregates01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101ElementOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101ElementOperators01.exe" # Linq101ElementOperators01.fs - CodeGen - [] - let ``Linq101ElementOperators01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Grouping01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Grouping01.exe" # Linq101Grouping01.fs - CodeGen - [] - let ``Linq101Grouping01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Joins01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Joins01.exe" # Linq101Joins01.fs - CodeGen - [] - let ``Linq101Joins01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Ordering01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Ordering01.exe" # Linq101Ordering01.fs - CodeGen - [] - let ``Linq101Ordering01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Partitioning01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Partitioning01.exe" # Linq101Partitioning01.fs - CodeGen - [] - let ``Linq101Partitioning01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Quantifiers01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Quantifiers01.exe" # Linq101Quantifiers01.fs - CodeGen - [] - let ``Linq101Quantifiers01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Select01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Select01.exe" # Linq101Select01.fs - CodeGen - [] - let ``Linq101Select01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101SetOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101SetOperators01.exe" # Linq101SetOperators01.fs - CodeGen - [] - let ``Linq101SetOperators01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Where01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Where01.exe" # Linq101Where01.fs - CodeGen - [] - let ``Linq101Where01_fs`` compilation = - compilation - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs deleted file mode 100644 index c38af9943e1..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Aggregates01.fs +++ /dev/null @@ -1,117 +0,0 @@ -// #Conformance #DataExpressions #Query -// GroupBy LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -// Count - Simple -let factorsOf300 = [2;2;3;5;5] - -let uniqueFactors = - query { - for n in factorsOf300 do - distinct - } |> Seq.length - -// Sum - Simple -let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] - -let numSum = - query { - for n in numbers do - sumBy n - } - -// Sum - Projection -let words = ["cherry"; "apple"; "blueberry"] - -let totalChars = - query { - for w in words do - sumBy (w.Length) - } - -// Sum - Grouped -let products = getProductList() - -let categories = - query { - for p in products do - groupValBy p p.Category into g - let sum = query { - for x in g do - sumBy x.UnitsInStock - } - select (g.Key, sum) - } |> Seq.toArray - -// Min - simple -let minNum = query { for n in numbers do minBy n } - -// Min - Projection -let shortestWord = query { for w in words do minBy w.Length } - -// Min - Grouped -let categories2 = - query { - for p in products do - groupValBy p p.Category into g - let min = query { for x in g do minBy x.UnitPrice } - select (g.Key, min) - } |> Seq.toArray - -// Min - Elements -let categories3 = - query { - for p in products do - groupValBy p p.Category into g - let min = g.Min(fun (p : Product) -> p.UnitPrice) - let cheapestProducts = query { for x in g do where (x.UnitPrice = min) } - select (g.Key, cheapestProducts) - } |> Seq.toArray - -// Max - Simple -let maxNum = query { for n in numbers do maxBy n } - -// Max - Projection -let longestLength = query { for w in words do maxBy w.Length } - -// Max - Grouped -let categories4 = - query { - for p in products do - groupValBy p p.Category into g - let mostExpensivePrice = query { for x in g do maxBy x.UnitPrice } - select (g.Key, mostExpensivePrice) - } |> Seq.toArray - -// Max - Elements -let categories5 = - query { - for p in products do - groupValBy p p.Category into g - let maxPrice = query { for x in g do maxBy x.UnitPrice } - let mostExpensiveProducts = query { for x in g do where (x.UnitPrice = maxPrice) } - select (g.Key, mostExpensiveProducts) - } |> Seq.toArray - -// Average - Simple -let numbers2 = [5.1; 4.1; 1.1; 3.1; 9.1; 8.1; 6.1; 7.1; 2.1; 0.1] -let averageNum = query { for n in numbers2 do averageBy n } - -// Average - Projection -let averageLength = - query { - for w in words do - let wl = w.Length |> float - averageBy wl - } - -// Average - Grouped -let categories6 = - query { - for p in products do - groupValBy p p.Category into g - let averagePrice = query { for x in g do averageBy x.UnitPrice } - select (g.Key, averagePrice) - } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs deleted file mode 100644 index ba19e6c722f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101ElementOperators01.fs +++ /dev/null @@ -1,55 +0,0 @@ -// #Conformance #DataExpressions #Query -// GroupBy LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -// First - simple -let products = getProductList() - -let products12 = - query { - for p in products do - where (p.ProductID = 12) - head - } - -// First - Condition -let strings = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] - -let startsWithO = - query { - for s in strings do - where (s.[0] = 'o') - head - } - -// FirstOrDefault - Simple -let numbers : int list = [] -let firstNumOrDefault = - query { - for n in numbers do - headOrDefault - } - -// FirstOrDefault - Condition -// TODO: DevDiv: 184318 -//let products = getProductList() -// -//let product789 = -// query{ -// for p in products do -// where (p.ProductID = 789) -// headOrDefault -// } -//if product789 <> null then printfn "product789 failed"; exit 1 - -// ElementAt -let numbers2 = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] - -let fourthLowNum = - query { - for n in numbers2 do - where (n > 5) - nth 1 - } \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs deleted file mode 100644 index 5391f1b5b1d..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Grouping01.fs +++ /dev/null @@ -1,58 +0,0 @@ -// #Conformance #DataExpressions #Query -// GroupBy LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -let digits = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] - -// GroupBy - Simple 1 -let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] - -let numberGroups = - query { - for n in numbers do - groupValBy n (n % 5) into g - select (g.Key, g.ToArray()) - } |> Seq.toArray - -// GroupBy - Simple 2 -let words = ["blueberry"; "chimpanzee"; "abacus"; "banana"; "apple"; "cheese" ] - -let wordGroups = - query { - for w in words do - groupValBy w (w.[0]) into g - select (g.Key, g.ToArray()) - } |> Seq.toArray - -// GroupBy - Simple 3 -let products = getProductList() - -let orderGroups = - query { - for p in products do - groupValBy p p.Category into g - select (g.Key, g.ToArray()) - } |> Seq.toArray - -// GroupBy - Nested -let customers = getCustomerList() - -let customerOrderGroups = - query { - for c in customers do - let yearGroups = - query { - for o in c.Orders do - groupValBy o (o.OrderDate.Year) into yg - let monthGroups = - query { - for o in yg do - groupValBy o (o.OrderDate.Month) into mg - select (mg.Key, mg.ToArray()) - } - select (yg.Key, monthGroups.ToArray()) - } - select (c.CompanyName, yearGroups.ToArray()) - } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs deleted file mode 100644 index 697f1ca7ad1..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Joins01.fs +++ /dev/null @@ -1,43 +0,0 @@ -// #Conformance #DataExpressions #Query -// Join LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -// Cross Join -let categories = ["Beverages"; "Condiments"; "Vegetables"; "Dairy Products"; "Seafood"] -let products = getProductList() - -let q = - query { - for c in categories do - join p in products on (c = p.Category) - select (c, p.ProductName) - } |> Seq.toArray - -// Group Join -let q2 = - query { - for c in categories do - groupJoin p in products on (c = p.Category) into ps - select (c, ps) - } |> Seq.toArray - -// Cross Join with Group Join -let q3 = - query { - for c in categories do - groupJoin p in products on (c = p.Category) into ps - for p in ps do - select (c, p.ProductName) - } |> Seq.toArray - -// Left Outer Join -let q4 = - query { - for c in categories do - groupJoin p in products on (c = p.Category) into ps - for p in ps.DefaultIfEmpty() do - let t = if (box p = null) then "(No products)" else p.ProductName - select (c, t) - } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs deleted file mode 100644 index f8e78ed5080..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Ordering01.fs +++ /dev/null @@ -1,64 +0,0 @@ -// #Conformance #DataExpressions #Query -// Ordering LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -// OrderBy - Simple 1 -let words = ["cherry"; "apple"; "blueberry"] -let sortedWords = - query { - for w in words do - sortBy w - } |> Seq.toList - -// OrderBy - Simple 2 -let sortedWords2 = - query { - for w in words do - sortBy (w.Length) - } |> Seq.toList - -// OrderBy - Simple 3 -let products = getProductList() -let sortedProducts = - query { - for p in products do - sortBy p.ProductName - select p - } |> Seq.toArray - -// OrderByDescending - Simple 1 -// Dev11:179653 -//let doubles = [1.7M, 2.3M, 1.9M, 4.1M, 2.9M] -//let sortedDoubles = -// query { -// for d in doubles do -// sortByDescending d -// } |> Seq.toArray -//if sortedDoubles <> - -// OrderByDescending - Simple 2 -let sortedProducts2 = - query { - for p in products do - sortByDescending p.UnitsInStock - } |> Seq.toArray - -// ThenBy - Simple -let digits = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] -let sortedDigits = - query { - for d in digits do - sortBy d.Length - thenBy d - } |> Seq.toList - -// ThenByDescending - Simple -let sortedProducts3 = - query { - for p in products do - sortBy p.Category - thenByDescending p.UnitPrice - select p - } |> Seq.toArray \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs deleted file mode 100644 index 2c7185c5a74..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Partitioning01.fs +++ /dev/null @@ -1,54 +0,0 @@ -// #Conformance #DataExpressions #Query -// Partitioning LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] - -// Take - simple -let first3Numbers = - query { - for n in numbers do - take 3 - } |> Seq.toList - -// Take - nested -let customers = getCustomerList() -let WAOrders = - query { - for c in customers do - for o in c.Orders do - where (c.Region = "WA") - select (c.CustomerID, o.OrderID, o.OrderDate) - } |> Seq.toArray - -// Skip - simple -let allButFirst4Numbers = - query { - for n in numbers do - skip 4 - } |> Seq.toList - -// Skip - Nested -let WAOrders2 = - query { - for c in customers do - for o in c.Orders do - where (c.Region = "WA") - select (c.CustomerID, o.OrderID, o.OrderDate) - } |> Seq.skip 2 |> Seq.toList - -// TakeWhile - simple -let firstNumbersLessThan6 = - query { - for n in numbers do - takeWhile (n < 6) - } |> Seq.toList - -// SkipWhile - simple -let allButFirst3Numbers = - query { - for n in numbers do - skipWhile (n % 3 <> 0) - } |> Seq.toList \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs deleted file mode 100644 index 0c71cf21059..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Quantifiers01.fs +++ /dev/null @@ -1,43 +0,0 @@ -// #Conformance #DataExpressions #Query -// Quantifier LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -// Any - Simple -let words = ["believe"; "relief"; "receipt"; "field"] - -let iAfterE = - query { - for w in words do - exists (w.Contains("ei")) - } - -// Any - Grouped -let products = getProductList() - -let productGroups = - query { - for p in products do - groupValBy p p.Category into g - where (g.Any(fun x -> x.UnitsInStock = 0)) - select (g.Key, g) - } |> Seq.toArray - -// All - simple -let numbers = [1;11;3;19;41;65;19] - -let onlyOdd = - query { - for n in numbers do - all (n % 2 = 1) - } - -// All - Grouped -let productGroups2 = - query { - for p in products do - groupValBy p p.Category into g - where (g.All(fun x -> x.UnitsInStock > 0)) - select (g.Key, g) - } |> Seq.toArray diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs deleted file mode 100644 index 7222df2fb3a..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Select01.fs +++ /dev/null @@ -1,116 +0,0 @@ -// #Conformance #DataExpressions #Query -// Select LINQ101 samples converted to query -open System -open System.Collections.Generic -open System.Linq - -let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] - -// Select - Simple 1 -let numsPlusOne = - query { - for n in numbers do - select (n + 1) - } |> Seq.toList - -// Select - Simple 2 -let products = getProductList() - -let productNames = - query { - for p in products do - select (p.ProductName) - } - -// Select - Transformation -let strings = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] -let textNums = - query { - for n in numbers do - select (strings.[n]) - } |> Seq.toList - -// Select - Anonymous Types 1 -let words = ["aPPLE"; "BlUeBeRrY"; "cHeRry" ] - -let upperLowerWords = - query { - for w in words do - select (w.ToUpper(), w.ToLower()) - } |> Seq.toArray - -// Select - Anonymous Types 2 -let digitOddEvens = - query { - for n in numbers do - select (strings.[n], (n % 2) = 0) - } |> Seq.toList - -// Select - Anonymous Types 3 -let productInfos = - query { - for p in products do - select (p.ProductName, p.Category, p.UnitPrice) - } |> Seq.toArray - -// Select - Filtered -let digits = strings -let lowNums = - query { - for n in numbers do - where (n < 5) - select digits.[n] - } |> Seq.toList -if lowNums <> ["four"; "one"; "three"; "two"; "zero"] then printfn "lowNums failed"; exit 1 - -// SelectMany - Compound from 1 -let numbersA = [0; 2; 4; 5; 6; 8; 9] -let numbersB = [1; 3; 5; 7; 8] - -let pairs = - query { - for a in numbersA do - for b in numbersB do - where (a < b) - select (a,b) - } |> Seq.toArray - -// SelectMany - Compound from 2 -let customers = getCustomerList() -let orders = - query { - for c in customers do - for o in c.Orders do - where (o.Total < 500.00M) - select (c.CustomerID, o.OrderID, o.Total) - } |> Seq.toArray - -// SelectMany - compound from 3 -let orders2 = - query { - for c in customers do - for o in c.Orders do - where (o.OrderDate >= DateTime(1998, 1,1)) - select (c.CustomerID, o.OrderID, o.OrderDate) - } |> Seq.toArray - -// SelectMany - from Assignment -let orders3 = - query { - for c in customers do - for o in c.Orders do - where (o.Total >= 2000.0M) - select (c.CustomerID, o.OrderID, o.Total) - } - -// SelectMany - Multiple from -let cutOffDate = DateTime(1997, 1, 1) - -let orders4 = - query { - for c in customers do - where (c.Region = "WA") - for o in c.Orders do - where (o.OrderDate >= cutOffDate) - select (c.CustomerID, o.OrderID) - } \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs deleted file mode 100644 index 9e72df16616..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101SetOperators01.fs +++ /dev/null @@ -1,40 +0,0 @@ -// #Conformance #DataExpressions #Query -// Set Opeartors LINQ101 samples converted to query - -open System -open System.Collections.Generic -open System.Linq - -// Distinct - 1 -let factorsOf300 = [2;2;3;5;5] - -let uniqueFactors = - query { - for n in factorsOf300 do - distinct - } |> Seq.toList - -// Distinct - 2 -let products = getProductList() - -let categoryNames = - query { - for p in products do - select p.Category - distinct - } |> Seq.toList - -// Union - 2 -let customers = getCustomerList() - -let productFirstChars = - query { - for p in products do - select p.ProductName.[0] - } - -let customerFirstChars = - query { - for c in customers do - select c.CompanyName.[0] - } \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs deleted file mode 100644 index 27dfc22e760..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Linq101Where01.fs +++ /dev/null @@ -1,55 +0,0 @@ -// #Conformance #DataExpressions #Query -// Where LINQ101 samples converted to query - -open System -open System.Collections.Generic -open System.Linq - - -let numbers = [ 5; 4; 1; 3; 9; 8; 6; 7; 2; 0 ] - - // Where - Simple 1 -let lowNums = - query { - for n in numbers do - where (n < 5) - select n; - } |> List.ofSeq - -// Where - Simple 2 -let products = getProductList() - -let soldOutProducts = - query { - for p in products do - where (p.UnitsInStock = 0) - select p - } - -// Where - Simple 3 -let expensiveInStockProducts = - query { - for p in products do - where (p.UnitsInStock > 0 && p.UnitPrice > 3.00M) - select p - } - -// Where - Drilldown -let customers = getCustomerList() - -let waCustomers = - query { - for c in customers do - where (c.Region = "WA") - select c - } |> Seq.toArray - -// Where - Indexed -let digits = [ "zero"; "one"; "two"; "three"; "four"; "five"; "six"; "seven"; "eight"; "nine" ] -let shortDigits = - query { - for d in digits do - select d - } - |> Seq.mapi (fun i d -> if d.Length < i then Some(d) else None) - |> Seq.choose id diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/QueryExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/QueryExpressionStepping.fs deleted file mode 100644 index 829560bae15..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/QueryExpressionStepping.fs +++ /dev/null @@ -1,85 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module QueryExpressionSteppingRealSignatureOn = - - // SOURCE=Utils.fs SCFLAGS="-a -r:System.Xml.Linq" # Utils.fs - let utilsLibrary = - FsFromPath (Path.Combine(__SOURCE_DIRECTORY__, "Utils.fs")) - |> withName "Utils" - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withReferences [utilsLibrary] - |> ignoreWarnings - |> withRealInternalSignatureOn - |> verifyILBaseline - - // SOURCE=Linq101Aggregates01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Aggregates01.exe" # Linq101Aggregates01.fs - CodeGen - [] - let ``Linq101Aggregates01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101ElementOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101ElementOperators01.exe" # Linq101ElementOperators01.fs - CodeGen - [] - let ``Linq101ElementOperators01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Grouping01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Grouping01.exe" # Linq101Grouping01.fs - CodeGen - [] - let ``Linq101Grouping01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Joins01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Joins01.exe" # Linq101Joins01.fs - CodeGen - [] - let ``Linq101Joins01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Ordering01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Ordering01.exe" # Linq101Ordering01.fs - CodeGen - [] - let ``Linq101Ordering01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Partitioning01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Partitioning01.exe" # Linq101Partitioning01.fs - CodeGen - [] - let ``Linq101Partitioning01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Quantifiers01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Quantifiers01.exe" # Linq101Quantifiers01.fs - CodeGen - [] - let ``Linq101Quantifiers01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Select01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Select01.exe" # Linq101Select01.fs - CodeGen - [] - let ``Linq101Select01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101SetOperators01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101SetOperators01.exe" # Linq101SetOperators01.fs - CodeGen - [] - let ``Linq101SetOperators01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=Linq101Where01.fs SCFLAGS="-r:Utils.dll -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Linq101Where01.exe" # Linq101Where01.fs - CodeGen - [] - let ``Linq101Where01_fs`` compilation = - compilation - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs deleted file mode 100644 index cf652bfdc87..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOn/Utils.fs +++ /dev/null @@ -1,227 +0,0 @@ -[] -module Utils - -open System -open System.Text.RegularExpressions -open System.Xml -open System.Xml.Linq - -type ProductR = { ProductID : int; ProductName : string; Category : string; UnitPrice : decimal; UnitsInStock : int } - -type Product() = - let mutable id = 0 - let mutable name = "" - let mutable category = "" - let mutable price = 0M - let mutable unitsInStock = 0 - - member x.ProductID with get() = id and set(v) = id <- v - member x.ProductName with get() = name and set(v) = name <- v - member x.Category with get() = category and set(v) = category <- v - member x.UnitPrice with get() = price and set(v) = price <- v - member x.UnitsInStock with get() = unitsInStock and set(v) = unitsInStock <- v - -let getProductList() = - [ - Product(ProductID = 1, ProductName = "Chai", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 39 ); - Product(ProductID = 2, ProductName = "Chang", Category = "Beverages", UnitPrice = 19.0000M, UnitsInStock = 17 ); - Product(ProductID = 3, ProductName = "Aniseed Syrup", Category = "Condiments", UnitPrice = 10.0000M, UnitsInStock = 13 ); - Product(ProductID = 4, ProductName = "Chef Anton's Cajun Seasoning", Category = "Condiments", UnitPrice = 22.0000M, UnitsInStock = 53 ); - Product(ProductID = 5, ProductName = "Chef Anton's Gumbo Mix", Category = "Condiments", UnitPrice = 21.3500M, UnitsInStock = 0 ); - Product(ProductID = 6, ProductName = "Grandma's Boysenberry Spread", Category = "Condiments", UnitPrice = 25.0000M, UnitsInStock = 120 ); - Product(ProductID = 7, ProductName = "Uncle Bob's Organic Dried Pears", Category = "Produce", UnitPrice = 30.0000M, UnitsInStock = 15 ); - Product(ProductID = 8, ProductName = "Northwoods Cranberry Sauce", Category = "Condiments", UnitPrice = 40.0000M, UnitsInStock = 6 ); - Product(ProductID = 9, ProductName = "Mishi Kobe Niku", Category = "Meat/Poultry", UnitPrice = 97.0000M, UnitsInStock = 29 ); - Product(ProductID = 10, ProductName = "Ikura", Category = "Seafood", UnitPrice = 31.0000M, UnitsInStock = 31 ); - Product(ProductID = 11, ProductName = "Queso Cabrales", Category = "Dairy Products", UnitPrice = 21.0000M, UnitsInStock = 22 ); - Product(ProductID = 12, ProductName = "Queso Manchego La Pastora", Category = "Dairy Products", UnitPrice = 38.0000M, UnitsInStock = 86 ); - Product(ProductID = 13, ProductName = "Konbu", Category = "Seafood", UnitPrice = 6.0000M, UnitsInStock = 24 ); - Product(ProductID = 14, ProductName = "Tofu", Category = "Produce", UnitPrice = 23.2500M, UnitsInStock = 35 ); - Product(ProductID = 15, ProductName = "Genen Shouyu", Category = "Condiments", UnitPrice = 15.5000M, UnitsInStock = 39 ); - Product(ProductID = 16, ProductName = "Pavlova", Category = "Confections", UnitPrice = 17.4500M, UnitsInStock = 29 ); - Product(ProductID = 17, ProductName = "Alice Mutton", Category = "Meat/Poultry", UnitPrice = 39.0000M, UnitsInStock = 0 ); - Product(ProductID = 18, ProductName = "Carnarvon Tigers", Category = "Seafood", UnitPrice = 62.5000M, UnitsInStock = 42 ); - Product(ProductID = 19, ProductName = "Teatime Chocolate Biscuits", Category = "Confections", UnitPrice = 9.2000M, UnitsInStock = 25 ); - Product(ProductID = 20, ProductName = "Sir Rodney's Marmalade", Category = "Confections", UnitPrice = 81.0000M, UnitsInStock = 40 ); - Product(ProductID = 21, ProductName = "Sir Rodney's Scones", Category = "Confections", UnitPrice = 10.0000M, UnitsInStock = 3 ); - Product(ProductID = 22, ProductName = "Gustaf's Knäckebröd", Category = "Grains/Cereals", UnitPrice = 21.0000M, UnitsInStock = 104 ); - Product(ProductID = 23, ProductName = "Tunnbröd", Category = "Grains/Cereals", UnitPrice = 9.0000M, UnitsInStock = 61 ); - Product(ProductID = 24, ProductName = "Guaraná Fantástica", Category = "Beverages", UnitPrice = 4.5000M, UnitsInStock = 20 ); - Product(ProductID = 25, ProductName = "NuNuCa Nuß-Nougat-Creme", Category = "Confections", UnitPrice = 14.0000M, UnitsInStock = 76 ); - Product(ProductID = 26, ProductName = "Gumbär Gummibärchen", Category = "Confections", UnitPrice = 31.2300M, UnitsInStock = 15 ); - Product(ProductID = 27, ProductName = "Schoggi Schokolade", Category = "Confections", UnitPrice = 43.9000M, UnitsInStock = 49 ); - Product(ProductID = 28, ProductName = "Rössle Sauerkraut", Category = "Produce", UnitPrice = 45.6000M, UnitsInStock = 26 ); - Product(ProductID = 29, ProductName = "Thüringer Rostbratwurst", Category = "Meat/Poultry", UnitPrice = 123.7900M, UnitsInStock = 0 ); - Product(ProductID = 30, ProductName = "Nord-Ost Matjeshering", Category = "Seafood", UnitPrice = 25.8900M, UnitsInStock = 10 ); - Product(ProductID = 31, ProductName = "Gorgonzola Telino", Category = "Dairy Products", UnitPrice = 12.5000M, UnitsInStock = 0 ); - Product(ProductID = 32, ProductName = "Mascarpone Fabioli", Category = "Dairy Products", UnitPrice = 32.0000M, UnitsInStock = 9 ); - Product(ProductID = 33, ProductName = "Geitost", Category = "Dairy Products", UnitPrice = 2.5000M, UnitsInStock = 112 ); - Product(ProductID = 34, ProductName = "Sasquatch Ale", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 111 ); - Product(ProductID = 35, ProductName = "Steeleye Stout", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 20 ); - Product(ProductID = 36, ProductName = "Inlagd Sill", Category = "Seafood", UnitPrice = 19.0000M, UnitsInStock = 112 ); - Product(ProductID = 37, ProductName = "Gravad lax", Category = "Seafood", UnitPrice = 26.0000M, UnitsInStock = 11 ); - Product(ProductID = 38, ProductName = "Côte de Blaye", Category = "Beverages", UnitPrice = 263.5000M, UnitsInStock = 17 ); - Product(ProductID = 39, ProductName = "Chartreuse verte", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 69 ); - Product(ProductID = 40, ProductName = "Boston Crab Meat", Category = "Seafood", UnitPrice = 18.4000M, UnitsInStock = 123 ); - Product(ProductID = 41, ProductName = "Jack's New England Clam Chowder", Category = "Seafood", UnitPrice = 9.6500M, UnitsInStock = 85 ); - Product(ProductID = 42, ProductName = "Singaporean Hokkien Fried Mee", Category = "Grains/Cereals", UnitPrice = 14.0000M, UnitsInStock = 26 ); - Product(ProductID = 43, ProductName = "Ipoh Coffee", Category = "Beverages", UnitPrice = 46.0000M, UnitsInStock = 17 ); - Product(ProductID = 44, ProductName = "Gula Malacca", Category = "Condiments", UnitPrice = 19.4500M, UnitsInStock = 27 ); - Product(ProductID = 45, ProductName = "Rogede sild", Category = "Seafood", UnitPrice = 9.5000M, UnitsInStock = 5 ); - Product(ProductID = 46, ProductName = "Spegesild", Category = "Seafood", UnitPrice = 12.0000M, UnitsInStock = 95 ); - Product(ProductID = 47, ProductName = "Zaanse koeken", Category = "Confections", UnitPrice = 9.5000M, UnitsInStock = 36 ); - Product(ProductID = 48, ProductName = "Chocolade", Category = "Confections", UnitPrice = 12.7500M, UnitsInStock = 15 ); - Product(ProductID = 49, ProductName = "Maxilaku", Category = "Confections", UnitPrice = 20.0000M, UnitsInStock = 10 ); - Product(ProductID = 50, ProductName = "Valkoinen suklaa", Category = "Confections", UnitPrice = 16.2500M, UnitsInStock = 65 ); - Product(ProductID = 51, ProductName = "Manjimup Dried Apples", Category = "Produce", UnitPrice = 53.0000M, UnitsInStock = 20 ); - Product(ProductID = 52, ProductName = "Filo Mix", Category = "Grains/Cereals", UnitPrice = 7.0000M, UnitsInStock = 38 ); - Product(ProductID = 53, ProductName = "Perth Pasties", Category = "Meat/Poultry", UnitPrice = 32.8000M, UnitsInStock = 0 ); - Product(ProductID = 54, ProductName = "Tourtière", Category = "Meat/Poultry", UnitPrice = 7.4500M, UnitsInStock = 21 ); - Product(ProductID = 55, ProductName = "Pâté chinois", Category = "Meat/Poultry", UnitPrice = 24.0000M, UnitsInStock = 115 ); - Product(ProductID = 56, ProductName = "Gnocchi di nonna Alice", Category = "Grains/Cereals", UnitPrice = 38.0000M, UnitsInStock = 21 ); - Product(ProductID = 57, ProductName = "Ravioli Angelo", Category = "Grains/Cereals", UnitPrice = 19.5000M, UnitsInStock = 36 ); - Product(ProductID = 58, ProductName = "Escargots de Bourgogne", Category = "Seafood", UnitPrice = 13.2500M, UnitsInStock = 62 ); - Product(ProductID = 59, ProductName = "Raclette Courdavault", Category = "Dairy Products", UnitPrice = 55.0000M, UnitsInStock = 79 ); - Product(ProductID = 60, ProductName = "Camembert Pierrot", Category = "Dairy Products", UnitPrice = 34.0000M, UnitsInStock = 19 ); - Product(ProductID = 61, ProductName = "Sirop d'érable", Category = "Condiments", UnitPrice = 28.5000M, UnitsInStock = 113 ); - Product(ProductID = 62, ProductName = "Tarte au sucre", Category = "Confections", UnitPrice = 49.3000M, UnitsInStock = 17 ); - Product(ProductID = 63, ProductName = "Vegie-spread", Category = "Condiments", UnitPrice = 43.9000M, UnitsInStock = 24 ); - Product(ProductID = 64, ProductName = "Wimmers gute Semmelknödel", Category = "Grains/Cereals", UnitPrice = 33.2500M, UnitsInStock = 22 ); - Product(ProductID = 65, ProductName = "Louisiana Fiery Hot Pepper Sauce", Category = "Condiments", UnitPrice = 21.0500M, UnitsInStock = 76 ); - Product(ProductID = 66, ProductName = "Louisiana Hot Spiced Okra", Category = "Condiments", UnitPrice = 17.0000M, UnitsInStock = 4 ); - Product(ProductID = 67, ProductName = "Laughing Lumberjack Lager", Category = "Beverages", UnitPrice = 14.0000M, UnitsInStock = 52 ); - Product(ProductID = 68, ProductName = "Scottish Longbreads", Category = "Confections", UnitPrice = 12.5000M, UnitsInStock = 6 ); - Product(ProductID = 69, ProductName = "Gudbrandsdalsost", Category = "Dairy Products", UnitPrice = 36.0000M, UnitsInStock = 26 ); - Product(ProductID = 70, ProductName = "Outback Lager", Category = "Beverages", UnitPrice = 15.0000M, UnitsInStock = 15 ); - Product(ProductID = 71, ProductName = "Flotemysost", Category = "Dairy Products", UnitPrice = 21.5000M, UnitsInStock = 26 ); - Product(ProductID = 72, ProductName = "Mozzarella di Giovanni", Category = "Dairy Products", UnitPrice = 34.8000M, UnitsInStock = 14 ); - Product(ProductID = 73, ProductName = "Röd Kaviar", Category = "Seafood", UnitPrice = 15.0000M, UnitsInStock = 101 ); - Product(ProductID = 74, ProductName = "Longlife Tofu", Category = "Produce", UnitPrice = 10.0000M, UnitsInStock = 4 ); - Product(ProductID = 75, ProductName = "Rhönbräu Klosterbier", Category = "Beverages", UnitPrice = 7.7500M, UnitsInStock = 125 ); - Product(ProductID = 76, ProductName = "Lakkalikööri", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 57 ); - Product(ProductID = 77, ProductName = "Original Frankfurter grüne Soße", Category = "Condiments", UnitPrice = 13.0000M, UnitsInStock = 32 ) - ] - -let getProductListAsRecords() = - [{ ProductID = 1; ProductName = "Chai"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 39 }; - { ProductID = 2; ProductName = "Chang"; Category = "Beverages"; UnitPrice = 19.0000M; UnitsInStock = 17 }; - { ProductID = 3; ProductName = "Aniseed Syrup"; Category = "Condiments"; UnitPrice = 10.0000M; UnitsInStock = 13 }; - { ProductID = 4; ProductName = "Chef Anton's Cajun Seasoning"; Category = "Condiments"; UnitPrice = 22.0000M; UnitsInStock = 53 }; - { ProductID = 5; ProductName = "Chef Anton's Gumbo Mix"; Category = "Condiments"; UnitPrice = 21.3500M; UnitsInStock = 0 }; - { ProductID = 6; ProductName = "Grandma's Boysenberry Spread"; Category = "Condiments"; UnitPrice = 25.0000M; UnitsInStock = 120 }; - { ProductID = 7; ProductName = "Uncle Bob's Organic Dried Pears"; Category = "Produce"; UnitPrice = 30.0000M; UnitsInStock = 15 }; - { ProductID = 8; ProductName = "Northwoods Cranberry Sauce"; Category = "Condiments"; UnitPrice = 40.0000M; UnitsInStock = 6 }; - { ProductID = 9; ProductName = "Mishi Kobe Niku"; Category = "Meat/Poultry"; UnitPrice = 97.0000M; UnitsInStock = 29 }; - { ProductID = 10; ProductName = "Ikura"; Category = "Seafood"; UnitPrice = 31.0000M; UnitsInStock = 31 }; - { ProductID = 11; ProductName = "Queso Cabrales"; Category = "Dairy Products"; UnitPrice = 21.0000M; UnitsInStock = 22 }; - { ProductID = 12; ProductName = "Queso Manchego La Pastora"; Category = "Dairy Products"; UnitPrice = 38.0000M; UnitsInStock = 86 }; - { ProductID = 13; ProductName = "Konbu"; Category = "Seafood"; UnitPrice = 6.0000M; UnitsInStock = 24 }; - { ProductID = 14; ProductName = "Tofu"; Category = "Produce"; UnitPrice = 23.2500M; UnitsInStock = 35 }; - { ProductID = 15; ProductName = "Genen Shouyu"; Category = "Condiments"; UnitPrice = 15.5000M; UnitsInStock = 39 }; - { ProductID = 16; ProductName = "Pavlova"; Category = "Confections"; UnitPrice = 17.4500M; UnitsInStock = 29 }; - { ProductID = 17; ProductName = "Alice Mutton"; Category = "Meat/Poultry"; UnitPrice = 39.0000M; UnitsInStock = 0 }; - { ProductID = 18; ProductName = "Carnarvon Tigers"; Category = "Seafood"; UnitPrice = 62.5000M; UnitsInStock = 42 }; - { ProductID = 19; ProductName = "Teatime Chocolate Biscuits"; Category = "Confections"; UnitPrice = 9.2000M; UnitsInStock = 25 }; - { ProductID = 20; ProductName = "Sir Rodney's Marmalade"; Category = "Confections"; UnitPrice = 81.0000M; UnitsInStock = 40 }; - { ProductID = 21; ProductName = "Sir Rodney's Scones"; Category = "Confections"; UnitPrice = 10.0000M; UnitsInStock = 3 }; - { ProductID = 22; ProductName = "Gustaf's Knäckebröd"; Category = "Grains/Cereals"; UnitPrice = 21.0000M; UnitsInStock = 104 }; - { ProductID = 23; ProductName = "Tunnbröd"; Category = "Grains/Cereals"; UnitPrice = 9.0000M; UnitsInStock = 61 }; - { ProductID = 24; ProductName = "Guaraná Fantástica"; Category = "Beverages"; UnitPrice = 4.5000M; UnitsInStock = 20 }; - { ProductID = 25; ProductName = "NuNuCa Nuß-Nougat-Creme"; Category = "Confections"; UnitPrice = 14.0000M; UnitsInStock = 76 }; - { ProductID = 26; ProductName = "Gumbär Gummibärchen"; Category = "Confections"; UnitPrice = 31.2300M; UnitsInStock = 15 }; - { ProductID = 27; ProductName = "Schoggi Schokolade"; Category = "Confections"; UnitPrice = 43.9000M; UnitsInStock = 49 }; - { ProductID = 28; ProductName = "Rössle Sauerkraut"; Category = "Produce"; UnitPrice = 45.6000M; UnitsInStock = 26 }; - { ProductID = 29; ProductName = "Thüringer Rostbratwurst"; Category = "Meat/Poultry"; UnitPrice = 123.7900M; UnitsInStock = 0 }; - { ProductID = 30; ProductName = "Nord-Ost Matjeshering"; Category = "Seafood"; UnitPrice = 25.8900M; UnitsInStock = 10 }; - { ProductID = 31; ProductName = "Gorgonzola Telino"; Category = "Dairy Products"; UnitPrice = 12.5000M; UnitsInStock = 0 }; - { ProductID = 32; ProductName = "Mascarpone Fabioli"; Category = "Dairy Products"; UnitPrice = 32.0000M; UnitsInStock = 9 }; - { ProductID = 33; ProductName = "Geitost"; Category = "Dairy Products"; UnitPrice = 2.5000M; UnitsInStock = 112 }; - { ProductID = 34; ProductName = "Sasquatch Ale"; Category = "Beverages"; UnitPrice = 14.0000M; UnitsInStock = 111 }; - { ProductID = 35; ProductName = "Steeleye Stout"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 20 }; - { ProductID = 36; ProductName = "Inlagd Sill"; Category = "Seafood"; UnitPrice = 19.0000M; UnitsInStock = 112 }; - { ProductID = 37; ProductName = "Gravad lax"; Category = "Seafood"; UnitPrice = 26.0000M; UnitsInStock = 11 }; - { ProductID = 38; ProductName = "Côte de Blaye"; Category = "Beverages"; UnitPrice = 263.5000M; UnitsInStock = 17 }; - { ProductID = 39; ProductName = "Chartreuse verte"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 69 }; - { ProductID = 40; ProductName = "Boston Crab Meat"; Category = "Seafood"; UnitPrice = 18.4000M; UnitsInStock = 123 }; - { ProductID = 41; ProductName = "Jack's New England Clam Chowder"; Category = "Seafood"; UnitPrice = 9.6500M; UnitsInStock = 85 }; - { ProductID = 42; ProductName = "Singaporean Hokkien Fried Mee"; Category = "Grains/Cereals"; UnitPrice = 14.0000M; UnitsInStock = 26 }; - { ProductID = 43; ProductName = "Ipoh Coffee"; Category = "Beverages"; UnitPrice = 46.0000M; UnitsInStock = 17 }; - { ProductID = 44; ProductName = "Gula Malacca"; Category = "Condiments"; UnitPrice = 19.4500M; UnitsInStock = 27 }; - { ProductID = 45; ProductName = "Rogede sild"; Category = "Seafood"; UnitPrice = 9.5000M; UnitsInStock = 5 }; - { ProductID = 46; ProductName = "Spegesild"; Category = "Seafood"; UnitPrice = 12.0000M; UnitsInStock = 95 }; - { ProductID = 47; ProductName = "Zaanse koeken"; Category = "Confections"; UnitPrice = 9.5000M; UnitsInStock = 36 }; - { ProductID = 48; ProductName = "Chocolade"; Category = "Confections"; UnitPrice = 12.7500M; UnitsInStock = 15 }; - { ProductID = 49; ProductName = "Maxilaku"; Category = "Confections"; UnitPrice = 20.0000M; UnitsInStock = 10 }; - { ProductID = 50; ProductName = "Valkoinen suklaa"; Category = "Confections"; UnitPrice = 16.2500M; UnitsInStock = 65 }; - { ProductID = 51; ProductName = "Manjimup Dried Apples"; Category = "Produce"; UnitPrice = 53.0000M; UnitsInStock = 20 }; - { ProductID = 52; ProductName = "Filo Mix"; Category = "Grains/Cereals"; UnitPrice = 7.0000M; UnitsInStock = 38 }; - { ProductID = 53; ProductName = "Perth Pasties"; Category = "Meat/Poultry"; UnitPrice = 32.8000M; UnitsInStock = 0 }; - { ProductID = 54; ProductName = "Tourtière"; Category = "Meat/Poultry"; UnitPrice = 7.4500M; UnitsInStock = 21 }; - { ProductID = 55; ProductName = "Pâté chinois"; Category = "Meat/Poultry"; UnitPrice = 24.0000M; UnitsInStock = 115 }; - { ProductID = 56; ProductName = "Gnocchi di nonna Alice"; Category = "Grains/Cereals"; UnitPrice = 38.0000M; UnitsInStock = 21 }; - { ProductID = 57; ProductName = "Ravioli Angelo"; Category = "Grains/Cereals"; UnitPrice = 19.5000M; UnitsInStock = 36 }; - { ProductID = 58; ProductName = "Escargots de Bourgogne"; Category = "Seafood"; UnitPrice = 13.2500M; UnitsInStock = 62 }; - { ProductID = 59; ProductName = "Raclette Courdavault"; Category = "Dairy Products"; UnitPrice = 55.0000M; UnitsInStock = 79 }; - { ProductID = 60; ProductName = "Camembert Pierrot"; Category = "Dairy Products"; UnitPrice = 34.0000M; UnitsInStock = 19 }; - { ProductID = 61; ProductName = "Sirop d'érable"; Category = "Condiments"; UnitPrice = 28.5000M; UnitsInStock = 113 }; - { ProductID = 62; ProductName = "Tarte au sucre"; Category = "Confections"; UnitPrice = 49.3000M; UnitsInStock = 17 }; - { ProductID = 63; ProductName = "Vegie-spread"; Category = "Condiments"; UnitPrice = 43.9000M; UnitsInStock = 24 }; - { ProductID = 64; ProductName = "Wimmers gute Semmelknödel"; Category = "Grains/Cereals"; UnitPrice = 33.2500M; UnitsInStock = 22 }; - { ProductID = 65; ProductName = "Louisiana Fiery Hot Pepper Sauce"; Category = "Condiments"; UnitPrice = 21.0500M; UnitsInStock = 76 }; - { ProductID = 66; ProductName = "Louisiana Hot Spiced Okra"; Category = "Condiments"; UnitPrice = 17.0000M; UnitsInStock = 4 }; - { ProductID = 67; ProductName = "Laughing Lumberjack Lager"; Category = "Beverages"; UnitPrice = 14.0000M; UnitsInStock = 52 }; - { ProductID = 68; ProductName = "Scottish Longbreads"; Category = "Confections"; UnitPrice = 12.5000M; UnitsInStock = 6 }; - { ProductID = 69; ProductName = "Gudbrandsdalsost"; Category = "Dairy Products"; UnitPrice = 36.0000M; UnitsInStock = 26 }; - { ProductID = 70; ProductName = "Outback Lager"; Category = "Beverages"; UnitPrice = 15.0000M; UnitsInStock = 15 }; - { ProductID = 71; ProductName = "Flotemysost"; Category = "Dairy Products"; UnitPrice = 21.5000M; UnitsInStock = 26 }; - { ProductID = 72; ProductName = "Mozzarella di Giovanni"; Category = "Dairy Products"; UnitPrice = 34.8000M; UnitsInStock = 14 }; - { ProductID = 73; ProductName = "Röd Kaviar"; Category = "Seafood"; UnitPrice = 15.0000M; UnitsInStock = 101 }; - { ProductID = 74; ProductName = "Longlife Tofu"; Category = "Produce"; UnitPrice = 10.0000M; UnitsInStock = 4 }; - { ProductID = 75; ProductName = "Rhönbräu Klosterbier"; Category = "Beverages"; UnitPrice = 7.7500M; UnitsInStock = 125 }; - { ProductID = 76; ProductName = "Lakkalikööri"; Category = "Beverages"; UnitPrice = 18.0000M; UnitsInStock = 57 }; - { ProductID = 77; ProductName = "Original Frankfurter grüne Soße"; Category = "Condiments"; UnitPrice = 13.0000M; UnitsInStock = 32 }] - - -type Order(orderID, orderDate : DateTime, total) = - member x.OrderID = orderID - member x.OrderDate = orderDate - member x.Total = total - -type Customer(customerID, companyName, address, city, region, postalCode, country, phone, fax, orders) = - member x.CustomerID = customerID - member x.CompanyName = companyName - member x.Address = address - member x.City = city - member x.Region = region - member x.PostalCode = postalCode - member x.Country = country - member x.Phone = phone - member x.Fax = fax - member x.Orders = orders - -let getCustomerList() = - let doc = XmlReader.Create(Environment.CurrentDirectory + "\\customers.xml") - - let xname s = XName.Get(s) - let ge (x : XElement) (s : string) = - try - let r = x.Element(XName.Get(s)).ToString() - Regex.Match(r, ">(.*)<").Groups.[1].Value - with - | :? NullReferenceException -> "" - query { - for e in XDocument.Load(doc).Root.Elements(xname "customer") do - let get = ge e - let orders = - query { - for o in e.Elements(xname "orders").Elements(xname "order") do - let date = ge o "orderdate" - let dateParts = date.Substring(0, date.Length-9).Split([|'-'|]) - let orderDate = DateTime(Int32.Parse(dateParts.[0]), Int32.Parse(dateParts.[1]), Int32.Parse(dateParts.[2])) - let order = o.Element(xname "id") |> int - let total = o.Element(xname "total") |> decimal - select (Order(order, orderDate, total)) - } |> Seq.toArray - let c = Customer(get "id", get "name", get "address", get "city", get "region", get "postcalcode", get "country", get "phone", get "fax", orders) - select c - } |> Seq.toList \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Utils.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Utils.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/RealInternalSignatureOff/Utils.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Utils.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs deleted file mode 100644 index 5a9f6ac2865..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionStepping.fs +++ /dev/null @@ -1,61 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module SeqExpressionSteppingRealInternalSignatureOff = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOff - |> ignoreWarnings - |> verifyILBaseline - - //Retry SOURCE=SeqExpressionSteppingTest01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest1.exe" # SeqExpressionSteppingTest1.fs - - [] - let ``SeqExpressionSteppingTest01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest2.exe" # SeqExpressionSteppingTest2.fs - - [] - let ``SeqExpressionSteppingTest02_fs`` compilation = - compilation - |> verifyCompilation - - //SOURCE=SeqExpressionSteppingTest03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest3.exe" # SeqExpressionSteppingTest3.fs - - [] - let ``SeqExpressionSteppingTest03_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest4.exe" # SeqExpressionSteppingTest4.fs - - [] - let ``SeqExpressionSteppingTest04_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest05.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest5.exe" # SeqExpressionSteppingTest5.fs - - [] - let ``SeqExpressionSteppingTest05_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest06.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest6.exe" # SeqExpressionSteppingTest6.fs - - [] - let ``SeqExpressionSteppingTest06_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest07.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest7.exe" # SeqExpressionSteppingTest7.fs - - [] - let ``SeqExpressionSteppingTest07_fs`` compilation = - compilation - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs.il.bsl deleted file mode 100644 index 3df6547ccae..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs.il.bsl +++ /dev/null @@ -1,231 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest1 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public SeqExpressionSteppingTest1 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto autochar serializable sealed nested assembly beforefieldinit specialname f0@6 - extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .field public int32 pc - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public int32 current - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(int32 pc, - int32 current) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc - IL_0007: ldarg.0 - IL_0008: ldarg.2 - IL_0009: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current - IL_000e: ldarg.0 - IL_000f: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() - IL_0014: ret - } - - .method public strict virtual instance int32 - GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc - IL_0006: ldc.i4.1 - IL_0007: sub - IL_0008: switch ( - IL_0017, - IL_001a) - IL_0015: br.s IL_001d - - IL_0017: nop - IL_0018: br.s IL_002e - - IL_001a: nop - IL_001b: br.s IL_0035 - - IL_001d: nop - IL_001e: ldarg.0 - IL_001f: ldc.i4.1 - IL_0020: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc - IL_0025: ldarg.0 - IL_0026: ldc.i4.1 - IL_0027: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current - IL_002c: ldc.i4.1 - IL_002d: ret - - IL_002e: ldarg.0 - IL_002f: ldc.i4.2 - IL_0030: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc - IL_0035: ldarg.0 - IL_0036: ldc.i4.0 - IL_0037: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current - IL_003c: ldc.i4.0 - IL_003d: ret - } - - .method public strict virtual instance void - Close() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldc.i4.2 - IL_0002: stfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc - IL_0007: ret - } - - .method public strict virtual instance bool - get_CheckClose() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::pc - IL_0006: switch ( - IL_0019, - IL_001c, - IL_001f) - IL_0017: br.s IL_0022 - - IL_0019: nop - IL_001a: br.s IL_0025 - - IL_001c: nop - IL_001d: br.s IL_0023 - - IL_001f: nop - IL_0020: br.s IL_0025 - - IL_0022: nop - IL_0023: ldc.i4.0 - IL_0024: ret - - IL_0025: ldc.i4.0 - IL_0026: ret - } - - .method public strict virtual instance int32 - get_LastGenerated() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::current - IL_0006: ret - } - - .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 - GetFreshEnumerator() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: ldc.i4.0 - IL_0002: newobj instance void SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::.ctor(int32, - int32) - IL_0007: ret - } - - } - - .method public static class [runtime]System.Collections.Generic.IEnumerable`1 - f0() cil managed - { - - .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: ldc.i4.0 - IL_0002: newobj instance void SeqExpressionSteppingTest1/SeqExpressionSteppingTest1/f0@6::.ctor(int32, - int32) - IL_0007: ret - } - - } - -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest1 - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 3 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) - IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest1/SeqExpressionSteppingTest1::f0() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_000c: pop - IL_000d: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs.il.bsl deleted file mode 100644 index 0c8731a0094..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs.il.bsl +++ /dev/null @@ -1,259 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest2 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public SeqExpressionSteppingTest2 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto autochar serializable sealed nested assembly beforefieldinit specialname f1@5 - extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .field public int32 pc - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public int32 current - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(int32 pc, - int32 current) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc - IL_0007: ldarg.0 - IL_0008: ldarg.2 - IL_0009: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current - IL_000e: ldarg.0 - IL_000f: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() - IL_0014: ret - } - - .method public strict virtual instance int32 - GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed - { - - .maxstack 6 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc - IL_0006: ldc.i4.1 - IL_0007: sub - IL_0008: switch ( - IL_001b, - IL_001e, - IL_0021) - IL_0019: br.s IL_0024 - - IL_001b: nop - IL_001c: br.s IL_0045 - - IL_001e: nop - IL_001f: br.s IL_0065 - - IL_0021: nop - IL_0022: br.s IL_006c - - IL_0024: nop - IL_0025: ldstr "hello" - IL_002a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_002f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0034: pop - IL_0035: ldarg.0 - IL_0036: ldc.i4.1 - IL_0037: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc - IL_003c: ldarg.0 - IL_003d: ldc.i4.1 - IL_003e: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current - IL_0043: ldc.i4.1 - IL_0044: ret - - IL_0045: ldstr "goodbye" - IL_004a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_004f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0054: pop - IL_0055: ldarg.0 - IL_0056: ldc.i4.2 - IL_0057: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc - IL_005c: ldarg.0 - IL_005d: ldc.i4.2 - IL_005e: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current - IL_0063: ldc.i4.1 - IL_0064: ret - - IL_0065: ldarg.0 - IL_0066: ldc.i4.3 - IL_0067: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc - IL_006c: ldarg.0 - IL_006d: ldc.i4.0 - IL_006e: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current - IL_0073: ldc.i4.0 - IL_0074: ret - } - - .method public strict virtual instance void - Close() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldc.i4.3 - IL_0002: stfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc - IL_0007: ret - } - - .method public strict virtual instance bool - get_CheckClose() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::pc - IL_0006: switch ( - IL_001d, - IL_0020, - IL_0023, - IL_0026) - IL_001b: br.s IL_0029 - - IL_001d: nop - IL_001e: br.s IL_002e - - IL_0020: nop - IL_0021: br.s IL_002c - - IL_0023: nop - IL_0024: br.s IL_002a - - IL_0026: nop - IL_0027: br.s IL_002e - - IL_0029: nop - IL_002a: ldc.i4.0 - IL_002b: ret - - IL_002c: ldc.i4.0 - IL_002d: ret - - IL_002e: ldc.i4.0 - IL_002f: ret - } - - .method public strict virtual instance int32 - get_LastGenerated() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::current - IL_0006: ret - } - - .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 - GetFreshEnumerator() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: ldc.i4.0 - IL_0002: newobj instance void SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::.ctor(int32, - int32) - IL_0007: ret - } - - } - - .method public static class [runtime]System.Collections.Generic.IEnumerable`1 - f1() cil managed - { - - .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: ldc.i4.0 - IL_0002: newobj instance void SeqExpressionSteppingTest2/SeqExpressionSteppingTest2/f1@5::.ctor(int32, - int32) - IL_0007: ret - } - - } - -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest2 - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 3 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) - IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest2/SeqExpressionSteppingTest2::f1() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_000c: pop - IL_000d: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs.il.bsl deleted file mode 100644 index f373770edee..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs.il.bsl +++ /dev/null @@ -1,267 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest3 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public SeqExpressionSteppingTest3 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto autochar serializable sealed nested assembly beforefieldinit specialname f2@7 - extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x - .field public int32 pc - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public int32 current - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, - int32 pc, - int32 current) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x - IL_0007: ldarg.0 - IL_0008: ldarg.2 - IL_0009: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc - IL_000e: ldarg.0 - IL_000f: ldarg.3 - IL_0010: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current - IL_0015: ldarg.0 - IL_0016: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() - IL_001b: ret - } - - .method public strict virtual instance int32 - GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed - { - - .maxstack 7 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc - IL_0006: ldc.i4.1 - IL_0007: sub - IL_0008: switch ( - IL_0017, - IL_001a) - IL_0015: br.s IL_001d - - IL_0017: nop - IL_0018: br.s IL_0062 - - IL_001a: nop - IL_001b: br.s IL_0077 - - IL_001d: nop - IL_001e: br.s IL_0062 - - IL_0020: ldarg.0 - IL_0021: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x - IL_0026: ldarg.0 - IL_0027: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x - IL_002c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_0031: ldc.i4.1 - IL_0032: add - IL_0033: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) - IL_0038: ldstr "hello" - IL_003d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0042: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0047: pop - IL_0048: ldarg.0 - IL_0049: ldc.i4.1 - IL_004a: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc - IL_004f: ldarg.0 - IL_0050: ldarg.0 - IL_0051: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x - IL_0056: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_005b: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current - IL_0060: ldc.i4.1 - IL_0061: ret - - IL_0062: ldarg.0 - IL_0063: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x - IL_0068: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_006d: ldc.i4.4 - IL_006e: blt.s IL_0020 - - IL_0070: ldarg.0 - IL_0071: ldc.i4.2 - IL_0072: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc - IL_0077: ldarg.0 - IL_0078: ldc.i4.0 - IL_0079: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current - IL_007e: ldc.i4.0 - IL_007f: ret - } - - .method public strict virtual instance void - Close() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldc.i4.2 - IL_0002: stfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc - IL_0007: ret - } - - .method public strict virtual instance bool - get_CheckClose() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::pc - IL_0006: switch ( - IL_0019, - IL_001c, - IL_001f) - IL_0017: br.s IL_0022 - - IL_0019: nop - IL_001a: br.s IL_0025 - - IL_001c: nop - IL_001d: br.s IL_0023 - - IL_001f: nop - IL_0020: br.s IL_0025 - - IL_0022: nop - IL_0023: ldc.i4.0 - IL_0024: ret - - IL_0025: ldc.i4.0 - IL_0026: ret - } - - .method public strict virtual instance int32 - get_LastGenerated() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::current - IL_0006: ret - } - - .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 - GetFreshEnumerator() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::x - IL_0006: ldc.i4.0 - IL_0007: ldc.i4.0 - IL_0008: newobj instance void SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - int32, - int32) - IL_000d: ret - } - - } - - .method public static class [runtime]System.Collections.Generic.IEnumerable`1 - f2() cil managed - { - - .maxstack 5 - .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0) - IL_0000: ldc.i4.0 - IL_0001: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: ldc.i4.0 - IL_0009: ldc.i4.0 - IL_000a: newobj instance void SeqExpressionSteppingTest3/SeqExpressionSteppingTest3/f2@7::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - int32, - int32) - IL_000f: ret - } - - } - -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest3 - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 3 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) - IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest3/SeqExpressionSteppingTest3::f2() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_000c: pop - IL_000d: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs.il.bsl deleted file mode 100644 index 929ee8a9d42..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs.il.bsl +++ /dev/null @@ -1,310 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest4 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public SeqExpressionSteppingTest4 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto autochar serializable sealed nested assembly beforefieldinit specialname f3@6 - extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x - .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y - .field public int32 pc - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public int32 current - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y, - int32 pc, - int32 current) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x - IL_0007: ldarg.0 - IL_0008: ldarg.2 - IL_0009: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y - IL_000e: ldarg.0 - IL_000f: ldarg.3 - IL_0010: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc - IL_0015: ldarg.0 - IL_0016: ldarg.s current - IL_0018: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current - IL_001d: ldarg.0 - IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() - IL_0023: ret - } - - .method public strict virtual instance int32 - GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed - { - - .maxstack 7 - .locals init (int32 V_0) - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc - IL_0006: ldc.i4.1 - IL_0007: sub - IL_0008: switch ( - IL_001b, - IL_001e, - IL_0024) - IL_0019: br.s IL_002a - - IL_001b: nop - IL_001c: br.s IL_008d - - IL_001e: nop - IL_001f: br IL_00b5 - - IL_0024: nop - IL_0025: br IL_00ca - - IL_002a: nop - IL_002b: ldarg.0 - IL_002c: ldc.i4.0 - IL_002d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) - IL_0032: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x - IL_0037: ldarg.0 - IL_0038: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x - IL_003d: ldarg.0 - IL_003e: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x - IL_0043: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_0048: ldc.i4.1 - IL_0049: add - IL_004a: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) - IL_004f: ldarg.0 - IL_0050: ldc.i4.0 - IL_0051: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) - IL_0056: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y - IL_005b: ldarg.0 - IL_005c: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y - IL_0061: ldarg.0 - IL_0062: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y - IL_0067: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_006c: ldc.i4.1 - IL_006d: add - IL_006e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) - IL_0073: ldarg.0 - IL_0074: ldc.i4.1 - IL_0075: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc - IL_007a: ldarg.0 - IL_007b: ldarg.0 - IL_007c: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x - IL_0081: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_0086: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current - IL_008b: ldc.i4.1 - IL_008c: ret - - IL_008d: ldarg.0 - IL_008e: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x - IL_0093: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_0098: ldarg.0 - IL_0099: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y - IL_009e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_00a3: add - IL_00a4: stloc.0 - IL_00a5: ldarg.0 - IL_00a6: ldc.i4.2 - IL_00a7: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc - IL_00ac: ldarg.0 - IL_00ad: ldloc.0 - IL_00ae: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current - IL_00b3: ldc.i4.1 - IL_00b4: ret - - IL_00b5: ldarg.0 - IL_00b6: ldnull - IL_00b7: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::y - IL_00bc: ldarg.0 - IL_00bd: ldnull - IL_00be: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::x - IL_00c3: ldarg.0 - IL_00c4: ldc.i4.3 - IL_00c5: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc - IL_00ca: ldarg.0 - IL_00cb: ldc.i4.0 - IL_00cc: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current - IL_00d1: ldc.i4.0 - IL_00d2: ret - } - - .method public strict virtual instance void - Close() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldc.i4.3 - IL_0002: stfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc - IL_0007: ret - } - - .method public strict virtual instance bool - get_CheckClose() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::pc - IL_0006: switch ( - IL_001d, - IL_0020, - IL_0023, - IL_0026) - IL_001b: br.s IL_0029 - - IL_001d: nop - IL_001e: br.s IL_002e - - IL_0020: nop - IL_0021: br.s IL_002c - - IL_0023: nop - IL_0024: br.s IL_002a - - IL_0026: nop - IL_0027: br.s IL_002e - - IL_0029: nop - IL_002a: ldc.i4.0 - IL_002b: ret - - IL_002c: ldc.i4.0 - IL_002d: ret - - IL_002e: ldc.i4.0 - IL_002f: ret - } - - .method public strict virtual instance int32 - get_LastGenerated() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::current - IL_0006: ret - } - - .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 - GetFreshEnumerator() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldnull - IL_0001: ldnull - IL_0002: ldc.i4.0 - IL_0003: ldc.i4.0 - IL_0004: newobj instance void SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - int32, - int32) - IL_0009: ret - } - - } - - .method public static class [runtime]System.Collections.Generic.IEnumerable`1 - f3() cil managed - { - - .maxstack 8 - IL_0000: ldnull - IL_0001: ldnull - IL_0002: ldc.i4.0 - IL_0003: ldc.i4.0 - IL_0004: newobj instance void SeqExpressionSteppingTest4/SeqExpressionSteppingTest4/f3@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - int32, - int32) - IL_0009: ret - } - - } - -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest4 - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 3 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) - IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest4/SeqExpressionSteppingTest4::f3() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_000c: pop - IL_000d: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs.il.bsl deleted file mode 100644 index f3d75f7ae55..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs.il.bsl +++ /dev/null @@ -1,417 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest5 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public SeqExpressionSteppingTest5 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto autochar serializable sealed nested assembly beforefieldinit specialname f4@6 - extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x - .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y - .field public int32 pc - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public int32 current - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 y, - int32 pc, - int32 current) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_0007: ldarg.0 - IL_0008: ldarg.2 - IL_0009: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y - IL_000e: ldarg.0 - IL_000f: ldarg.3 - IL_0010: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0015: ldarg.0 - IL_0016: ldarg.s current - IL_0018: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current - IL_001d: ldarg.0 - IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() - IL_0023: ret - } - - .method public strict virtual instance int32 - GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed - { - - .maxstack 7 - .locals init (int32 V_0) - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0006: ldc.i4.1 - IL_0007: sub - IL_0008: switch ( - IL_001f, - IL_0025, - IL_0028, - IL_002e) - IL_001d: br.s IL_0034 - - IL_001f: nop - IL_0020: br IL_00b5 - - IL_0025: nop - IL_0026: br.s IL_0086 - - IL_0028: nop - IL_0029: br IL_00ae - - IL_002e: nop - IL_002f: br IL_00f2 - - IL_0034: nop - IL_0035: ldarg.0 - IL_0036: ldc.i4.0 - IL_0037: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) - IL_003c: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_0041: ldarg.0 - IL_0042: ldc.i4.1 - IL_0043: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0048: ldarg.0 - IL_0049: ldc.i4.0 - IL_004a: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) - IL_004f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y - IL_0054: ldarg.0 - IL_0055: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y - IL_005a: ldarg.0 - IL_005b: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y - IL_0060: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_0065: ldc.i4.1 - IL_0066: add - IL_0067: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) - IL_006c: ldarg.0 - IL_006d: ldc.i4.2 - IL_006e: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0073: ldarg.0 - IL_0074: ldarg.0 - IL_0075: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_007a: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_007f: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current - IL_0084: ldc.i4.1 - IL_0085: ret - - IL_0086: ldarg.0 - IL_0087: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_008c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_0091: ldarg.0 - IL_0092: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y - IL_0097: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_009c: add - IL_009d: stloc.0 - IL_009e: ldarg.0 - IL_009f: ldc.i4.3 - IL_00a0: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_00a5: ldarg.0 - IL_00a6: ldloc.0 - IL_00a7: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current - IL_00ac: ldc.i4.1 - IL_00ad: ret - - IL_00ae: ldarg.0 - IL_00af: ldnull - IL_00b0: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::y - IL_00b5: ldarg.0 - IL_00b6: ldc.i4.4 - IL_00b7: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_00bc: ldarg.0 - IL_00bd: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_00c2: ldarg.0 - IL_00c3: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_00c8: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_00cd: ldc.i4.1 - IL_00ce: add - IL_00cf: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) - IL_00d4: ldstr "done" - IL_00d9: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_00de: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_00e3: pop - IL_00e4: ldarg.0 - IL_00e5: ldnull - IL_00e6: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_00eb: ldarg.0 - IL_00ec: ldc.i4.4 - IL_00ed: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_00f2: ldarg.0 - IL_00f3: ldc.i4.0 - IL_00f4: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current - IL_00f9: ldc.i4.0 - IL_00fa: ret - } - - .method public strict virtual instance void - Close() cil managed - { - - .maxstack 7 - .locals init (class [runtime]System.Exception V_0, - class [runtime]System.Exception V_1) - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0006: ldc.i4.4 - IL_0007: sub - IL_0008: switch ( - IL_0013) - IL_0011: br.s IL_0019 - - IL_0013: nop - IL_0014: br IL_009f - - IL_0019: nop - .try - { - IL_001a: ldarg.0 - IL_001b: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0020: switch ( - IL_003b, - IL_003e, - IL_0041, - IL_0044, - IL_0047) - IL_0039: br.s IL_004a - - IL_003b: nop - IL_003c: br.s IL_007f - - IL_003e: nop - IL_003f: br.s IL_004f - - IL_0041: nop - IL_0042: br.s IL_004e - - IL_0044: nop - IL_0045: br.s IL_004b - - IL_0047: nop - IL_0048: br.s IL_007f - - IL_004a: nop - IL_004b: nop - IL_004c: br.s IL_004f - - IL_004e: nop - IL_004f: ldarg.0 - IL_0050: ldc.i4.4 - IL_0051: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0056: ldarg.0 - IL_0057: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_005c: ldarg.0 - IL_005d: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::x - IL_0062: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() - IL_0067: ldc.i4.1 - IL_0068: add - IL_0069: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) - IL_006e: ldstr "done" - IL_0073: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0078: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_007d: pop - IL_007e: nop - IL_007f: ldarg.0 - IL_0080: ldc.i4.4 - IL_0081: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0086: ldarg.0 - IL_0087: ldc.i4.0 - IL_0088: stfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current - IL_008d: leave.s IL_0099 - - } - catch [runtime]System.Object - { - IL_008f: castclass [runtime]System.Exception - IL_0094: stloc.1 - IL_0095: ldloc.1 - IL_0096: stloc.0 - IL_0097: leave.s IL_0099 - - } - IL_0099: nop - IL_009a: br IL_0000 - - IL_009f: ldloc.0 - IL_00a0: brfalse.s IL_00a4 - - IL_00a2: ldloc.0 - IL_00a3: throw - - IL_00a4: ret - } - - .method public strict virtual instance bool - get_CheckClose() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::pc - IL_0006: switch ( - IL_0021, - IL_0024, - IL_0027, - IL_002a, - IL_002d) - IL_001f: br.s IL_0030 - - IL_0021: nop - IL_0022: br.s IL_0037 - - IL_0024: nop - IL_0025: br.s IL_0035 - - IL_0027: nop - IL_0028: br.s IL_0033 - - IL_002a: nop - IL_002b: br.s IL_0031 - - IL_002d: nop - IL_002e: br.s IL_0037 - - IL_0030: nop - IL_0031: ldc.i4.1 - IL_0032: ret - - IL_0033: ldc.i4.1 - IL_0034: ret - - IL_0035: ldc.i4.1 - IL_0036: ret - - IL_0037: ldc.i4.0 - IL_0038: ret - } - - .method public strict virtual instance int32 - get_LastGenerated() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::current - IL_0006: ret - } - - .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 - GetFreshEnumerator() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldnull - IL_0001: ldnull - IL_0002: ldc.i4.0 - IL_0003: ldc.i4.0 - IL_0004: newobj instance void SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - int32, - int32) - IL_0009: ret - } - - } - - .method public static class [runtime]System.Collections.Generic.IEnumerable`1 - f4() cil managed - { - - .maxstack 8 - IL_0000: ldnull - IL_0001: ldnull - IL_0002: ldc.i4.0 - IL_0003: ldc.i4.0 - IL_0004: newobj instance void SeqExpressionSteppingTest5/SeqExpressionSteppingTest5/f4@6::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1, - int32, - int32) - IL_0009: ret - } - - } - -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest5 - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 3 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0) - IL_0000: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest5/SeqExpressionSteppingTest5::f4() - IL_0005: stloc.0 - IL_0006: ldloc.0 - IL_0007: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_000c: pop - IL_000d: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs.il.bsl deleted file mode 100644 index a7bc0f97c68..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs.il.bsl +++ /dev/null @@ -1,484 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest6 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public SeqExpressionSteppingTest6 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto autochar serializable sealed nested assembly beforefieldinit specialname f7@6 - extends class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1 - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .field public class [runtime]System.Collections.Generic.IEnumerator`1 'enum' - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public class [runtime]System.Collections.Generic.IEnumerator`1 enum0 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public int32 pc - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public int32 current - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class [runtime]System.Collections.Generic.IEnumerator`1 'enum', - class [runtime]System.Collections.Generic.IEnumerator`1 enum0, - int32 pc, - int32 current) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' - IL_0007: ldarg.0 - IL_0008: ldarg.2 - IL_0009: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 - IL_000e: ldarg.0 - IL_000f: ldarg.3 - IL_0010: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0015: ldarg.0 - IL_0016: ldarg.s current - IL_0018: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current - IL_001d: ldarg.0 - IL_001e: call instance void class [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1::.ctor() - IL_0023: ret - } - - .method public strict virtual instance int32 - GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1& next) cil managed - { - - .maxstack 6 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0006: ldc.i4.1 - IL_0007: sub - IL_0008: switch ( - IL_0023, - IL_0026, - IL_0029, - IL_002f, - IL_0035) - IL_0021: br.s IL_003b - - IL_0023: nop - IL_0024: br.s IL_008e - - IL_0026: nop - IL_0027: br.s IL_0081 - - IL_0029: nop - IL_002a: br IL_00fa - - IL_002f: nop - IL_0030: br IL_00ed - - IL_0035: nop - IL_0036: br IL_011b - - IL_003b: nop - IL_003c: ldarg.0 - IL_003d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::get_es() - IL_0042: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0047: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' - IL_004c: ldarg.0 - IL_004d: ldc.i4.1 - IL_004e: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0053: br.s IL_0081 - - IL_0055: ldarg.0 - IL_0056: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' - IL_005b: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0060: stloc.0 - IL_0061: ldstr "hello" - IL_0066: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_006b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0070: pop - IL_0071: ldarg.0 - IL_0072: ldc.i4.2 - IL_0073: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0078: ldarg.0 - IL_0079: ldloc.0 - IL_007a: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current - IL_007f: ldc.i4.1 - IL_0080: ret - - IL_0081: ldarg.0 - IL_0082: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' - IL_0087: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_008c: brtrue.s IL_0055 - - IL_008e: ldarg.0 - IL_008f: ldc.i4.5 - IL_0090: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0095: ldarg.0 - IL_0096: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' - IL_009b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) - IL_00a0: nop - IL_00a1: ldarg.0 - IL_00a2: ldnull - IL_00a3: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' - IL_00a8: ldarg.0 - IL_00a9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::get_es() - IL_00ae: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_00b3: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 - IL_00b8: ldarg.0 - IL_00b9: ldc.i4.3 - IL_00ba: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_00bf: br.s IL_00ed - - IL_00c1: ldarg.0 - IL_00c2: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 - IL_00c7: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_00cc: stloc.1 - IL_00cd: ldstr "goodbye" - IL_00d2: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_00d7: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_00dc: pop - IL_00dd: ldarg.0 - IL_00de: ldc.i4.4 - IL_00df: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_00e4: ldarg.0 - IL_00e5: ldloc.1 - IL_00e6: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current - IL_00eb: ldc.i4.1 - IL_00ec: ret - - IL_00ed: ldarg.0 - IL_00ee: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 - IL_00f3: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_00f8: brtrue.s IL_00c1 - - IL_00fa: ldarg.0 - IL_00fb: ldc.i4.5 - IL_00fc: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0101: ldarg.0 - IL_0102: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 - IL_0107: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) - IL_010c: nop - IL_010d: ldarg.0 - IL_010e: ldnull - IL_010f: stfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 - IL_0114: ldarg.0 - IL_0115: ldc.i4.5 - IL_0116: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_011b: ldarg.0 - IL_011c: ldc.i4.0 - IL_011d: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current - IL_0122: ldc.i4.0 - IL_0123: ret - } - - .method public strict virtual instance void - Close() cil managed - { - - .maxstack 6 - .locals init (class [runtime]System.Exception V_0, - class [runtime]System.Exception V_1) - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0006: ldc.i4.5 - IL_0007: sub - IL_0008: switch ( - IL_0013) - IL_0011: br.s IL_0019 - - IL_0013: nop - IL_0014: br IL_009e - - IL_0019: nop - .try - { - IL_001a: ldarg.0 - IL_001b: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0020: switch ( - IL_003f, - IL_0042, - IL_0045, - IL_0048, - IL_004b, - IL_004e) - IL_003d: br.s IL_0051 - - IL_003f: nop - IL_0040: br.s IL_007e - - IL_0042: nop - IL_0043: br.s IL_006a - - IL_0045: nop - IL_0046: br.s IL_0069 - - IL_0048: nop - IL_0049: br.s IL_0053 - - IL_004b: nop - IL_004c: br.s IL_0052 - - IL_004e: nop - IL_004f: br.s IL_007e - - IL_0051: nop - IL_0052: nop - IL_0053: ldarg.0 - IL_0054: ldc.i4.5 - IL_0055: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_005a: ldarg.0 - IL_005b: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::enum0 - IL_0060: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) - IL_0065: nop - IL_0066: nop - IL_0067: br.s IL_007e - - IL_0069: nop - IL_006a: ldarg.0 - IL_006b: ldc.i4.5 - IL_006c: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0071: ldarg.0 - IL_0072: ldfld class [runtime]System.Collections.Generic.IEnumerator`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::'enum' - IL_0077: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::Dispose>(!!0) - IL_007c: nop - IL_007d: nop - IL_007e: ldarg.0 - IL_007f: ldc.i4.5 - IL_0080: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0085: ldarg.0 - IL_0086: ldc.i4.0 - IL_0087: stfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current - IL_008c: leave.s IL_0098 - - } - catch [runtime]System.Object - { - IL_008e: castclass [runtime]System.Exception - IL_0093: stloc.1 - IL_0094: ldloc.1 - IL_0095: stloc.0 - IL_0096: leave.s IL_0098 - - } - IL_0098: nop - IL_0099: br IL_0000 - - IL_009e: ldloc.0 - IL_009f: brfalse.s IL_00a3 - - IL_00a1: ldloc.0 - IL_00a2: throw - - IL_00a3: ret - } - - .method public strict virtual instance bool - get_CheckClose() cil managed - { - - .maxstack 5 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::pc - IL_0006: switch ( - IL_0025, - IL_0028, - IL_002b, - IL_002e, - IL_0031, - IL_0034) - IL_0023: br.s IL_0037 - - IL_0025: nop - IL_0026: br.s IL_0040 - - IL_0028: nop - IL_0029: br.s IL_003e - - IL_002b: nop - IL_002c: br.s IL_003c - - IL_002e: nop - IL_002f: br.s IL_003a - - IL_0031: nop - IL_0032: br.s IL_0038 - - IL_0034: nop - IL_0035: br.s IL_0040 - - IL_0037: nop - IL_0038: ldc.i4.1 - IL_0039: ret - - IL_003a: ldc.i4.1 - IL_003b: ret - - IL_003c: ldc.i4.1 - IL_003d: ret - - IL_003e: ldc.i4.1 - IL_003f: ret - - IL_0040: ldc.i4.0 - IL_0041: ret - } - - .method public strict virtual instance int32 - get_LastGenerated() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::current - IL_0006: ret - } - - .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1 - GetFreshEnumerator() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldnull - IL_0001: ldnull - IL_0002: ldc.i4.0 - IL_0003: ldc.i4.0 - IL_0004: newobj instance void SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, - class [runtime]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_0009: ret - } - - } - - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_es() cil managed - { - - .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$SeqExpressionSteppingTest6::es@4 - IL_0005: ret - } - - .method public static class [runtime]System.Collections.Generic.IEnumerable`1 - f7() cil managed - { - - .maxstack 8 - IL_0000: ldnull - IL_0001: ldnull - IL_0002: ldc.i4.0 - IL_0003: ldc.i4.0 - IL_0004: newobj instance void SeqExpressionSteppingTest6/SeqExpressionSteppingTest6/f7@6::.ctor(class [runtime]System.Collections.Generic.IEnumerator`1, - class [runtime]System.Collections.Generic.IEnumerator`1, - int32, - int32) - IL_0009: ret - } - - .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - es() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::get_es() - } - } - -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest6 - extends [runtime]System.Object -{ - .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 es@4 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 6 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [runtime]System.Collections.Generic.IEnumerable`1 V_1) - IL_0000: ldc.i4.1 - IL_0001: ldc.i4.2 - IL_0002: ldc.i4.3 - IL_0003: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0008: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0012: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0017: dup - IL_0018: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$SeqExpressionSteppingTest6::es@4 - IL_001d: stloc.0 - IL_001e: call class [runtime]System.Collections.Generic.IEnumerable`1 SeqExpressionSteppingTest6/SeqExpressionSteppingTest6::f7() - IL_0023: stloc.1 - IL_0024: ldloc.1 - IL_0025: call int32 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::Length(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_002a: pop - IL_002b: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl deleted file mode 100644 index d96fed2e849..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl +++ /dev/null @@ -1,815 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static int32 - get_r() cil managed - { - - .maxstack 8 - IL_0000: ldsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0005: ret - } - - .method public specialname static void - set_r(int32 'value') cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - f() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - string V_1) - IL_0000: nop - IL_0001: nop - IL_0002: call int32 SeqExpressionSteppingTest7::get_r() - IL_0007: ldc.i4.1 - IL_0008: add - IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) - IL_000e: ldc.i4.1 - IL_000f: brfalse.s IL_0034 - - IL_0011: ldstr "" - IL_0016: stloc.1 - IL_0017: ldloca.s V_0 - IL_0019: ldc.i4.0 - IL_001a: brfalse.s IL_0024 - - IL_001c: ldnull - IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 - IL_0022: br.s IL_002b - - IL_0024: ldloc.1 - IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_002a: throw - - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0030: nop - IL_0031: nop - IL_0032: br.s IL_0035 - - IL_0034: nop - IL_0035: ldloca.s V_0 - IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_003c: ret - } - - .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_001d - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldloc.1 - IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0023: brtrue.s IL_000b - - IL_0025: leave.s IL_0039 - - } - finally - { - IL_0027: ldloc.1 - IL_0028: isinst [runtime]System.IDisposable - IL_002d: stloc.3 - IL_002e: ldloc.3 - IL_002f: brfalse.s IL_0038 - - IL_0031: ldloc.3 - IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0037: endfinally - IL_0038: endfinally - } - IL_0039: ret - } - - .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_0028 - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldstr "{0}" - IL_0022: ldloc.2 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_0028: ldloc.1 - IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002e: brtrue.s IL_000b - - IL_0030: leave.s IL_0044 - - } - finally - { - IL_0032: ldloc.1 - IL_0033: isinst [runtime]System.IDisposable - IL_0038: stloc.3 - IL_0039: ldloc.3 - IL_003a: brfalse.s IL_0043 - - IL_003c: ldloc.3 - IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0042: endfinally - IL_0043: endfinally - } - IL_0044: ret - } - - .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0022 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 - - IL_0028: ret - } - - .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0032 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, - object) - IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 - - IL_0038: ret - } - - .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_002b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldloc.1 - IL_0023: stloc.0 - IL_0024: ldloc.0 - IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_002a: stloc.1 - IL_002b: ldloc.1 - IL_002c: brtrue.s IL_000b - - IL_002e: ret - } - - .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_003b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldstr "{0}" - IL_0027: ldloc.2 - IL_0028: box [runtime]System.Int32 - IL_002d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0032: ldloc.1 - IL_0033: stloc.0 - IL_0034: ldloc.0 - IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003a: stloc.1 - IL_003b: ldloc.1 - IL_003c: brtrue.s IL_000b - - IL_003e: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0029 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldloc.1 - IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002f: brtrue.s IL_0012 - - IL_0031: leave.s IL_0045 - - } - finally - { - IL_0033: ldloc.1 - IL_0034: isinst [runtime]System.IDisposable - IL_0039: stloc.3 - IL_003a: ldloc.3 - IL_003b: brfalse.s IL_0044 - - IL_003d: ldloc.3 - IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0043: endfinally - IL_0044: endfinally - } - IL_0045: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0039 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldstr "{0}" - IL_002e: ldloc.2 - IL_002f: box [runtime]System.Int32 - IL_0034: call void [runtime]System.Console::WriteLine(string, - object) - IL_0039: ldloc.1 - IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_003f: brtrue.s IL_0012 - - IL_0041: leave.s IL_0055 - - } - finally - { - IL_0043: ldloc.1 - IL_0044: isinst [runtime]System.IDisposable - IL_0049: stloc.3 - IL_004a: ldloc.3 - IL_004b: brfalse.s IL_0054 - - IL_004d: ldloc.3 - IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0053: endfinally - IL_0054: endfinally - } - IL_0055: ret - } - - .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: sub - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: sub - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: sub - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: sub - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - ListExpressionSteppingTest7() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - class [runtime]System.Collections.Generic.IEnumerable`1 V_2, - int32 V_3, - class [runtime]System.IDisposable V_4) - IL_0000: nop - IL_0001: ldc.i4.1 - IL_0002: ldc.i4.1 - IL_0003: ldc.i4.4 - IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000e: stloc.1 - .try - { - IL_000f: br.s IL_0031 - - IL_0011: ldloc.1 - IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0017: stloc.3 - IL_0018: ldstr "hello" - IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0027: pop - IL_0028: ldloca.s V_0 - IL_002a: ldloc.3 - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0030: nop - IL_0031: ldloc.1 - IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0037: brtrue.s IL_0011 - - IL_0039: ldnull - IL_003a: stloc.2 - IL_003b: leave.s IL_0052 - - } - finally - { - IL_003d: ldloc.1 - IL_003e: isinst [runtime]System.IDisposable - IL_0043: stloc.s V_4 - IL_0045: ldloc.s V_4 - IL_0047: brfalse.s IL_0051 - - IL_0049: ldloc.s V_4 - IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0050: endfinally - IL_0051: endfinally - } - IL_0052: ldloc.2 - IL_0053: pop - IL_0054: ldloca.s V_0 - IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_005b: ret - } - - .property int32 r() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .set void SeqExpressionSteppingTest7::set_r(int32) - .get int32 SeqExpressionSteppingTest7::get_r() - } -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .field static assembly int32 r@4 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - class [runtime]System.Exception V_2, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) - IL_0000: ldc.i4.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ldstr "res = %A" - IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) - IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0015: stloc.0 - .try - { - IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() - IL_001b: stloc.1 - IL_001c: leave.s IL_004b - - } - catch [runtime]System.Object - { - IL_001e: castclass [runtime]System.Exception - IL_0023: stloc.2 - IL_0024: ldloc.2 - IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) - IL_002a: stloc.3 - IL_002b: ldloc.3 - IL_002c: brfalse.s IL_0040 - - IL_002e: call int32 SeqExpressionSteppingTest7::get_r() - IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_003d: stloc.1 - IL_003e: leave.s IL_004b - - IL_0040: rethrow - IL_0042: ldnull - IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - IL_0048: stloc.1 - IL_0049: leave.s IL_004b - - } - IL_004b: ldloc.0 - IL_004c: ldloc.1 - IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) - IL_0052: pop - IL_0053: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.release.bsl deleted file mode 100644 index d96fed2e849..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.net472.release.bsl +++ /dev/null @@ -1,815 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static int32 - get_r() cil managed - { - - .maxstack 8 - IL_0000: ldsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0005: ret - } - - .method public specialname static void - set_r(int32 'value') cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - f() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - string V_1) - IL_0000: nop - IL_0001: nop - IL_0002: call int32 SeqExpressionSteppingTest7::get_r() - IL_0007: ldc.i4.1 - IL_0008: add - IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) - IL_000e: ldc.i4.1 - IL_000f: brfalse.s IL_0034 - - IL_0011: ldstr "" - IL_0016: stloc.1 - IL_0017: ldloca.s V_0 - IL_0019: ldc.i4.0 - IL_001a: brfalse.s IL_0024 - - IL_001c: ldnull - IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 - IL_0022: br.s IL_002b - - IL_0024: ldloc.1 - IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_002a: throw - - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0030: nop - IL_0031: nop - IL_0032: br.s IL_0035 - - IL_0034: nop - IL_0035: ldloca.s V_0 - IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_003c: ret - } - - .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_001d - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldloc.1 - IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0023: brtrue.s IL_000b - - IL_0025: leave.s IL_0039 - - } - finally - { - IL_0027: ldloc.1 - IL_0028: isinst [runtime]System.IDisposable - IL_002d: stloc.3 - IL_002e: ldloc.3 - IL_002f: brfalse.s IL_0038 - - IL_0031: ldloc.3 - IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0037: endfinally - IL_0038: endfinally - } - IL_0039: ret - } - - .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_0028 - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldstr "{0}" - IL_0022: ldloc.2 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_0028: ldloc.1 - IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002e: brtrue.s IL_000b - - IL_0030: leave.s IL_0044 - - } - finally - { - IL_0032: ldloc.1 - IL_0033: isinst [runtime]System.IDisposable - IL_0038: stloc.3 - IL_0039: ldloc.3 - IL_003a: brfalse.s IL_0043 - - IL_003c: ldloc.3 - IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0042: endfinally - IL_0043: endfinally - } - IL_0044: ret - } - - .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0022 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 - - IL_0028: ret - } - - .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0032 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, - object) - IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 - - IL_0038: ret - } - - .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_002b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldloc.1 - IL_0023: stloc.0 - IL_0024: ldloc.0 - IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_002a: stloc.1 - IL_002b: ldloc.1 - IL_002c: brtrue.s IL_000b - - IL_002e: ret - } - - .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_003b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldstr "{0}" - IL_0027: ldloc.2 - IL_0028: box [runtime]System.Int32 - IL_002d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0032: ldloc.1 - IL_0033: stloc.0 - IL_0034: ldloc.0 - IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003a: stloc.1 - IL_003b: ldloc.1 - IL_003c: brtrue.s IL_000b - - IL_003e: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0029 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldloc.1 - IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002f: brtrue.s IL_0012 - - IL_0031: leave.s IL_0045 - - } - finally - { - IL_0033: ldloc.1 - IL_0034: isinst [runtime]System.IDisposable - IL_0039: stloc.3 - IL_003a: ldloc.3 - IL_003b: brfalse.s IL_0044 - - IL_003d: ldloc.3 - IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0043: endfinally - IL_0044: endfinally - } - IL_0045: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0039 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldstr "{0}" - IL_002e: ldloc.2 - IL_002f: box [runtime]System.Int32 - IL_0034: call void [runtime]System.Console::WriteLine(string, - object) - IL_0039: ldloc.1 - IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_003f: brtrue.s IL_0012 - - IL_0041: leave.s IL_0055 - - } - finally - { - IL_0043: ldloc.1 - IL_0044: isinst [runtime]System.IDisposable - IL_0049: stloc.3 - IL_004a: ldloc.3 - IL_004b: brfalse.s IL_0054 - - IL_004d: ldloc.3 - IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0053: endfinally - IL_0054: endfinally - } - IL_0055: ret - } - - .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: sub - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: sub - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: sub - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: sub - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - ListExpressionSteppingTest7() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - class [runtime]System.Collections.Generic.IEnumerable`1 V_2, - int32 V_3, - class [runtime]System.IDisposable V_4) - IL_0000: nop - IL_0001: ldc.i4.1 - IL_0002: ldc.i4.1 - IL_0003: ldc.i4.4 - IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000e: stloc.1 - .try - { - IL_000f: br.s IL_0031 - - IL_0011: ldloc.1 - IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0017: stloc.3 - IL_0018: ldstr "hello" - IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0027: pop - IL_0028: ldloca.s V_0 - IL_002a: ldloc.3 - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0030: nop - IL_0031: ldloc.1 - IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0037: brtrue.s IL_0011 - - IL_0039: ldnull - IL_003a: stloc.2 - IL_003b: leave.s IL_0052 - - } - finally - { - IL_003d: ldloc.1 - IL_003e: isinst [runtime]System.IDisposable - IL_0043: stloc.s V_4 - IL_0045: ldloc.s V_4 - IL_0047: brfalse.s IL_0051 - - IL_0049: ldloc.s V_4 - IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0050: endfinally - IL_0051: endfinally - } - IL_0052: ldloc.2 - IL_0053: pop - IL_0054: ldloca.s V_0 - IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_005b: ret - } - - .property int32 r() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .set void SeqExpressionSteppingTest7::set_r(int32) - .get int32 SeqExpressionSteppingTest7::get_r() - } -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .field static assembly int32 r@4 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - class [runtime]System.Exception V_2, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) - IL_0000: ldc.i4.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ldstr "res = %A" - IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) - IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0015: stloc.0 - .try - { - IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() - IL_001b: stloc.1 - IL_001c: leave.s IL_004b - - } - catch [runtime]System.Object - { - IL_001e: castclass [runtime]System.Exception - IL_0023: stloc.2 - IL_0024: ldloc.2 - IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) - IL_002a: stloc.3 - IL_002b: ldloc.3 - IL_002c: brfalse.s IL_0040 - - IL_002e: call int32 SeqExpressionSteppingTest7::get_r() - IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_003d: stloc.1 - IL_003e: leave.s IL_004b - - IL_0040: rethrow - IL_0042: ldnull - IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - IL_0048: stloc.1 - IL_0049: leave.s IL_004b - - } - IL_004b: ldloc.0 - IL_004c: ldloc.1 - IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) - IL_0052: pop - IL_0053: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl deleted file mode 100644 index fd8f60ce0c4..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl +++ /dev/null @@ -1,816 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly extern runtime { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static int32 - get_r() cil managed - { - - .maxstack 8 - IL_0000: ldsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0005: ret - } - - .method public specialname static void - set_r(int32 'value') cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - f() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - string V_1) - IL_0000: nop - IL_0001: nop - IL_0002: call int32 SeqExpressionSteppingTest7::get_r() - IL_0007: ldc.i4.1 - IL_0008: add - IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) - IL_000e: ldc.i4.1 - IL_000f: brfalse.s IL_0034 - - IL_0011: ldstr "" - IL_0016: stloc.1 - IL_0017: ldloca.s V_0 - IL_0019: ldc.i4.0 - IL_001a: brfalse.s IL_0024 - - IL_001c: ldnull - IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 - IL_0022: br.s IL_002b - - IL_0024: ldloc.1 - IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_002a: throw - - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0030: nop - IL_0031: nop - IL_0032: br.s IL_0035 - - IL_0034: nop - IL_0035: ldloca.s V_0 - IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_003c: ret - } - - .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_001d - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldloc.1 - IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0023: brtrue.s IL_000b - - IL_0025: leave.s IL_0039 - - } - finally - { - IL_0027: ldloc.1 - IL_0028: isinst [runtime]System.IDisposable - IL_002d: stloc.3 - IL_002e: ldloc.3 - IL_002f: brfalse.s IL_0038 - - IL_0031: ldloc.3 - IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0037: endfinally - IL_0038: endfinally - } - IL_0039: ret - } - - .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_0028 - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldstr "{0}" - IL_0022: ldloc.2 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_0028: ldloc.1 - IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002e: brtrue.s IL_000b - - IL_0030: leave.s IL_0044 - - } - finally - { - IL_0032: ldloc.1 - IL_0033: isinst [runtime]System.IDisposable - IL_0038: stloc.3 - IL_0039: ldloc.3 - IL_003a: brfalse.s IL_0043 - - IL_003c: ldloc.3 - IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0042: endfinally - IL_0043: endfinally - } - IL_0044: ret - } - - .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0022 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 - - IL_0028: ret - } - - .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0032 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, - object) - IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 - - IL_0038: ret - } - - .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_002b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldloc.1 - IL_0023: stloc.0 - IL_0024: ldloc.0 - IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_002a: stloc.1 - IL_002b: ldloc.1 - IL_002c: brtrue.s IL_000b - - IL_002e: ret - } - - .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_003b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldstr "{0}" - IL_0027: ldloc.2 - IL_0028: box [runtime]System.Int32 - IL_002d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0032: ldloc.1 - IL_0033: stloc.0 - IL_0034: ldloc.0 - IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003a: stloc.1 - IL_003b: ldloc.1 - IL_003c: brtrue.s IL_000b - - IL_003e: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0029 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldloc.1 - IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002f: brtrue.s IL_0012 - - IL_0031: leave.s IL_0045 - - } - finally - { - IL_0033: ldloc.1 - IL_0034: isinst [runtime]System.IDisposable - IL_0039: stloc.3 - IL_003a: ldloc.3 - IL_003b: brfalse.s IL_0044 - - IL_003d: ldloc.3 - IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0043: endfinally - IL_0044: endfinally - } - IL_0045: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0039 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldstr "{0}" - IL_002e: ldloc.2 - IL_002f: box [runtime]System.Int32 - IL_0034: call void [runtime]System.Console::WriteLine(string, - object) - IL_0039: ldloc.1 - IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_003f: brtrue.s IL_0012 - - IL_0041: leave.s IL_0055 - - } - finally - { - IL_0043: ldloc.1 - IL_0044: isinst [runtime]System.IDisposable - IL_0049: stloc.3 - IL_004a: ldloc.3 - IL_004b: brfalse.s IL_0054 - - IL_004d: ldloc.3 - IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0053: endfinally - IL_0054: endfinally - } - IL_0055: ret - } - - .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: sub - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: sub - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: sub - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: sub - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - ListExpressionSteppingTest7() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - class [runtime]System.Collections.Generic.IEnumerable`1 V_2, - int32 V_3, - class [runtime]System.IDisposable V_4) - IL_0000: nop - IL_0001: ldc.i4.1 - IL_0002: ldc.i4.1 - IL_0003: ldc.i4.4 - IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000e: stloc.1 - .try - { - IL_000f: br.s IL_0031 - - IL_0011: ldloc.1 - IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0017: stloc.3 - IL_0018: ldstr "hello" - IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0027: pop - IL_0028: ldloca.s V_0 - IL_002a: ldloc.3 - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0030: nop - IL_0031: ldloc.1 - IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0037: brtrue.s IL_0011 - - IL_0039: ldnull - IL_003a: stloc.2 - IL_003b: leave.s IL_0052 - - } - finally - { - IL_003d: ldloc.1 - IL_003e: isinst [runtime]System.IDisposable - IL_0043: stloc.s V_4 - IL_0045: ldloc.s V_4 - IL_0047: brfalse.s IL_0051 - - IL_0049: ldloc.s V_4 - IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0050: endfinally - IL_0051: endfinally - } - IL_0052: ldloc.2 - IL_0053: pop - IL_0054: ldloca.s V_0 - IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_005b: ret - } - - .property int32 r() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .set void SeqExpressionSteppingTest7::set_r(int32) - .get int32 SeqExpressionSteppingTest7::get_r() - } -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .field static assembly int32 r@4 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - class [runtime]System.Exception V_2, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) - IL_0000: ldc.i4.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ldstr "res = %A" - IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) - IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0015: stloc.0 - .try - { - IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() - IL_001b: stloc.1 - IL_001c: leave.s IL_004b - - } - catch [runtime]System.Object - { - IL_001e: castclass [runtime]System.Exception - IL_0023: stloc.2 - IL_0024: ldloc.2 - IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) - IL_002a: stloc.3 - IL_002b: ldloc.3 - IL_002c: brfalse.s IL_0040 - - IL_002e: call int32 SeqExpressionSteppingTest7::get_r() - IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_003d: stloc.1 - IL_003e: leave.s IL_004b - - IL_0040: rethrow - IL_0042: ldnull - IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - IL_0048: stloc.1 - IL_0049: leave.s IL_004b - - } - IL_004b: ldloc.0 - IL_004c: ldloc.1 - IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) - IL_0052: pop - IL_0053: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl deleted file mode 100644 index fd8f60ce0c4..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl +++ /dev/null @@ -1,816 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly extern runtime { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static int32 - get_r() cil managed - { - - .maxstack 8 - IL_0000: ldsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0005: ret - } - - .method public specialname static void - set_r(int32 'value') cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - f() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - string V_1) - IL_0000: nop - IL_0001: nop - IL_0002: call int32 SeqExpressionSteppingTest7::get_r() - IL_0007: ldc.i4.1 - IL_0008: add - IL_0009: call void SeqExpressionSteppingTest7::set_r(int32) - IL_000e: ldc.i4.1 - IL_000f: brfalse.s IL_0034 - - IL_0011: ldstr "" - IL_0016: stloc.1 - IL_0017: ldloca.s V_0 - IL_0019: ldc.i4.0 - IL_001a: brfalse.s IL_0024 - - IL_001c: ldnull - IL_001d: unbox.any class [runtime]System.Collections.Generic.IEnumerable`1 - IL_0022: br.s IL_002b - - IL_0024: ldloc.1 - IL_0025: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) - IL_002a: throw - - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::AddMany(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0030: nop - IL_0031: nop - IL_0032: br.s IL_0035 - - IL_0034: nop - IL_0035: ldloca.s V_0 - IL_0037: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_003c: ret - } - - .method public static void testSimpleForEachSeqLoopWithOneStatement(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_001d - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldloc.1 - IL_001e: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0023: brtrue.s IL_000b - - IL_0025: leave.s IL_0039 - - } - finally - { - IL_0027: ldloc.1 - IL_0028: isinst [runtime]System.IDisposable - IL_002d: stloc.3 - IL_002e: ldloc.3 - IL_002f: brfalse.s IL_0038 - - IL_0031: ldloc.3 - IL_0032: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0037: endfinally - IL_0038: endfinally - } - IL_0039: ret - } - - .method public static void testSimpleForEachSeqLoopWithTwoStatements(class [runtime]System.Collections.Generic.IEnumerable`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - object[] V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_0028 - - IL_000b: ldloc.1 - IL_000c: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_001d: ldstr "{0}" - IL_0022: ldloc.2 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object[]) - IL_0028: ldloc.1 - IL_0029: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002e: brtrue.s IL_000b - - IL_0030: leave.s IL_0044 - - } - finally - { - IL_0032: ldloc.1 - IL_0033: isinst [runtime]System.IDisposable - IL_0038: stloc.3 - IL_0039: ldloc.3 - IL_003a: brfalse.s IL_0043 - - IL_003c: ldloc.3 - IL_003d: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0042: endfinally - IL_0043: endfinally - } - IL_0044: ret - } - - .method public static void testSimpleForEachArrayLoopWithOneStatement(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0022 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldloc.1 - IL_001f: ldc.i4.1 - IL_0020: add - IL_0021: stloc.1 - IL_0022: ldloc.1 - IL_0023: ldloc.0 - IL_0024: ldlen - IL_0025: conv.i4 - IL_0026: blt.s IL_0006 - - IL_0028: ret - } - - .method public static void testSimpleForEachArrayLoopWithTwoStatements(int32[] inp) cil managed - { - - .maxstack 4 - .locals init (int32[] V_0, - int32 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldc.i4.0 - IL_0003: stloc.1 - IL_0004: br.s IL_0032 - - IL_0006: ldloc.0 - IL_0007: ldloc.1 - IL_0008: ldelem [runtime]System.Int32 - IL_000d: stloc.2 - IL_000e: ldstr "{0}" - IL_0013: ldloc.2 - IL_0014: box [runtime]System.Int32 - IL_0019: call void [runtime]System.Console::WriteLine(string, - object) - IL_001e: ldstr "{0}" - IL_0023: ldloc.2 - IL_0024: box [runtime]System.Int32 - IL_0029: call void [runtime]System.Console::WriteLine(string, - object) - IL_002e: ldloc.1 - IL_002f: ldc.i4.1 - IL_0030: add - IL_0031: stloc.1 - IL_0032: ldloc.1 - IL_0033: ldloc.0 - IL_0034: ldlen - IL_0035: conv.i4 - IL_0036: blt.s IL_0006 - - IL_0038: ret - } - - .method public static void testSimpleForEachListLoopWithOneStatement(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_002b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldloc.1 - IL_0023: stloc.0 - IL_0024: ldloc.0 - IL_0025: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_002a: stloc.1 - IL_002b: ldloc.1 - IL_002c: brtrue.s IL_000b - - IL_002e: ret - } - - .method public static void testSimpleForEachListLoopWithTwoStatements(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 inp) cil managed - { - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - int32 V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_0008: stloc.1 - IL_0009: br.s IL_003b - - IL_000b: ldloc.0 - IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_HeadOrDefault() - IL_0011: stloc.2 - IL_0012: ldstr "{0}" - IL_0017: ldloc.2 - IL_0018: box [runtime]System.Int32 - IL_001d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0022: ldstr "{0}" - IL_0027: ldloc.2 - IL_0028: box [runtime]System.Int32 - IL_002d: call void [runtime]System.Console::WriteLine(string, - object) - IL_0032: ldloc.1 - IL_0033: stloc.0 - IL_0034: ldloc.0 - IL_0035: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_TailOrNull() - IL_003a: stloc.1 - IL_003b: ldloc.1 - IL_003c: brtrue.s IL_000b - - IL_003e: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntRangeLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0029 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldloc.1 - IL_002a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_002f: brtrue.s IL_0012 - - IL_0031: leave.s IL_0045 - - } - finally - { - IL_0033: ldloc.1 - IL_0034: isinst [runtime]System.IDisposable - IL_0039: stloc.3 - IL_003a: ldloc.3 - IL_003b: brfalse.s IL_0044 - - IL_003d: ldloc.3 - IL_003e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0043: endfinally - IL_0044: endfinally - } - IL_0045: ret - } - - .method public static void testSimpleForEachIntRangeLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (class [runtime]System.Collections.Generic.IEnumerable`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - int32 V_2, - class [runtime]System.IDisposable V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.m1 - IL_0002: ldarg.1 - IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0008: stloc.0 - IL_0009: ldloc.0 - IL_000a: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000f: stloc.1 - .try - { - IL_0010: br.s IL_0039 - - IL_0012: ldloc.1 - IL_0013: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0018: stloc.2 - IL_0019: ldstr "{0}" - IL_001e: ldloc.2 - IL_001f: box [runtime]System.Int32 - IL_0024: call void [runtime]System.Console::WriteLine(string, - object) - IL_0029: ldstr "{0}" - IL_002e: ldloc.2 - IL_002f: box [runtime]System.Int32 - IL_0034: call void [runtime]System.Console::WriteLine(string, - object) - IL_0039: ldloc.1 - IL_003a: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_003f: brtrue.s IL_0012 - - IL_0041: leave.s IL_0055 - - } - finally - { - IL_0043: ldloc.1 - IL_0044: isinst [runtime]System.IDisposable - IL_0049: stloc.3 - IL_004a: ldloc.3 - IL_004b: brfalse.s IL_0054 - - IL_004d: ldloc.3 - IL_004e: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0053: endfinally - IL_0054: endfinally - } - IL_0055: ret - } - - .method public static void testSimpleForEachIntLoopWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: add - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.0 - IL_0001: stloc.1 - IL_0002: ldarg.1 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: blt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: add - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: add - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static void testSimpleForEachIntLoopDownWithOneStatement(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0022 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldloc.1 - IL_0019: ldc.i4.1 - IL_001a: sub - IL_001b: stloc.1 - IL_001c: ldloc.1 - IL_001d: ldloc.0 - IL_001e: ldc.i4.1 - IL_001f: sub - IL_0020: bne.un.s IL_0008 - - IL_0022: ret - } - - .method public static void testSimpleForEachIntLoopDownWithTwoStatements(int32 start, - int32 stop) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - int32 V_1) - IL_0000: ldarg.1 - IL_0001: stloc.1 - IL_0002: ldarg.0 - IL_0003: stloc.0 - IL_0004: ldloc.0 - IL_0005: ldloc.1 - IL_0006: bgt.s IL_0032 - - IL_0008: ldstr "{0}" - IL_000d: ldloc.1 - IL_000e: box [runtime]System.Int32 - IL_0013: call void [runtime]System.Console::WriteLine(string, - object) - IL_0018: ldstr "{0}" - IL_001d: ldloc.1 - IL_001e: box [runtime]System.Int32 - IL_0023: call void [runtime]System.Console::WriteLine(string, - object) - IL_0028: ldloc.1 - IL_0029: ldc.i4.1 - IL_002a: sub - IL_002b: stloc.1 - IL_002c: ldloc.1 - IL_002d: ldloc.0 - IL_002e: ldc.i4.1 - IL_002f: sub - IL_0030: bne.un.s IL_0008 - - IL_0032: ret - } - - .method public static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - ListExpressionSteppingTest7() cil managed - { - - .maxstack 5 - .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1 V_0, - class [runtime]System.Collections.Generic.IEnumerator`1 V_1, - class [runtime]System.Collections.Generic.IEnumerable`1 V_2, - int32 V_3, - class [runtime]System.IDisposable V_4) - IL_0000: nop - IL_0001: ldc.i4.1 - IL_0002: ldc.i4.1 - IL_0003: ldc.i4.4 - IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0009: callvirt instance class [runtime]System.Collections.Generic.IEnumerator`1 class [runtime]System.Collections.Generic.IEnumerable`1::GetEnumerator() - IL_000e: stloc.1 - .try - { - IL_000f: br.s IL_0031 - - IL_0011: ldloc.1 - IL_0012: callvirt instance !0 class [runtime]System.Collections.Generic.IEnumerator`1::get_Current() - IL_0017: stloc.3 - IL_0018: ldstr "hello" - IL_001d: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_0022: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0027: pop - IL_0028: ldloca.s V_0 - IL_002a: ldloc.3 - IL_002b: call instance void valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Add(!0) - IL_0030: nop - IL_0031: ldloc.1 - IL_0032: callvirt instance bool [runtime]System.Collections.IEnumerator::MoveNext() - IL_0037: brtrue.s IL_0011 - - IL_0039: ldnull - IL_003a: stloc.2 - IL_003b: leave.s IL_0052 - - } - finally - { - IL_003d: ldloc.1 - IL_003e: isinst [runtime]System.IDisposable - IL_0043: stloc.s V_4 - IL_0045: ldloc.s V_4 - IL_0047: brfalse.s IL_0051 - - IL_0049: ldloc.s V_4 - IL_004b: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_0050: endfinally - IL_0051: endfinally - } - IL_0052: ldloc.2 - IL_0053: pop - IL_0054: ldloca.s V_0 - IL_0056: call instance class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 valuetype [FSharp.Core]Microsoft.FSharp.Core.CompilerServices.ListCollector`1::Close() - IL_005b: ret - } - - .property int32 r() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .set void SeqExpressionSteppingTest7::set_r(int32) - .get int32 SeqExpressionSteppingTest7::get_r() - } -} - -.class private abstract auto ansi sealed ''.$SeqExpressionSteppingTest7 - extends [runtime]System.Object -{ - .field static assembly int32 r@4 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 4 - .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit> V_0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_1, - class [runtime]System.Exception V_2, - class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 V_3) - IL_0000: ldc.i4.0 - IL_0001: stsfld int32 ''.$SeqExpressionSteppingTest7::r@4 - IL_0006: ldstr "res = %A" - IL_000b: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit>,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::.ctor(string) - IL_0010: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine,class [FSharp.Core]Microsoft.FSharp.Core.Unit>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_0015: stloc.0 - .try - { - IL_0016: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 SeqExpressionSteppingTest7::f() - IL_001b: stloc.1 - IL_001c: leave.s IL_004b - - } - catch [runtime]System.Object - { - IL_001e: castclass [runtime]System.Exception - IL_0023: stloc.2 - IL_0024: ldloc.2 - IL_0025: call class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::FailurePattern(class [runtime]System.Exception) - IL_002a: stloc.3 - IL_002b: ldloc.3 - IL_002c: brfalse.s IL_0040 - - IL_002e: call int32 SeqExpressionSteppingTest7::get_r() - IL_0033: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_0038: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_003d: stloc.1 - IL_003e: leave.s IL_004b - - IL_0040: rethrow - IL_0042: ldnull - IL_0043: unbox.any class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - IL_0048: stloc.1 - IL_0049: leave.s IL_004b - - } - IL_004b: ldloc.0 - IL_004c: ldloc.1 - IL_004d: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Core.Unit>::Invoke(!0) - IL_0052: pop - IL_0053: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionStepping.fs deleted file mode 100644 index bd5e4548803..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionStepping.fs +++ /dev/null @@ -1,61 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module SeqExpressionSteppingRealInternalSignatureOn = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOn - |> ignoreWarnings - |> verifyILBaseline - - //Retry SOURCE=SeqExpressionSteppingTest01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest1.exe" # SeqExpressionSteppingTest1.fs - - [] - let ``SeqExpressionSteppingTest01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest2.exe" # SeqExpressionSteppingTest2.fs - - [] - let ``SeqExpressionSteppingTest02_fs`` compilation = - compilation - |> verifyCompilation - - //SOURCE=SeqExpressionSteppingTest03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest3.exe" # SeqExpressionSteppingTest3.fs - - [] - let ``SeqExpressionSteppingTest03_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest4.exe" # SeqExpressionSteppingTest4.fs - - [] - let ``SeqExpressionSteppingTest04_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest05.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest5.exe" # SeqExpressionSteppingTest5.fs - - [] - let ``SeqExpressionSteppingTest05_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest06.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest6.exe" # SeqExpressionSteppingTest6.fs - - [] - let ``SeqExpressionSteppingTest06_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=SeqExpressionSteppingTest07.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest7.exe" # SeqExpressionSteppingTest7.fs - - [] - let ``SeqExpressionSteppingTest07_fs`` compilation = - compilation - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs deleted file mode 100644 index d0b9589d64f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs +++ /dev/null @@ -1,8 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Sequences -module SeqExpressionSteppingTest1 // Regression test for FSHARP1.0:4058 -module SeqExpressionSteppingTest1 = - - let f0 () = - seq { yield 1 } - - let _ = f0()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs deleted file mode 100644 index b78badf05dc..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs +++ /dev/null @@ -1,10 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Sequences -module SeqExpressionSteppingTest2 // Regression test for FSHARP1.0:4058 -module SeqExpressionSteppingTest2 = - let f1 () = - seq { printfn "hello" - yield 1 - printfn "goodbye" - yield 2 } - - let _ = f1()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs deleted file mode 100644 index c32385c071e..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Sequences -module SeqExpressionSteppingTest3 // Regression test for FSHARP1.0:4058 -module SeqExpressionSteppingTest3 = - let f2 () = - let mutable x = 0 - seq { - while x < 4 do - x <- x + 1 - printfn "hello" - yield x - } - - let _ = f2()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs deleted file mode 100644 index 88140eb7691..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs +++ /dev/null @@ -1,15 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Sequences -module SeqExpressionSteppingTest4 // Regression test for FSHARP1.0:4058 -module SeqExpressionSteppingTest4 = - let f3 () = - seq { - let mutable x = 0 - x <- x + 1 - let mutable y = 0 - y <- y + 1 - yield x - let mutable z = x + y - yield z - } - - let _ = f3()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs deleted file mode 100644 index cad7a56c0c5..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs +++ /dev/null @@ -1,18 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Sequences -module SeqExpressionSteppingTest5 // Regression test for FSHARP1.0:4058 -module SeqExpressionSteppingTest5 = - let f4 () = - seq { - let mutable x = 0 - try - let mutable y = 0 - y <- y + 1 - yield x - let z = x + y - yield z - finally - x <- x + 1 - printfn "done" - } - - let _ = f4()|> Seq.length diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs deleted file mode 100644 index 225694e0359..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs +++ /dev/null @@ -1,15 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Sequences -module SeqExpressionSteppingTest6 // Regression test for FSHARP1.0:4058 -module SeqExpressionSteppingTest6 = - let es = [1;2;3] - let f7 () = - seq { for x in es do - printfn "hello" - yield x - for x in es do - printfn "goodbye" - yield x } - - let _ = f7() |> Seq.length - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs deleted file mode 100644 index 8a4d7cc8e15..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs +++ /dev/null @@ -1,75 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Sequences -module SeqExpressionSteppingTest7 // Regression test for FSHARP1.0:4454 -// "Stepping into sequence expression pops up a dialog trying to located an unknown file" -let mutable r = 0 -let f () = [ if (r <- r + 1; true) then yield! failwith "" ] -printfn "res = %A" (try f () with Failure _ -> [r]) - - -let testSimpleForEachSeqLoopWithOneStatement inp = - for x in inp do - System.Console.WriteLine("{0}", x) - -let testSimpleForEachSeqLoopWithTwoStatements inp = - for x in inp do - System.Console.WriteLine("{0}", x) - System.Console.WriteLine("{0}", x) - -let testSimpleForEachArrayLoopWithOneStatement (inp:int array) = - for x in inp do - System.Console.WriteLine("{0}", x) - -let testSimpleForEachArrayLoopWithTwoStatements (inp:int array) = - for x in inp do - System.Console.WriteLine("{0}", x) - System.Console.WriteLine("{0}", x) - -let testSimpleForEachListLoopWithOneStatement (inp:int list) = - for x in inp do - System.Console.WriteLine("{0}", x) - -let testSimpleForEachListLoopWithTwoStatements (inp:int list) = - for x in inp do - System.Console.WriteLine("{0}", x) - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntRangeLoopWithOneStatement (start, stop) = - for x in start .. stop do - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntRangeLoopWithTwoStatements (start, stop) = - for x in start .. stop do - System.Console.WriteLine("{0}", x) - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntRangeLoopDownWithOneStatement (start, stop) = - for x in start .. -1 .. stop do - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntRangeLoopDownWithTwoStatements (start, stop) = - for x in start .. -1 .. stop do - System.Console.WriteLine("{0}", x) - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntLoopWithOneStatement (start, stop) = - for x = start to stop do - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntLoopWithTwoStatements (start, stop) = - for x = start to stop do - System.Console.WriteLine("{0}", x) - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntLoopDownWithOneStatement (start, stop) = - for x = stop downto start do - System.Console.WriteLine("{0}", x) - -let testSimpleForEachIntLoopDownWithTwoStatements (start, stop) = - for x = stop downto start do - System.Console.WriteLine("{0}", x) - System.Console.WriteLine("{0}", x) - -let ListExpressionSteppingTest7 () = - [ for x in 1..4 do - printfn "hello" - yield x ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs new file mode 100644 index 00000000000..6d8d2f0a5af --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs @@ -0,0 +1,117 @@ +namespace EmittedIL.RealInternalSignature + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module SeqExpressionStepping = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> withRealInternalSignatureOn + |> ignoreWarnings + |> verifyILBaseline + + //Retry SOURCE=SeqExpressionSteppingTest01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest1.exe" # SeqExpressionSteppingTest1.fs - + [] + let ``SeqExpressionSteppingTest01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + //Retry SOURCE=SeqExpressionSteppingTest01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest1.exe" # SeqExpressionSteppingTest1.fs - + [] + let ``SeqExpressionSteppingTest01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest2.exe" # SeqExpressionSteppingTest2.fs - + [] + let ``SeqExpressionSteppingTest02_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest2.exe" # SeqExpressionSteppingTest2.fs - + [] + let ``SeqExpressionSteppingTest02_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + //SOURCE=SeqExpressionSteppingTest03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest3.exe" # SeqExpressionSteppingTest3.fs - + [] + let ``SeqExpressionSteppingTest03_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + //SOURCE=SeqExpressionSteppingTest03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest3.exe" # SeqExpressionSteppingTest3.fs - + [] + let ``SeqExpressionSteppingTest03_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest4.exe" # SeqExpressionSteppingTest4.fs - + [] + let ``SeqExpressionSteppingTest04_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest04.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest4.exe" # SeqExpressionSteppingTest4.fs - + [] + let ``SeqExpressionSteppingTest04_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest05.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest5.exe" # SeqExpressionSteppingTest5.fs - + [] + let ``SeqExpressionSteppingTest05_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest05.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest5.exe" # SeqExpressionSteppingTest5.fs - + [] + let ``SeqExpressionSteppingTest05_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest06.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest6.exe" # SeqExpressionSteppingTest6.fs - + [] + let ``SeqExpressionSteppingTest06_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest06.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest6.exe" # SeqExpressionSteppingTest6.fs - + [] + let ``SeqExpressionSteppingTest06_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest07.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest7.exe" # SeqExpressionSteppingTest7.fs - + [] + let ``SeqExpressionSteppingTest07_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=SeqExpressionSteppingTest07.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd SeqExpressionSteppingTest7.exe" # SeqExpressionSteppingTest7.fs - + [] + let ``SeqExpressionSteppingTest07_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest05.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest06.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest06.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOff/SeqExpressionSteppingTest07.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/RealInternalSignatureOn/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 96208d10835..cd210ca8868 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -170,11 +170,9 @@ - - + - - + From 034ea4b26ba2db7b75563562ebe6cf542846cbaf Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 23 Jan 2024 11:07:03 -0800 Subject: [PATCH 18/58] AsyncExpressionStepping --- .../AsyncExpressionStepping.fs | 90 +++++++++++++++++++ .../AsyncExpressionSteppingTest1.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...1.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../AsyncExpressionSteppingTest2.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...2.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../AsyncExpressionSteppingTest3.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...3.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../AsyncExpressionSteppingTest4.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...4.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../AsyncExpressionSteppingTest5.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...5.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../AsyncExpressionSteppingTest6.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...6.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../AsyncExpressionStepping.fs | 45 ---------- .../AsyncExpressionStepping.fs | 43 --------- .../AsyncExpressionSteppingTest1.fs | 11 --- .../AsyncExpressionSteppingTest2.fs | 11 --- .../AsyncExpressionSteppingTest3.fs | 12 --- .../AsyncExpressionSteppingTest4.fs | 15 ---- .../AsyncExpressionSteppingTest5.fs | 13 --- .../AsyncExpressionSteppingTest6.fs | 22 ----- .../FSharp.Compiler.ComponentTests.fsproj | 3 +- 40 files changed, 91 insertions(+), 174 deletions(-) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff => }/AsyncExpressionSteppingTest1.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.debug.bsl => AsyncExpressionSteppingTest1.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.release.bsl => AsyncExpressionSteppingTest1.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.debug.bsl => AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.release.bsl => AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff => }/AsyncExpressionSteppingTest2.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.debug.bsl => AsyncExpressionSteppingTest2.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.release.bsl => AsyncExpressionSteppingTest2.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.debug.bsl => AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.release.bsl => AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff => }/AsyncExpressionSteppingTest3.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.debug.bsl => AsyncExpressionSteppingTest3.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.release.bsl => AsyncExpressionSteppingTest3.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.debug.bsl => AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.release.bsl => AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff => }/AsyncExpressionSteppingTest4.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.debug.bsl => AsyncExpressionSteppingTest4.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.release.bsl => AsyncExpressionSteppingTest4.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.debug.bsl => AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.release.bsl => AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff => }/AsyncExpressionSteppingTest5.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.debug.bsl => AsyncExpressionSteppingTest5.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.release.bsl => AsyncExpressionSteppingTest5.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.debug.bsl => AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.release.bsl => AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff => }/AsyncExpressionSteppingTest6.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.debug.bsl => AsyncExpressionSteppingTest6.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.release.bsl => AsyncExpressionSteppingTest6.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.debug.bsl => AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/{RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.release.bsl => AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl} (100%) delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs new file mode 100644 index 00000000000..fa1b043718c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs @@ -0,0 +1,90 @@ +namespace EmittedIL + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module AsyncExpressionStepping = + + let verifyCompilation compilation = + compilation + |> asFs + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> verifyBaseline + |> verifyILBaseline + + [] + let ``AsyncExpressionSteppingTest1_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest1_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest2_RealInternalSignatureOnfs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest2_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest3_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest3_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest4_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest4_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest5_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest5_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest6_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``AsyncExpressionSteppingTest6_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest1.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest2.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest3.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest4.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest5.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionSteppingTest6.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs deleted file mode 100644 index be4636185da..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOff/AsyncExpressionStepping.fs +++ /dev/null @@ -1,45 +0,0 @@ -namespace EmittedIL - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module AsyncExpressionSteppingRealInternalSignatureOff = - - let verifyCompilation compilation = - compilation - |> asFs - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOff - |> ignoreWarnings - |> verifyBaseline - |> verifyILBaseline - - [] - let ``AsyncExpressionSteppingTest1_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest2_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest3_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest4_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest5_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest6_fs`` compilation = - verifyCompilation compilation - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionStepping.fs deleted file mode 100644 index 7fde144dc99..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionStepping.fs +++ /dev/null @@ -1,43 +0,0 @@ -namespace EmittedIL - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module AsyncExpressionSteppingRealInternalSignatureOn = - - let verifyCompilation compilation = - compilation - |> asFs - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOn - |> ignoreWarnings - |> verifyBaseline - |> verifyILBaseline - - [] - let ``AsyncExpressionSteppingTest1_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest2_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest3_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest4_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest5_fs`` compilation = - verifyCompilation compilation - - [] - let ``AsyncExpressionSteppingTest6_fs`` compilation = - verifyCompilation compilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs deleted file mode 100644 index 695815a7168..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest1.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Async -module AsyncExpressionSteppingTest1 // Regression test for FSHARP1.0:4058 -module AsyncExpressionSteppingTest1 = - - let f1 () = - async { printfn "hello" - printfn "stuck in the middle" - printfn "goodbye"} - - let _ = f1() |> Async.RunSynchronously - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs deleted file mode 100644 index 68ff28401fe..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest2.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Async -module AsyncExpressionSteppingTest2 // Regression test for FSHARP1.0:4058 -module AsyncExpressionSteppingTest2 = - let f2 () = - let x = ref 0 - async { while x.Value < 4 do - x.Value <- x.Value + 1 - printfn "hello" } - - - let _ = f2() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs deleted file mode 100644 index 8cd8bf03acb..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest3.fs +++ /dev/null @@ -1,12 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Async -module AsyncExpressionSteppingTest3 // Regression test for FSHARP1.0:4058 -module AsyncExpressionSteppingTest3 = - let f3 () = - async { let x = ref 0 - x.Value <- x.Value + 1 - let y = ref 0 - y.Value <- y.Value + 1 - let z = x.Value + x.Value - return z } - - let _ = f3() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs deleted file mode 100644 index 42bef7b6e83..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest4.fs +++ /dev/null @@ -1,15 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Async -module AsyncExpressionSteppingTest4 // Regression test for FSHARP1.0:4058 -module AsyncExpressionSteppingTest4 = - let f4 () = - async { let x = ref 0 - try - let y = ref 0 - y.Value <- y.Value - let z = x.Value + y.Value - return z - finally - x.Value <- x.Value - printfn "done" } - - let _ = f4() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs deleted file mode 100644 index 3dc21b1403b..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest5.fs +++ /dev/null @@ -1,13 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Async -module AsyncExpressionSteppingTest5 // Regression test for FSHARP1.0:4058 -module AsyncExpressionSteppingTest5 = - let es = [3;4;5] - let f7 () = - async { for x in es do - printfn "hello" - printfn "hello 2" - for x in es do - printfn "goodbye" - printfn "goodbye 2" } - - let _ = f7() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs deleted file mode 100644 index 5cb8d015466..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/RealInternalSignatureOn/AsyncExpressionSteppingTest6.fs +++ /dev/null @@ -1,22 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Async -module AsyncExpressionSteppingTest6 // Regression test for FSHARP1.0:4058 -module AsyncExpressionSteppingTest6 = - let f2 () = - async { let x = ref 0 - x.Value <- x.Value + 1 - let y = ref 0 - y.Value <- y.Value + 1 - let z = x.Value + y.Value - return z } - - let f3 () = - async { let! x1 = f2() - let! x2 = f2() - let! x3 = f2() - let y = ref 0 - y.Value <- y.Value + 1 - let! x4 = f2() - let z = x1 + y.Value + x4 - return z } - - let _ = f3() |> Async.RunSynchronously diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index cd210ca8868..aa34205b258 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -147,8 +147,7 @@ - - + From f3c108a5fbcad87035f5ca8f73ad3f6df286f9e5 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 23 Jan 2024 17:24:49 -0800 Subject: [PATCH 19/58] misc --- .../AttributeTargets.fs | 2 +- .../AbstractClass.fs | 0 ...tClass.fs.RealInternalSignatureOff.il.bsl} | 0 ...ctClass.fs.RealInternalSignatureOn.il.bsl} | 36 +- .../AnonRecd.fs | 0 .../AnonRecd.fs.il.net472.bsl | 0 .../AnonRecd.fs.il.netcore.bsl | 0 .../ArgumentNamesInClosures01.fs | 0 ...ures01.fs.RealInternalSignatureOff.il.bsl} | 0 ...sures01.fs.RealInternalSignatureOn.il.bsl} | 83 +- .../CodeGenRenamings01.fs | 0 ...ings01.fs.RealInternalSignatureOff.il.bsl} | 0 ...mings01.fs.RealInternalSignatureOn.il.bsl} | 652 ++++++------ .../CustomAttributeGenericParameter01.fs | 0 ...eter01.fs.RealInternalSignatureOff.il.bsl} | 0 ...meter01.fs.RealInternalSignatureOn.il.bsl} | 27 +- .../Decimal01.fs | 0 ...fs.RealInternalSignatureOff.il.net472.bsl} | 0 ...s.RealInternalSignatureOff.il.netcore.bsl} | 0 ....fs.RealInternalSignatureOn.il.net472.bsl} | 39 +- ...fs.RealInternalSignatureOn.il.netcore.bsl} | 39 +- ...oint01.RealInternalSignatureOff.fs.il.bsl} | 0 ...Point01.RealInternalSignatureOn.fs.il.bsl} | 0 .../EntryPoint01.fs | 0 ...Point01.fs.RealInternalSignatureOff.il.bsl | 112 ++ ...yPoint01.fs.RealInternalSignatureOn.il.bsl | 94 ++ .../EqualsOnUnions01.fs | 0 .../EqualsOnUnions01.fs.il.net472.debug.bsl | 0 .../EqualsOnUnions01.fs.il.net472.release.bsl | 0 .../EqualsOnUnions01.fs.il.netcore.debug.bsl | 0 ...EqualsOnUnions01.fs.il.netcore.release.bsl | 0 .../ForLoop01.fs | 0 ...Loop01.fs.RealInternalSignatureOff.il.bsl} | 0 ...rLoop01.fs.RealInternalSignatureOn.il.bsl} | 43 +- .../ForLoop02.fs | 0 ...Loop02.fs.RealInternalSignatureOff.il.bsl} | 0 ...rLoop02.fs.RealInternalSignatureOn.il.bsl} | 39 +- .../ForLoop03.fs | 0 ....fs.RealInternalSignatureOff.il.net472.bsl | 173 +++ ...fs.RealInternalSignatureOff.il.netcore.bsl | 178 ++++ ...3.fs.RealInternalSignatureOn.il.net472.bsl | 189 ++++ ....fs.RealInternalSignatureOn.il.netcore.bsl | 194 ++++ .../GeneralizationOnUnions01.fs | 0 ...fs.RealInternalSignatureOff.il.net472.bsl} | 48 +- ...s.RealInternalSignatureOff.il.netcore.bsl} | 0 ....fs.RealInternalSignatureOn.il.net472.bsl} | 75 +- ...fs.RealInternalSignatureOn.il.netcore.bsl} | 69 +- .../GenericTypeStaticField.fs | 0 .../GenericTypeStaticField.fs.il.bsl | 0 .../IfThenElse01.fs | 0 ...Else01.fs.RealInternalSignatureOff.il.bsl} | 12 +- ...nElse01.fs.RealInternalSignatureOn.il.bsl} | 12 +- .../EmittedIL/Misc/IfThenElse01.fs.il.bsl | 239 +++++ .../{RealInternalSignatureOff => }/Int64.fs | 0 .../LetIfThenElse01.fs | 0 ...Else01.fs.RealInternalSignatureOff.il.bsl} | 9 +- ...nElse01.fs.RealInternalSignatureOn.il.bsl} | 46 +- .../{RealInternalSignatureOff => }/Lock01.fs | 0 ...fs.RealInternalSignatureOff.il.net472.bsl} | 3 +- ...s.RealInternalSignatureOff.il.netcore.bsl} | 0 ....fs.RealInternalSignatureOn.il.net472.bsl} | 89 +- ...fs.RealInternalSignatureOn.il.netcore.bsl} | 89 +- .../{RealInternalSignatureOff => }/Marshal.fs | 0 .../Marshal.fs.il.bsl | 0 .../MethodImplNoInline.fs | 0 .../MethodImplNoInline02.fs | 0 ...line02.fs.RealInternalSignatureOff.il.bsl} | 0 ...nline02.fs.RealInternalSignatureOn.il.bsl} | 25 +- .../EmittedIL/Misc/Misc.fs | 379 +++++++ .../ModuleWithExpression01.fs | 0 ...sion01.fs.RealInternalSignatureOff.il.bsl} | 3 +- ...ssion01.fs.RealInternalSignatureOn.il.bsl} | 56 +- .../NoBoxingOnDispose01.fs | 0 .../NoBoxingOnDispose01.fs.il.net472.bsl | 0 .../NoBoxingOnDispose01.fs.il.netcore.bsl | 0 .../NonEscapingArguments02.fs | 0 .../NonEscapingArguments02.fs.il.bsl | 0 .../PreserveSig.fs | 0 .../PreserveSig.fs.il.bsl | 0 .../Misc/RealInternalSignatureOff/Misc.fs | 222 ---- .../RealInternalSignatureOn/AbstractClass.fs | 8 - .../Misc/RealInternalSignatureOn/AnonRecd.fs | 10 - .../AnonRecd.fs.il.net472.bsl | 598 ----------- .../AnonRecd.fs.il.netcore.bsl | 504 --------- .../ArgumentNamesInClosures01.fs | 43 - .../CodeGenRenamings01.fs | 39 - .../CustomAttributeGenericParameter01.fs | 6 - .../Misc/RealInternalSignatureOn/Decimal01.fs | 6 - .../RealInternalSignatureOn/EntryPoint01.fs | 8 - .../EqualsOnUnions01.fs | 7 - .../EqualsOnUnions01.fs.il.net472.debug.bsl | 990 ------------------ .../EqualsOnUnions01.fs.il.net472.release.bsl | 957 ----------------- .../EqualsOnUnions01.fs.il.netcore.debug.bsl | 896 ---------------- ...EqualsOnUnions01.fs.il.netcore.release.bsl | 863 --------------- .../Misc/RealInternalSignatureOn/ForLoop01.fs | 6 - .../Misc/RealInternalSignatureOn/ForLoop02.fs | 7 - .../Misc/RealInternalSignatureOn/ForLoop03.fs | 14 - .../GeneralizationOnUnions01.fs | 11 - .../GenericTypeStaticField.fs | 8 - .../GenericTypeStaticField.fs.il.bsl | 183 ---- .../RealInternalSignatureOn/IfThenElse01.fs | 7 - .../Misc/RealInternalSignatureOn/Int64.fs | 4 - .../LetIfThenElse01.fs | 12 - .../Misc/RealInternalSignatureOn/Lock01.fs | 20 - .../Misc/RealInternalSignatureOn/Marshal.fs | 6 - .../RealInternalSignatureOn/Marshal.fs.il.bsl | 97 -- .../MethodImplNoInline.fs | 11 - .../MethodImplNoInline02.fs | 11 - .../Misc/RealInternalSignatureOn/Misc.fs | 222 ---- .../ModuleWithExpression01.fs | 9 - .../NoBoxingOnDispose01.fs | 7 - .../NoBoxingOnDispose01.fs.il.net472.bsl | 102 -- .../NoBoxingOnDispose01.fs.il.netcore.bsl | 101 -- .../NonEscapingArguments02.fs | 7 - .../NonEscapingArguments02.fs.il.bsl | 102 -- .../RealInternalSignatureOn/PreserveSig.fs | 7 - .../PreserveSig.fs.il.bsl | 69 -- .../RealInternalSignatureOn/Seq_for_all01.fs | 7 - .../Misc/RealInternalSignatureOn/Structs01.fs | 14 - .../Structs01.fs.il.debug.bsl | 335 ------ .../Structs01.fs.il.release.bsl | 302 ------ .../Misc/RealInternalSignatureOn/Structs02.fs | 18 - .../Structs02.fs.il.debug.bsl | 387 ------- .../Structs02.fs.il.release.bsl | 354 ------- .../Structs02_asNetStandard20.fs | 18 - .../Structs02_asNetStandard20.fs.il.debug.bsl | 402 ------- ...tructs02_asNetStandard20.fs.il.release.bsl | 369 ------- .../StructsAsArrayElements01.fs | 24 - .../TryWith_NoFilterBlocks01.fs | 7 - .../Seq_for_all01.fs | 0 ..._all01.fs.RealInternalSignatureOff.il.bsl} | 12 +- ...r_all01.fs.RealInternalSignatureOn.il.bsl} | 60 +- .../Structs01.fs | 0 .../Structs01.fs.il.debug.bsl | 0 .../Structs01.fs.il.release.bsl | 0 .../Structs02.fs | 0 .../Structs02.fs.il.debug.bsl | 0 .../Structs02.fs.il.release.bsl | 0 .../Structs02_asNetStandard20.fs | 0 .../Structs02_asNetStandard20.fs.il.debug.bsl | 0 ...tructs02_asNetStandard20.fs.il.release.bsl | 0 .../StructsAsArrayElements01.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 24 +- ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...1.fs.RealInternalSignatureOn.il.debug.bsl} | 80 +- ...fs.RealInternalSignatureOn.il.release.bsl} | 80 +- .../TryWith_NoFilterBlocks01.fs | 0 ...ocks01.fs.RealInternalSignatureOff.il.bsl} | 0 ...locks01.fs.RealInternalSignatureOn.il.bsl} | 39 +- .../QueryExpressionStepping.fs | 2 +- .../ModuleInitialization.fs | 36 - .../SeqExpressionStepping.fs | 2 +- .../SerializableAttribute.fs | 2 +- .../EmittedIL/StaticInit/StaticInit.fs | 2 +- .../EmittedIL/Tuples/Tuples.fs | 2 +- .../EmittedIL/operators/Operators.fs | 2 +- .../FSharp.Compiler.ComponentTests.fsproj | 3 +- 157 files changed, 2557 insertions(+), 9260 deletions(-) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/AbstractClass.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/AbstractClass.fs.il.bsl => AbstractClass.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/AbstractClass.fs.il.bsl => AbstractClass.fs.RealInternalSignatureOn.il.bsl} (79%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/AnonRecd.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/AnonRecd.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/AnonRecd.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/ArgumentNamesInClosures01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/ArgumentNamesInClosures01.fs.il.bsl => ArgumentNamesInClosures01.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl => ArgumentNamesInClosures01.fs.RealInternalSignatureOn.il.bsl} (66%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/CodeGenRenamings01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/CodeGenRenamings01.fs.il.bsl => CodeGenRenamings01.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl => CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl} (68%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/CustomAttributeGenericParameter01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/CustomAttributeGenericParameter01.fs.il.bsl => CustomAttributeGenericParameter01.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl => CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl} (81%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Decimal01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/Decimal01.fs.il.net472.bsl => Decimal01.fs.RealInternalSignatureOff.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/Decimal01.fs.il.netcore.bsl => Decimal01.fs.RealInternalSignatureOff.il.netcore.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/Decimal01.fs.il.net472.bsl => Decimal01.fs.RealInternalSignatureOn.il.net472.bsl} (82%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl => Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl} (82%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/EntryPoint01.fs.il.bsl => EntryPoint01.RealInternalSignatureOff.fs.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/EntryPoint01.fs.il.bsl => EntryPoint01.RealInternalSignatureOn.fs.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/EntryPoint01.fs (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOff.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/EqualsOnUnions01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/EqualsOnUnions01.fs.il.net472.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/EqualsOnUnions01.fs.il.net472.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/EqualsOnUnions01.fs.il.netcore.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/EqualsOnUnions01.fs.il.netcore.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/ForLoop01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/ForLoop01.fs.il.bsl => ForLoop01.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/ForLoop01.fs.il.bsl => ForLoop01.fs.RealInternalSignatureOn.il.bsl} (88%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/ForLoop02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/ForLoop02.fs.il.bsl => ForLoop02.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/ForLoop02.fs.il.bsl => ForLoop02.fs.RealInternalSignatureOn.il.bsl} (86%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/ForLoop03.fs (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.netcore.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/GeneralizationOnUnions01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.net472.bsl => GeneralizationOnUnions01.fs.RealInternalSignatureOff.il.net472.bsl} (93%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.netcore.bsl => GeneralizationOnUnions01.fs.RealInternalSignatureOff.il.netcore.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl => GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl} (92%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl => GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl} (89%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/GenericTypeStaticField.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/GenericTypeStaticField.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/IfThenElse01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/IfThenElse01.fs.il.bsl => IfThenElse01.fs.RealInternalSignatureOff.il.bsl} (95%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/IfThenElse01.fs.il.bsl => IfThenElse01.fs.RealInternalSignatureOn.il.bsl} (95%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Int64.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/LetIfThenElse01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/LetIfThenElse01.fs.il.bsl => LetIfThenElse01.fs.RealInternalSignatureOff.il.bsl} (96%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl => LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl} (87%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Lock01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/Lock01.fs.il.net472.bsl => Lock01.fs.RealInternalSignatureOff.il.net472.bsl} (97%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/Lock01.fs.il.netcore.bsl => Lock01.fs.RealInternalSignatureOff.il.netcore.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/Lock01.fs.il.net472.bsl => Lock01.fs.RealInternalSignatureOn.il.net472.bsl} (70%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/Lock01.fs.il.netcore.bsl => Lock01.fs.RealInternalSignatureOn.il.netcore.bsl} (70%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Marshal.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Marshal.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/MethodImplNoInline.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/MethodImplNoInline02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/MethodImplNoInline02.fs.il.bsl => MethodImplNoInline02.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl => MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl} (84%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/ModuleWithExpression01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/ModuleWithExpression01.fs.il.bsl => ModuleWithExpression01.fs.RealInternalSignatureOff.il.bsl} (97%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl => ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl} (56%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/NoBoxingOnDispose01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/NoBoxingOnDispose01.fs.il.net472.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/NoBoxingOnDispose01.fs.il.netcore.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/NonEscapingArguments02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/NonEscapingArguments02.fs.il.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/PreserveSig.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/PreserveSig.fs.il.bsl (100%) delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Misc.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Seq_for_all01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/Seq_for_all01.fs.il.bsl => Seq_for_all01.fs.RealInternalSignatureOff.il.bsl} (93%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/Seq_for_all01.fs.il.bsl => Seq_for_all01.fs.RealInternalSignatureOn.il.bsl} (82%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs01.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs01.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs02.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs02.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs02_asNetStandard20.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs02_asNetStandard20.fs.il.debug.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/Structs02_asNetStandard20.fs.il.release.bsl (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/StructsAsArrayElements01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl => StructsAsArrayElements01.fs.RealInternalSignatureOff.il.debug.bsl} (92%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/StructsAsArrayElements01.fs.il.release.bsl => StructsAsArrayElements01.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/StructsAsArrayElements01.fs.il.debug.bsl => StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl} (86%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl => StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl} (84%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff => }/TryWith_NoFilterBlocks01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs.il.bsl => TryWith_NoFilterBlocks01.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/{RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl => TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl} (83%) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs index 792c92c12b0..d7debbebfb2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AbstractClass.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl similarity index 79% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl index 1cd7e85831a..03d6b5647f0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl @@ -48,8 +48,7 @@ { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.assemblyAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(int32 i) cil managed + .method public specialname rtspecialname instance void .ctor(int32 i) cil managed { .maxstack 8 @@ -60,8 +59,7 @@ IL_0008: ret } - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .maxstack 8 @@ -71,8 +69,7 @@ IL_0007: ret } - .method assembly specialname rtspecialname - instance void .ctor(float32 f) cil managed + .method private specialname rtspecialname instance void .ctor(float32 f) cil managed { .maxstack 8 @@ -84,6 +81,27 @@ } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + } .class private abstract auto ansi sealed ''.$assembly @@ -98,10 +116,8 @@ .entrypoint .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0006: pop - IL_0007: ret + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/AnonRecd.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AnonRecd.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ArgumentNamesInClosures01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs.RealInternalSignatureOn.il.bsl similarity index 66% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs.RealInternalSignatureOn.il.bsl index dc754e79d0c..ff66db531a8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ArgumentNamesInClosures01.fs.RealInternalSignatureOn.il.bsl @@ -47,8 +47,7 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public hidebysig instance int32 - F(object o) cil managed + .method public hidebysig instance int32 F(object o) cil managed { .maxstack 3 @@ -67,8 +66,43 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor() cil managed + .class auto ansi serializable sealed nested assembly beforefieldinit get_F@41 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field static assembly initonly class M/T/get_F@41 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ret + } + + .method public strict virtual instance int32 Invoke(class M/C i_want_to_see_this_identifier) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: tail. + IL_0003: call int32 M::I(class M/C) + IL_0008: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void M/T/get_F@41::.ctor() + IL_0005: stsfld class M/T/get_F@41 M/T/get_F@41::@_instance + IL_000a: ret + } + + } + + .method public specialname rtspecialname instance void .ctor() cil managed { .maxstack 8 @@ -88,7 +122,7 @@ .locals init (class M/T V_0) IL_0000: ldarg.0 IL_0001: stloc.0 - IL_0002: ldsfld class M/get_F@41 M/get_F@41::@_instance + IL_0002: ldsfld class M/T/get_F@41 M/T/get_F@41::@_instance IL_0007: ret } @@ -99,45 +133,6 @@ } } - .class auto ansi serializable sealed nested assembly beforefieldinit get_F@41 - extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 - { - .field static assembly initonly class M/get_F@41 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() - IL_0006: ret - } - - .method public strict virtual instance int32 - Invoke(class M/C i_want_to_see_this_identifier) cil managed - { - - .maxstack 8 - IL_0000: ldarg.1 - IL_0001: tail. - IL_0003: call int32 M::I(class M/C) - IL_0008: ret - } - - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 10 - IL_0000: newobj instance void M/get_F@41::.ctor() - IL_0005: stsfld class M/get_F@41 M/get_F@41::@_instance - IL_000a: ret - } - - } - .method public static int32 I(class M/C i_want_to_see_this_identifier) cil managed { diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CodeGenRenamings01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl similarity index 68% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl index 2e77dc87b3d..80f440225d6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl @@ -72,8 +72,7 @@ IL_0014: ret } - .method public strict virtual instance int32 - GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed + .method public strict virtual instance int32 GenerateNext(class [runtime]System.Collections.Generic.IEnumerable`1>& next) cil managed { .maxstack 7 @@ -104,7 +103,7 @@ IL_002d: ldc.i4.1 IL_002e: ldc.i4.1 IL_002f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) + !1) IL_0034: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current IL_0039: ldc.i4.1 IL_003a: ret @@ -116,7 +115,7 @@ IL_0043: ldc.i4.2 IL_0044: ldc.i4.2 IL_0045: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) + !1) IL_004a: stfld class [runtime]System.Tuple`2 assembly/seq1@9::current IL_004f: ldc.i4.1 IL_0050: ret @@ -131,8 +130,7 @@ IL_0060: ret } - .method public strict virtual instance void - Close() cil managed + .method public strict virtual instance void Close() cil managed { .maxstack 8 @@ -142,8 +140,7 @@ IL_0007: ret } - .method public strict virtual instance bool - get_CheckClose() cil managed + .method public strict virtual instance bool get_CheckClose() cil managed { .maxstack 8 @@ -179,8 +176,7 @@ IL_002f: ret } - .method public strict virtual instance class [runtime]System.Tuple`2 - get_LastGenerated() cil managed + .method public strict virtual instance class [runtime]System.Tuple`2 get_LastGenerated() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -191,8 +187,7 @@ IL_0006: ret } - .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> - GetFreshEnumerator() cil managed + .method public strict virtual instance class [runtime]System.Collections.Generic.IEnumerator`1> GetFreshEnumerator() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -207,105 +202,374 @@ } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 - get_alist() cil managed + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 alist@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] array@6 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 aseq@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> list1@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> seq1@9 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [runtime]System.Tuple`2[] array1@10 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[0...,0...] a3@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[0...,0...,0...] array3D@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[0...,0...,0...,0...] array4D@13 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] a1@25 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32[] a2@26 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 get_alist() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::alist@5 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::alist@5 IL_0005: ret } - .method public specialname static int32[] - get_array() cil managed + .method public specialname static int32[] get_array() cil managed { .maxstack 8 - IL_0000: ldsfld int32[] ''.$assembly::array@6 + IL_0000: ldsfld int32[] assembly::array@6 IL_0005: ret } - .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 - get_aseq() cil managed + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1 get_aseq() cil managed { .maxstack 8 - IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 ''.$assembly::aseq@7 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::aseq@7 IL_0005: ret } - .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> - get_list1() cil managed + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> get_list1() cil managed { .maxstack 8 - IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$assembly::list1@8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::list1@8 IL_0005: ret } - .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> - get_seq1() cil managed + .method public specialname static class [runtime]System.Collections.Generic.IEnumerable`1> get_seq1() cil managed { .maxstack 8 - IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> ''.$assembly::seq1@9 + IL_0000: ldsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::seq1@9 IL_0005: ret } - .method public specialname static class [runtime]System.Tuple`2[] - get_array1() cil managed + .method public specialname static class [runtime]System.Tuple`2[] get_array1() cil managed { .maxstack 8 - IL_0000: ldsfld class [runtime]System.Tuple`2[] ''.$assembly::array1@10 + IL_0000: ldsfld class [runtime]System.Tuple`2[] assembly::array1@10 IL_0005: ret } - .method public specialname static int32[0...,0...] - get_a3() cil managed + .method public specialname static int32[0...,0...] get_a3() cil managed { .maxstack 8 - IL_0000: ldsfld int32[0...,0...] ''.$assembly::a3@11 + IL_0000: ldsfld int32[0...,0...] assembly::a3@11 IL_0005: ret } - .method public specialname static int32[0...,0...,0...] - get_array3D() cil managed + .method public specialname static int32[0...,0...,0...] get_array3D() cil managed { .maxstack 8 - IL_0000: ldsfld int32[0...,0...,0...] ''.$assembly::array3D@12 + IL_0000: ldsfld int32[0...,0...,0...] assembly::array3D@12 IL_0005: ret } - .method public specialname static int32[0...,0...,0...,0...] - get_array4D() cil managed + .method public specialname static int32[0...,0...,0...,0...] get_array4D() cil managed { .maxstack 8 - IL_0000: ldsfld int32[0...,0...,0...,0...] ''.$assembly::array4D@13 + IL_0000: ldsfld int32[0...,0...,0...,0...] assembly::array4D@13 IL_0005: ret } - .method public specialname static int32[] - get_a1() cil managed + .method public specialname static int32[] get_a1() cil managed { .maxstack 8 - IL_0000: ldsfld int32[] ''.$assembly::a1@25 + IL_0000: ldsfld int32[] assembly::a1@25 IL_0005: ret } - .method public specialname static int32[] - get_a2() cil managed + .method public specialname static int32[] get_a2() cil managed { .maxstack 8 - IL_0000: ldsfld int32[] ''.$assembly::a2@26 + IL_0000: ldsfld int32[] assembly::a2@26 IL_0005: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + .locals init (int32 V_0, + class [runtime]System.Tuple`4 V_1, + class [runtime]System.Tuple`4 V_2, + int32 V_3, + class [runtime]System.Tuple`3 V_4, + class [runtime]System.Tuple`3 V_5, + int32 V_6, + class [runtime]System.Tuple`4 V_7, + class [runtime]System.Tuple`4 V_8, + int32 V_9) + IL_0000: ldc.i4.1 + IL_0001: ldc.i4.1 + IL_0002: ldc.i4.s 10 + IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0009: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0013: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::alist@5 + IL_0018: ldc.i4.3 + IL_0019: newarr [runtime]System.Int32 + IL_001e: dup + IL_001f: ldc.i4.0 + IL_0020: ldc.i4.1 + IL_0021: stelem [runtime]System.Int32 + IL_0026: dup + IL_0027: ldc.i4.1 + IL_0028: ldc.i4.2 + IL_0029: stelem [runtime]System.Int32 + IL_002e: dup + IL_002f: ldc.i4.2 + IL_0030: ldc.i4.3 + IL_0031: stelem [runtime]System.Int32 + IL_0036: stsfld int32[] assembly::array@6 + IL_003b: ldc.i4.1 + IL_003c: ldc.i4.1 + IL_003d: ldc.i4.s 10 + IL_003f: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_0044: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0049: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 assembly::aseq@7 + IL_004e: ldc.i4.1 + IL_004f: ldc.i4.1 + IL_0050: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0055: ldc.i4.2 + IL_0056: ldc.i4.2 + IL_0057: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_005c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::get_Empty() + IL_0061: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0066: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_006b: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::list1@8 + IL_0070: ldc.i4.0 + IL_0071: ldnull + IL_0072: newobj instance void assembly/seq1@9::.ctor(int32, + class [runtime]System.Tuple`2) + IL_0077: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> assembly::seq1@9 + IL_007c: ldc.i4.2 + IL_007d: newarr class [runtime]System.Tuple`2 + IL_0082: dup + IL_0083: ldc.i4.0 + IL_0084: ldc.i4.1 + IL_0085: ldc.i4.1 + IL_0086: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_008b: stelem class [runtime]System.Tuple`2 + IL_0090: dup + IL_0091: ldc.i4.1 + IL_0092: ldc.i4.2 + IL_0093: ldc.i4.2 + IL_0094: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, + !1) + IL_0099: stelem class [runtime]System.Tuple`2 + IL_009e: stsfld class [runtime]System.Tuple`2[] assembly::array1@10 + IL_00a3: ldc.i4.2 + IL_00a4: ldc.i4.2 + IL_00a5: ldc.i4.0 + IL_00a6: call !!0[0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Create(int32, + int32, + !!0) + IL_00ab: stsfld int32[0...,0...] assembly::a3@11 + IL_00b0: ldc.i4.3 + IL_00b1: ldc.i4.3 + IL_00b2: ldc.i4.3 + IL_00b3: ldc.i4.0 + IL_00b4: call !!0[0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Create(int32, + int32, + int32, + !!0) + IL_00b9: stsfld int32[0...,0...,0...] assembly::array3D@12 + IL_00be: ldc.i4.4 + IL_00bf: ldc.i4.4 + IL_00c0: ldc.i4.4 + IL_00c1: ldc.i4.4 + IL_00c2: ldc.i4.0 + IL_00c3: call !!0[0...,0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Create(int32, + int32, + int32, + int32, + !!0) + IL_00c8: stsfld int32[0...,0...,0...,0...] assembly::array4D@13 + IL_00cd: call int32[] assembly::get_array() + IL_00d2: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfArray(!!0[]) + IL_00d7: pop + IL_00d8: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_00dd: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_00e2: pop + IL_00e3: call class [runtime]System.Tuple`2[] assembly::get_array1() + IL_00e8: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfArray(class [runtime]System.Tuple`2[]) + IL_00ed: pop + IL_00ee: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() + IL_00f3: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>) + IL_00f8: pop + IL_00f9: call class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() + IL_00fe: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1>) + IL_0103: pop + IL_0104: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() + IL_0109: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_010e: stsfld int32[] assembly::a1@25 + IL_0113: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() + IL_0118: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_011d: stsfld int32[] assembly::a2@26 + IL_0122: call int32[] assembly::get_a1() + IL_0127: ldc.i4.0 + IL_0128: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], + int32) + IL_012d: stloc.0 + IL_012e: call int32[] assembly::get_a2() + IL_0133: ldc.i4.0 + IL_0134: ldloc.0 + IL_0135: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], + int32, + !!0) + IL_013a: nop + IL_013b: call int32[0...,0...] assembly::get_a3() + IL_0140: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) + IL_0145: call int32[0...,0...] assembly::get_a3() + IL_014a: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) + IL_014f: call int32[0...,0...] assembly::get_a3() + IL_0154: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) + IL_0159: call int32[0...,0...] assembly::get_a3() + IL_015e: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) + IL_0163: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_0168: stloc.1 + IL_0169: ldloc.1 + IL_016a: stloc.2 + IL_016b: call int32[0...,0...] assembly::get_a3() + IL_0170: ldc.i4.0 + IL_0171: ldc.i4.0 + IL_0172: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], + int32, + int32) + IL_0177: stloc.3 + IL_0178: call int32[0...,0...] assembly::get_a3() + IL_017d: ldc.i4.0 + IL_017e: ldc.i4.0 + IL_017f: ldloc.3 + IL_0180: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], + int32, + int32, + !!0) + IL_0185: nop + IL_0186: call int32[0...,0...,0...] assembly::get_array3D() + IL_018b: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) + IL_0190: call int32[0...,0...,0...] assembly::get_array3D() + IL_0195: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) + IL_019a: call int32[0...,0...,0...] assembly::get_array3D() + IL_019f: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) + IL_01a4: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, + !1, + !2) + IL_01a9: stloc.s V_4 + IL_01ab: ldloc.s V_4 + IL_01ad: stloc.s V_5 + IL_01af: call int32[0...,0...,0...] assembly::get_array3D() + IL_01b4: ldc.i4.0 + IL_01b5: ldc.i4.0 + IL_01b6: ldc.i4.0 + IL_01b7: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Get(!!0[0...,0...,0...], + int32, + int32, + int32) + IL_01bc: stloc.s V_6 + IL_01be: call int32[0...,0...,0...] assembly::get_array3D() + IL_01c3: ldc.i4.0 + IL_01c4: ldc.i4.0 + IL_01c5: ldc.i4.0 + IL_01c6: ldloc.s V_6 + IL_01c8: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], + int32, + int32, + int32, + !!0) + IL_01cd: nop + IL_01ce: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01d3: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) + IL_01d8: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01dd: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) + IL_01e2: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01e7: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) + IL_01ec: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_01f1: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) + IL_01f6: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, + !1, + !2, + !3) + IL_01fb: stloc.s V_7 + IL_01fd: ldloc.s V_7 + IL_01ff: stloc.s V_8 + IL_0201: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0206: ldc.i4.0 + IL_0207: ldc.i4.0 + IL_0208: ldc.i4.0 + IL_0209: ldc.i4.0 + IL_020a: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,0...], + int32, + int32, + int32, + int32) + IL_020f: stloc.s V_9 + IL_0211: call int32[0...,0...,0...,0...] assembly::get_array4D() + IL_0216: ldc.i4.0 + IL_0217: ldc.i4.0 + IL_0218: ldc.i4.0 + IL_0219: ldc.i4.0 + IL_021a: ldloc.s V_9 + IL_021c: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], + int32, + int32, + int32, + int32, + !!0) + IL_0221: nop + IL_0222: ret + } + .property class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 alist() { @@ -371,28 +635,6 @@ .class private abstract auto ansi sealed ''.$assembly extends [runtime]System.Object { - .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 alist@5 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32[] array@6 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1 aseq@7 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> list1@8 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly class [runtime]System.Collections.Generic.IEnumerable`1> seq1@9 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly class [runtime]System.Tuple`2[] array1@10 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32[0...,0...] a3@11 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32[0...,0...,0...] array3D@12 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32[0...,0...,0...,0...] array4D@13 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32[] a1@25 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32[] a2@26 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly int32 init@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -402,280 +644,8 @@ .entrypoint .maxstack 8 - .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, - int32[] V_1, - class [runtime]System.Collections.Generic.IEnumerable`1 V_2, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> V_3, - class [runtime]System.Collections.Generic.IEnumerable`1> V_4, - class [runtime]System.Tuple`2[] V_5, - int32[0...,0...] V_6, - int32[0...,0...,0...] V_7, - int32[0...,0...,0...,0...] V_8, - int32[] V_9, - int32[] V_10, - int32 V_11, - class [runtime]System.Tuple`4 V_12, - class [runtime]System.Tuple`4 V_13, - int32 V_14, - class [runtime]System.Tuple`3 V_15, - class [runtime]System.Tuple`3 V_16, - int32 V_17, - class [runtime]System.Tuple`4 V_18, - class [runtime]System.Tuple`4 V_19, - int32 V_20) - IL_0000: ldc.i4.1 - IL_0001: ldc.i4.1 - IL_0002: ldc.i4.s 10 - IL_0004: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0009: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_000e: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0013: dup - IL_0014: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 ''.$assembly::alist@5 - IL_0019: stloc.0 - IL_001a: ldc.i4.3 - IL_001b: newarr [runtime]System.Int32 - IL_0020: dup - IL_0021: ldc.i4.0 - IL_0022: ldc.i4.1 - IL_0023: stelem [runtime]System.Int32 - IL_0028: dup - IL_0029: ldc.i4.1 - IL_002a: ldc.i4.2 - IL_002b: stelem [runtime]System.Int32 - IL_0030: dup - IL_0031: ldc.i4.2 - IL_0032: ldc.i4.3 - IL_0033: stelem [runtime]System.Int32 - IL_0038: dup - IL_0039: stsfld int32[] ''.$assembly::array@6 - IL_003e: stloc.1 - IL_003f: ldc.i4.1 - IL_0040: ldc.i4.1 - IL_0041: ldc.i4.s 10 - IL_0043: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) - IL_0048: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_004d: dup - IL_004e: stsfld class [runtime]System.Collections.Generic.IEnumerable`1 ''.$assembly::aseq@7 - IL_0053: stloc.2 - IL_0054: ldc.i4.1 - IL_0055: ldc.i4.1 - IL_0056: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_005b: ldc.i4.2 - IL_005c: ldc.i4.2 - IL_005d: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_0062: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::get_Empty() - IL_0067: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_006c: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0071: dup - IL_0072: stsfld class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> ''.$assembly::list1@8 - IL_0077: stloc.3 - IL_0078: ldc.i4.0 - IL_0079: ldnull - IL_007a: newobj instance void assembly/seq1@9::.ctor(int32, - class [runtime]System.Tuple`2) - IL_007f: dup - IL_0080: stsfld class [runtime]System.Collections.Generic.IEnumerable`1> ''.$assembly::seq1@9 - IL_0085: stloc.s V_4 - IL_0087: ldc.i4.2 - IL_0088: newarr class [runtime]System.Tuple`2 - IL_008d: dup - IL_008e: ldc.i4.0 - IL_008f: ldc.i4.1 - IL_0090: ldc.i4.1 - IL_0091: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_0096: stelem class [runtime]System.Tuple`2 - IL_009b: dup - IL_009c: ldc.i4.1 - IL_009d: ldc.i4.2 - IL_009e: ldc.i4.2 - IL_009f: newobj instance void class [runtime]System.Tuple`2::.ctor(!0, - !1) - IL_00a4: stelem class [runtime]System.Tuple`2 - IL_00a9: dup - IL_00aa: stsfld class [runtime]System.Tuple`2[] ''.$assembly::array1@10 - IL_00af: stloc.s V_5 - IL_00b1: ldc.i4.2 - IL_00b2: ldc.i4.2 - IL_00b3: ldc.i4.0 - IL_00b4: call !!0[0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Create(int32, - int32, - !!0) - IL_00b9: dup - IL_00ba: stsfld int32[0...,0...] ''.$assembly::a3@11 - IL_00bf: stloc.s V_6 - IL_00c1: ldc.i4.3 - IL_00c2: ldc.i4.3 - IL_00c3: ldc.i4.3 - IL_00c4: ldc.i4.0 - IL_00c5: call !!0[0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Create(int32, - int32, - int32, - !!0) - IL_00ca: dup - IL_00cb: stsfld int32[0...,0...,0...] ''.$assembly::array3D@12 - IL_00d0: stloc.s V_7 - IL_00d2: ldc.i4.4 - IL_00d3: ldc.i4.4 - IL_00d4: ldc.i4.4 - IL_00d5: ldc.i4.4 - IL_00d6: ldc.i4.0 - IL_00d7: call !!0[0...,0...,0...,0...] [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Create(int32, - int32, - int32, - int32, - !!0) - IL_00dc: dup - IL_00dd: stsfld int32[0...,0...,0...,0...] ''.$assembly::array4D@13 - IL_00e2: stloc.s V_8 - IL_00e4: call int32[] assembly::get_array() - IL_00e9: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfArray(!!0[]) - IL_00ee: pop - IL_00ef: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() - IL_00f4: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_00f9: pop - IL_00fa: call class [runtime]System.Tuple`2[] assembly::get_array1() - IL_00ff: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfArray(class [runtime]System.Tuple`2[]) - IL_0104: pop - IL_0105: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1> assembly::get_list1() - IL_010a: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1>) - IL_010f: pop - IL_0110: call class [runtime]System.Collections.Generic.IEnumerable`1> assembly::get_seq1() - IL_0115: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpMap`2 [FSharp.Core]Microsoft.FSharp.Collections.MapModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1>) - IL_011a: pop - IL_011b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 assembly::get_alist() - IL_0120: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfList(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0125: dup - IL_0126: stsfld int32[] ''.$assembly::a1@25 - IL_012b: stloc.s V_9 - IL_012d: call class [runtime]System.Collections.Generic.IEnumerable`1 assembly::get_aseq() - IL_0132: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::OfSeq(class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0137: dup - IL_0138: stsfld int32[] ''.$assembly::a2@26 - IL_013d: stloc.s V_10 - IL_013f: call int32[] assembly::get_a1() - IL_0144: ldc.i4.0 - IL_0145: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Get(!!0[], - int32) - IL_014a: stloc.s V_11 - IL_014c: call int32[] assembly::get_a2() - IL_0151: ldc.i4.0 - IL_0152: ldloc.s V_11 - IL_0154: call void [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Set(!!0[], - int32, - !!0) - IL_0159: nop - IL_015a: call int32[0...,0...] assembly::get_a3() - IL_015f: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length1(!!0[0...,0...]) - IL_0164: call int32[0...,0...] assembly::get_a3() - IL_0169: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Length2(!!0[0...,0...]) - IL_016e: call int32[0...,0...] assembly::get_a3() - IL_0173: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base1(!!0[0...,0...]) - IL_0178: call int32[0...,0...] assembly::get_a3() - IL_017d: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Base2(!!0[0...,0...]) - IL_0182: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, - !1, - !2, - !3) - IL_0187: stloc.s V_12 - IL_0189: ldloc.s V_12 - IL_018b: stloc.s V_13 - IL_018d: call int32[0...,0...] assembly::get_a3() - IL_0192: ldc.i4.0 - IL_0193: ldc.i4.0 - IL_0194: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Get(!!0[0...,0...], - int32, - int32) - IL_0199: stloc.s V_14 - IL_019b: call int32[0...,0...] assembly::get_a3() - IL_01a0: ldc.i4.0 - IL_01a1: ldc.i4.0 - IL_01a2: ldloc.s V_14 - IL_01a4: call void [FSharp.Core]Microsoft.FSharp.Collections.Array2DModule::Set(!!0[0...,0...], - int32, - int32, - !!0) - IL_01a9: nop - IL_01aa: call int32[0...,0...,0...] assembly::get_array3D() - IL_01af: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length1(!!0[0...,0...,0...]) - IL_01b4: call int32[0...,0...,0...] assembly::get_array3D() - IL_01b9: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length2(!!0[0...,0...,0...]) - IL_01be: call int32[0...,0...,0...] assembly::get_array3D() - IL_01c3: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Length3(!!0[0...,0...,0...]) - IL_01c8: newobj instance void class [runtime]System.Tuple`3::.ctor(!0, - !1, - !2) - IL_01cd: stloc.s V_15 - IL_01cf: ldloc.s V_15 - IL_01d1: stloc.s V_16 - IL_01d3: call int32[0...,0...,0...] assembly::get_array3D() - IL_01d8: ldc.i4.0 - IL_01d9: ldc.i4.0 - IL_01da: ldc.i4.0 - IL_01db: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Get(!!0[0...,0...,0...], - int32, - int32, - int32) - IL_01e0: stloc.s V_17 - IL_01e2: call int32[0...,0...,0...] assembly::get_array3D() - IL_01e7: ldc.i4.0 - IL_01e8: ldc.i4.0 - IL_01e9: ldc.i4.0 - IL_01ea: ldloc.s V_17 - IL_01ec: call void [FSharp.Core]Microsoft.FSharp.Collections.Array3DModule::Set(!!0[0...,0...,0...], - int32, - int32, - int32, - !!0) - IL_01f1: nop - IL_01f2: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_01f7: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length1(!!0[0...,0...,0...,0...]) - IL_01fc: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0201: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length2(!!0[0...,0...,0...,0...]) - IL_0206: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_020b: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length3(!!0[0...,0...,0...,0...]) - IL_0210: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_0215: call int32 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Length4(!!0[0...,0...,0...,0...]) - IL_021a: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, - !1, - !2, - !3) - IL_021f: stloc.s V_18 - IL_0221: ldloc.s V_18 - IL_0223: stloc.s V_19 - IL_0225: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_022a: ldc.i4.0 - IL_022b: ldc.i4.0 - IL_022c: ldc.i4.0 - IL_022d: ldc.i4.0 - IL_022e: call !!0 [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Get(!!0[0...,0...,0...,0...], - int32, - int32, - int32, - int32) - IL_0233: stloc.s V_20 - IL_0235: call int32[0...,0...,0...,0...] assembly::get_array4D() - IL_023a: ldc.i4.0 - IL_023b: ldc.i4.0 - IL_023c: ldc.i4.0 - IL_023d: ldc.i4.0 - IL_023e: ldloc.s V_20 - IL_0240: call void [FSharp.Core]Microsoft.FSharp.Collections.Array4DModule::Set(!!0[0...,0...,0...,0...], - int32, - int32, - int32, - int32, - !!0) - IL_0245: nop - IL_0246: ret + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/CustomAttributeGenericParameter01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl similarity index 81% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl index 16a86e09862..d4341a9cfc7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl @@ -53,6 +53,27 @@ IL_0001: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + } .class private abstract auto ansi sealed ''.$M @@ -67,10 +88,8 @@ .entrypoint .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0006: pop - IL_0007: ret + IL_0000: call void M::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOff.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOff.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOff.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Decimal01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOff.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl similarity index 82% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl index 66c14f7cac0..f381037c5ab 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl @@ -48,18 +48,19 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) -} + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed + .method assembly static void staticInitialization@() cil managed { - .entrypoint .maxstack 8 IL_0000: ldc.i4.s 12 @@ -78,6 +79,24 @@ } +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl similarity index 82% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl index dacf9cdbaab..30ee62be835 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl @@ -48,18 +48,19 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) -} + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed + .method assembly static void staticInitialization@() cil managed { - .entrypoint .maxstack 8 IL_0000: ldc.i4.s 12 @@ -78,6 +79,24 @@ } +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.RealInternalSignatureOff.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.RealInternalSignatureOff.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.RealInternalSignatureOn.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.RealInternalSignatureOn.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EntryPoint01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOff.il.bsl new file mode 100644 index 00000000000..0ea905abd6f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOff.il.bsl @@ -0,0 +1,112 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static int32 get_static_initializer() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.s 10 + IL_0002: ret + } + + .method public static int32 main(string[] argsz) cil managed + { + .entrypoint + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: nop + IL_000d: nop + IL_000e: call int32 assembly::get_static_initializer() + IL_0013: ldc.i4.s 10 + IL_0015: bne.un.s IL_001b + + IL_0017: ldc.i4.0 + IL_0018: nop + IL_0019: br.s IL_001d + + IL_001b: ldc.i4.1 + IL_001c: nop + IL_001d: tail. + IL_001f: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0024: ret + } + + .property int32 static_initializer() + { + .get int32 assembly::get_static_initializer() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 3 + .locals init (int32 V_0) + IL_0000: call int32 assembly::get_static_initializer() + IL_0005: stloc.0 + IL_0006: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..f3df30fd7af --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EntryPoint01.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,94 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static int32 get_static_initializer() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldc.i4.s 10 + IL_0002: ret + } + + .method public static int32 main(string[] argsz) cil managed + { + .entrypoint + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.EntryPointAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: nop + IL_0001: nop + IL_0002: call int32 assembly::get_static_initializer() + IL_0007: ldc.i4.s 10 + IL_0009: bne.un.s IL_000f + + IL_000b: ldc.i4.0 + IL_000c: nop + IL_000d: br.s IL_0011 + + IL_000f: ldc.i4.1 + IL_0010: nop + IL_0011: tail. + IL_0013: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0018: ret + } + + .property int32 static_initializer() + { + .get int32 assembly::get_static_initializer() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.net472.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.net472.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/EqualsOnUnions01.fs.il.netcore.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/EqualsOnUnions01.fs.il.netcore.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl similarity index 88% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl index 7d0d3f2f625..7d73f39f6f9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl @@ -43,18 +43,19 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) -} + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed + .method assembly static void staticInitialization@() cil managed { - .entrypoint .maxstack 5 .locals init (class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 V_0, @@ -64,8 +65,8 @@ IL_0001: ldc.i4.1 IL_0002: ldc.i4.3 IL_0003: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) + int32, + int32) IL_0008: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) IL_000d: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) IL_0012: stloc.0 @@ -96,6 +97,24 @@ } +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl similarity index 86% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl index f49650ef0ee..f5cb5819a6a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl @@ -43,18 +43,19 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) -} + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed + .method assembly static void staticInitialization@() cil managed { - .entrypoint .maxstack 5 .locals init (int32 V_0) @@ -83,6 +84,24 @@ } +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ForLoop03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.net472.bsl new file mode 100644 index 00000000000..35835161848 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.net472.bsl @@ -0,0 +1,173 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static class [runtime]System.Collections.Generic.List`1 get_ra() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.List`1 ''.$assembly::ra@5 + IL_0005: ret + } + + .method public static void test1() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [runtime]System.Collections.Generic.List`1 V_2, + valuetype [runtime]System.Collections.Generic.List`1/Enumerator V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_003f + + IL_0006: call class [runtime]System.Collections.Generic.List`1 assembly::get_ra() + IL_000b: stloc.2 + IL_000c: ldloc.2 + IL_000d: callvirt instance valuetype [runtime]System.Collections.Generic.List`1/Enumerator class [runtime]System.Collections.Generic.List`1::GetEnumerator() + IL_0012: stloc.3 + .try + { + IL_0013: br.s IL_0022 + + IL_0015: ldloca.s V_3 + IL_0017: call instance !0 valuetype [runtime]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_001c: stloc.s V_4 + IL_001e: ldloc.0 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloca.s V_3 + IL_0024: call instance bool valuetype [runtime]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_0029: brtrue.s IL_0015 + + IL_002b: leave.s IL_003b + + } + finally + { + IL_002d: ldloca.s V_3 + IL_002f: constrained. valuetype [runtime]System.Collections.Generic.List`1/Enumerator + IL_0035: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_003a: endfinally + } + IL_003b: ldloc.1 + IL_003c: ldc.i4.1 + IL_003d: add + IL_003e: stloc.1 + IL_003f: ldloc.1 + IL_0040: ldc.i4.1 + IL_0041: ldc.i4 0x989680 + IL_0046: add + IL_0047: blt.s IL_0006 + + IL_0049: ldstr "z = %d" + IL_004e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0053: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0058: ldloc.0 + IL_0059: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_005e: pop + IL_005f: ret + } + + .property class [runtime]System.Collections.Generic.List`1 + ra() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.List`1 assembly::get_ra() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly class [runtime]System.Collections.Generic.List`1 ra@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 5 + .locals init (class [runtime]System.Collections.Generic.List`1 V_0, + int32 V_1) + IL_0000: ldc.i4.s 100 + IL_0002: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor(int32) + IL_0007: dup + IL_0008: stsfld class [runtime]System.Collections.Generic.List`1 ''.$assembly::ra@5 + IL_000d: stloc.0 + IL_000e: ldc.i4.0 + IL_000f: stloc.1 + IL_0010: br.s IL_0021 + + IL_0012: call class [runtime]System.Collections.Generic.List`1 assembly::get_ra() + IL_0017: ldloc.1 + IL_0018: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_001d: ldloc.1 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: stloc.1 + IL_0021: ldloc.1 + IL_0022: ldc.i4.1 + IL_0023: ldc.i4.s 100 + IL_0025: add + IL_0026: blt.s IL_0012 + + IL_0028: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.netcore.bsl new file mode 100644 index 00000000000..ca21ccfd0c9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOff.il.netcore.bsl @@ -0,0 +1,178 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public specialname static class [System.Collections]System.Collections.Generic.List`1 get_ra() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [System.Collections]System.Collections.Generic.List`1 ''.$assembly::ra@5 + IL_0005: ret + } + + .method public static void test1() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [System.Collections]System.Collections.Generic.List`1 V_2, + valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_003f + + IL_0006: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_ra() + IL_000b: stloc.2 + IL_000c: ldloc.2 + IL_000d: callvirt instance valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator class [System.Collections]System.Collections.Generic.List`1::GetEnumerator() + IL_0012: stloc.3 + .try + { + IL_0013: br.s IL_0022 + + IL_0015: ldloca.s V_3 + IL_0017: call instance !0 valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_001c: stloc.s V_4 + IL_001e: ldloc.0 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloca.s V_3 + IL_0024: call instance bool valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_0029: brtrue.s IL_0015 + + IL_002b: leave.s IL_003b + + } + finally + { + IL_002d: ldloca.s V_3 + IL_002f: constrained. valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator + IL_0035: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_003a: endfinally + } + IL_003b: ldloc.1 + IL_003c: ldc.i4.1 + IL_003d: add + IL_003e: stloc.1 + IL_003f: ldloc.1 + IL_0040: ldc.i4.1 + IL_0041: ldc.i4 0x989680 + IL_0046: add + IL_0047: blt.s IL_0006 + + IL_0049: ldstr "z = %d" + IL_004e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0053: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0058: ldloc.0 + IL_0059: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_005e: pop + IL_005f: ret + } + + .property class [System.Collections]System.Collections.Generic.List`1 + ra() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [System.Collections]System.Collections.Generic.List`1 assembly::get_ra() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly class [System.Collections]System.Collections.Generic.List`1 ra@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 5 + .locals init (class [System.Collections]System.Collections.Generic.List`1 V_0, + int32 V_1) + IL_0000: ldc.i4.s 100 + IL_0002: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor(int32) + IL_0007: dup + IL_0008: stsfld class [System.Collections]System.Collections.Generic.List`1 ''.$assembly::ra@5 + IL_000d: stloc.0 + IL_000e: ldc.i4.0 + IL_000f: stloc.1 + IL_0010: br.s IL_0021 + + IL_0012: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_ra() + IL_0017: ldloc.1 + IL_0018: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_001d: ldloc.1 + IL_001e: ldc.i4.1 + IL_001f: add + IL_0020: stloc.1 + IL_0021: ldloc.1 + IL_0022: ldc.i4.1 + IL_0023: ldc.i4.s 100 + IL_0025: add + IL_0026: blt.s IL_0012 + + IL_0028: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl new file mode 100644 index 00000000000..91e24e59c05 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl @@ -0,0 +1,189 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly class [runtime]System.Collections.Generic.List`1 ra@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [runtime]System.Collections.Generic.List`1 get_ra() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.List`1 assembly::ra@5 + IL_0005: ret + } + + .method public static void test1() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [runtime]System.Collections.Generic.List`1 V_2, + valuetype [runtime]System.Collections.Generic.List`1/Enumerator V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_003f + + IL_0006: call class [runtime]System.Collections.Generic.List`1 assembly::get_ra() + IL_000b: stloc.2 + IL_000c: ldloc.2 + IL_000d: callvirt instance valuetype [runtime]System.Collections.Generic.List`1/Enumerator class [runtime]System.Collections.Generic.List`1::GetEnumerator() + IL_0012: stloc.3 + .try + { + IL_0013: br.s IL_0022 + + IL_0015: ldloca.s V_3 + IL_0017: call instance !0 valuetype [runtime]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_001c: stloc.s V_4 + IL_001e: ldloc.0 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloca.s V_3 + IL_0024: call instance bool valuetype [runtime]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_0029: brtrue.s IL_0015 + + IL_002b: leave.s IL_003b + + } + finally + { + IL_002d: ldloca.s V_3 + IL_002f: constrained. valuetype [runtime]System.Collections.Generic.List`1/Enumerator + IL_0035: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_003a: endfinally + } + IL_003b: ldloc.1 + IL_003c: ldc.i4.1 + IL_003d: add + IL_003e: stloc.1 + IL_003f: ldloc.1 + IL_0040: ldc.i4.1 + IL_0041: ldc.i4 0x989680 + IL_0046: add + IL_0047: blt.s IL_0006 + + IL_0049: ldstr "z = %d" + IL_004e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0053: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0058: ldloc.0 + IL_0059: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_005e: pop + IL_005f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldc.i4.s 100 + IL_0002: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor(int32) + IL_0007: stsfld class [runtime]System.Collections.Generic.List`1 assembly::ra@5 + IL_000c: ldc.i4.0 + IL_000d: stloc.0 + IL_000e: br.s IL_001f + + IL_0010: call class [runtime]System.Collections.Generic.List`1 assembly::get_ra() + IL_0015: ldloc.0 + IL_0016: callvirt instance void class [runtime]System.Collections.Generic.List`1::Add(!0) + IL_001b: ldloc.0 + IL_001c: ldc.i4.1 + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldloc.0 + IL_0020: ldc.i4.1 + IL_0021: ldc.i4.s 100 + IL_0023: add + IL_0024: blt.s IL_0010 + + IL_0026: ret + } + + .property class [runtime]System.Collections.Generic.List`1 + ra() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.List`1 assembly::get_ra() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl new file mode 100644 index 00000000000..bdca59c16de --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl @@ -0,0 +1,194 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .field static assembly class [System.Collections]System.Collections.Generic.List`1 ra@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [System.Collections]System.Collections.Generic.List`1 get_ra() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [System.Collections]System.Collections.Generic.List`1 assembly::ra@5 + IL_0005: ret + } + + .method public static void test1() cil managed + { + + .maxstack 5 + .locals init (int32 V_0, + int32 V_1, + class [System.Collections]System.Collections.Generic.List`1 V_2, + valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator V_3, + int32 V_4) + IL_0000: ldc.i4.0 + IL_0001: stloc.0 + IL_0002: ldc.i4.0 + IL_0003: stloc.1 + IL_0004: br.s IL_003f + + IL_0006: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_ra() + IL_000b: stloc.2 + IL_000c: ldloc.2 + IL_000d: callvirt instance valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator class [System.Collections]System.Collections.Generic.List`1::GetEnumerator() + IL_0012: stloc.3 + .try + { + IL_0013: br.s IL_0022 + + IL_0015: ldloca.s V_3 + IL_0017: call instance !0 valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::get_Current() + IL_001c: stloc.s V_4 + IL_001e: ldloc.0 + IL_001f: ldc.i4.1 + IL_0020: add + IL_0021: stloc.0 + IL_0022: ldloca.s V_3 + IL_0024: call instance bool valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::MoveNext() + IL_0029: brtrue.s IL_0015 + + IL_002b: leave.s IL_003b + + } + finally + { + IL_002d: ldloca.s V_3 + IL_002f: constrained. valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator + IL_0035: callvirt instance void [runtime]System.IDisposable::Dispose() + IL_003a: endfinally + } + IL_003b: ldloc.1 + IL_003c: ldc.i4.1 + IL_003d: add + IL_003e: stloc.1 + IL_003f: ldloc.1 + IL_0040: ldc.i4.1 + IL_0041: ldc.i4 0x989680 + IL_0046: add + IL_0047: blt.s IL_0006 + + IL_0049: ldstr "z = %d" + IL_004e: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [runtime]System.IO.TextWriter,class [FSharp.Core]Microsoft.FSharp.Core.Unit,class [FSharp.Core]Microsoft.FSharp.Core.Unit,int32>::.ctor(string) + IL_0053: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0058: ldloc.0 + IL_0059: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) + IL_005e: pop + IL_005f: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldc.i4.s 100 + IL_0002: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor(int32) + IL_0007: stsfld class [System.Collections]System.Collections.Generic.List`1 assembly::ra@5 + IL_000c: ldc.i4.0 + IL_000d: stloc.0 + IL_000e: br.s IL_001f + + IL_0010: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_ra() + IL_0015: ldloc.0 + IL_0016: callvirt instance void class [System.Collections]System.Collections.Generic.List`1::Add(!0) + IL_001b: ldloc.0 + IL_001c: ldc.i4.1 + IL_001d: add + IL_001e: stloc.0 + IL_001f: ldloc.0 + IL_0020: ldc.i4.1 + IL_0021: ldc.i4.s 100 + IL_0023: add + IL_0024: blt.s IL_0010 + + IL_0026: ret + } + + .property class [System.Collections]System.Collections.Generic.List`1 + ra() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [System.Collections]System.Collections.Generic.List`1 assembly::get_ra() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOff.il.net472.bsl similarity index 93% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOff.il.net472.bsl index f0bf8062180..dc9cc7f2ed7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOff.il.net472.bsl @@ -58,8 +58,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 8 @@ -68,8 +67,7 @@ IL_000a: ret } - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 E0 07 00 00 1F 47 65 6E 65 72 61 6C 69 7A @@ -84,8 +82,7 @@ IL_0006: ret } - .method public static class assembly/Weirdo - get_C() cil managed + .method public static class assembly/Weirdo get_C() cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) @@ -95,8 +92,7 @@ IL_0005: ret } - .method public hidebysig instance int32 - get_Tag() cil managed + .method public hidebysig instance int32 get_Tag() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -108,8 +104,7 @@ IL_0003: ret } - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -123,8 +118,7 @@ IL_0015: ret } - .method public strict virtual instance string - ToString() cil managed + .method public strict virtual instance string ToString() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -137,8 +131,7 @@ IL_0015: ret } - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/Weirdo obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(class assembly/Weirdo obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -165,8 +158,7 @@ IL_0010: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -213,8 +205,7 @@ IL_0021: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -234,8 +225,7 @@ IL_000a: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -280,8 +270,7 @@ IL_001a: ret } - .method public hidebysig virtual final - instance bool Equals(class assembly/Weirdo obj) cil managed + .method public hidebysig virtual final instance bool Equals(class assembly/Weirdo obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -302,8 +291,7 @@ IL_000f: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -345,8 +333,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field public int32 C - .method assembly specialname rtspecialname - instance void .ctor(int32 C) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 C) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -360,8 +347,7 @@ IL_000d: ret } - .method public strict virtual instance int32 - Invoke(class assembly/Weirdo _arg1) cil managed + .method public strict virtual instance int32 Invoke(class assembly/Weirdo _arg1) cil managed { .maxstack 5 @@ -476,8 +462,7 @@ IL_0014: ret } - .method public hidebysig specialname instance class [runtime]System.Type - get_Type() cil managed + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -488,8 +473,7 @@ IL_0006: ret } - .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - get_MemberType() cil managed + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOff.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GeneralizationOnUnions01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOff.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl similarity index 92% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl index f0bf8062180..6166fa00a59 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl @@ -58,8 +58,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 8 @@ -68,8 +67,7 @@ IL_000a: ret } - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 E0 07 00 00 1F 47 65 6E 65 72 61 6C 69 7A @@ -84,8 +82,7 @@ IL_0006: ret } - .method public static class assembly/Weirdo - get_C() cil managed + .method public static class assembly/Weirdo get_C() cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) @@ -95,8 +92,7 @@ IL_0005: ret } - .method public hidebysig instance int32 - get_Tag() cil managed + .method public hidebysig instance int32 get_Tag() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -108,8 +104,7 @@ IL_0003: ret } - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -123,8 +118,7 @@ IL_0015: ret } - .method public strict virtual instance string - ToString() cil managed + .method public strict virtual instance string ToString() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -137,8 +131,7 @@ IL_0015: ret } - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/Weirdo obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(class assembly/Weirdo obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -165,8 +158,7 @@ IL_0010: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -213,8 +205,7 @@ IL_0021: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -234,8 +225,7 @@ IL_000a: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -280,8 +270,7 @@ IL_001a: ret } - .method public hidebysig virtual final - instance bool Equals(class assembly/Weirdo obj) cil managed + .method public hidebysig virtual final instance bool Equals(class assembly/Weirdo obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -302,8 +291,7 @@ IL_000f: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -345,8 +333,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field public int32 C - .method assembly specialname rtspecialname - instance void .ctor(int32 C) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 C) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -360,8 +347,7 @@ IL_000d: ret } - .method public strict virtual instance int32 - Invoke(class assembly/Weirdo _arg1) cil managed + .method public strict virtual instance int32 Invoke(class assembly/Weirdo _arg1) cil managed { .maxstack 5 @@ -400,6 +386,27 @@ IL_0009: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + } .class private abstract auto ansi sealed ''.$assembly @@ -414,10 +421,8 @@ .entrypoint .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0006: pop - IL_0007: ret + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } @@ -476,8 +481,7 @@ IL_0014: ret } - .method public hidebysig specialname instance class [runtime]System.Type - get_Type() cil managed + .method public hidebysig specialname instance class [runtime]System.Type get_Type() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -488,8 +492,7 @@ IL_0006: ret } - .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - get_MemberType() cil managed + .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes get_MemberType() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl similarity index 89% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl index 3f04239f476..8a64ee49c92 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl @@ -58,8 +58,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 8 @@ -68,8 +67,7 @@ IL_000a: ret } - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, class [runtime]System.Type) = ( 01 00 E0 07 00 00 1F 47 65 6E 65 72 61 6C 69 7A @@ -84,8 +82,7 @@ IL_0006: ret } - .method public static class assembly/Weirdo - get_C() cil managed + .method public static class assembly/Weirdo get_C() cil managed { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) @@ -95,8 +92,7 @@ IL_0005: ret } - .method public hidebysig instance int32 - get_Tag() cil managed + .method public hidebysig instance int32 get_Tag() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -108,8 +104,7 @@ IL_0003: ret } - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed + .method assembly hidebysig specialname instance object __DebugDisplay() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -123,8 +118,7 @@ IL_0015: ret } - .method public strict virtual instance string - ToString() cil managed + .method public strict virtual instance string ToString() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -137,8 +131,7 @@ IL_0015: ret } - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/Weirdo obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(class assembly/Weirdo obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -165,8 +158,7 @@ IL_0010: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -213,8 +205,7 @@ IL_0021: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -234,8 +225,7 @@ IL_000a: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -280,8 +270,7 @@ IL_001a: ret } - .method public hidebysig virtual final - instance bool Equals(class assembly/Weirdo obj) cil managed + .method public hidebysig virtual final instance bool Equals(class assembly/Weirdo obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -302,8 +291,7 @@ IL_000f: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -345,8 +333,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field public int32 C - .method assembly specialname rtspecialname - instance void .ctor(int32 C) cil managed + .method assembly specialname rtspecialname instance void .ctor(int32 C) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -360,8 +347,7 @@ IL_000d: ret } - .method public strict virtual instance int32 - Invoke(class assembly/Weirdo _arg1) cil managed + .method public strict virtual instance int32 Invoke(class assembly/Weirdo _arg1) cil managed { .maxstack 5 @@ -400,6 +386,27 @@ IL_0009: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) + IL_0006: pop + IL_0007: ret + } + } .class private abstract auto ansi sealed ''.$assembly @@ -414,10 +421,8 @@ .entrypoint .maxstack 8 - IL_0000: ldc.i4.0 - IL_0001: call !!0 [FSharp.Core]Microsoft.FSharp.Core.Operators::Exit(int32) - IL_0006: pop - IL_0007: ret + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/GenericTypeStaticField.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GenericTypeStaticField.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.RealInternalSignatureOff.il.bsl similarity index 95% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.RealInternalSignatureOff.il.bsl index 01992dbfb9d..b2c1885cc93 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/IfThenElse01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.RealInternalSignatureOff.il.bsl @@ -51,8 +51,7 @@ extends [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc { .field static assembly initonly class assembly/M/f5@5 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -65,8 +64,7 @@ IL_0006: ret } - .method public strict virtual instance object - Specialize() cil managed + .method public strict virtual instance object Specialize() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -78,8 +76,7 @@ IL_000b: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -99,8 +96,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class assembly/M/f5@5 self0@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class assembly/M/f5@5 self0@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.RealInternalSignatureOn.il.bsl similarity index 95% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.RealInternalSignatureOn.il.bsl index 01992dbfb9d..b2c1885cc93 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.RealInternalSignatureOn.il.bsl @@ -51,8 +51,7 @@ extends [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc { .field static assembly initonly class assembly/M/f5@5 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -65,8 +64,7 @@ IL_0006: ret } - .method public strict virtual instance object - Specialize() cil managed + .method public strict virtual instance object Specialize() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -78,8 +76,7 @@ IL_000b: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -99,8 +96,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class assembly/M/f5@5 self0@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class assembly/M/f5@5 self0@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl new file mode 100644 index 00000000000..be8de518fa4 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl @@ -0,0 +1,239 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto ansi sealed nested public M + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit f5@5 + extends [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc + { + .field static assembly initonly class assembly/M/f5@5 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::.ctor() + IL_0006: ret + } + + .method public strict virtual instance object Specialize() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: newobj instance void class assembly/M/f5@5T::.ctor(class assembly/M/f5@5) + IL_0006: box class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + IL_000b: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 10 + IL_0000: newobj instance void assembly/M/f5@5::.ctor() + IL_0005: stsfld class assembly/M/f5@5 assembly/M/f5@5::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit f5@5T + extends class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`5 + { + .field public class assembly/M/f5@5 self0@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class assembly/M/f5@5 self0@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.OptimizedClosures/FSharpFunc`5::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class assembly/M/f5@5 class assembly/M/f5@5T::self0@ + IL_000d: ret + } + + .method public strict virtual instance !a + Invoke(int32 x, + int32 y, + !a z, + !a w) cil managed + { + + .maxstack 7 + .locals init (class assembly/M/f5@5 V_0) + IL_0000: ldarg.0 + IL_0001: ldfld class assembly/M/f5@5 class assembly/M/f5@5T::self0@ + IL_0006: stloc.0 + IL_0007: nop + IL_0008: ldarg.1 + IL_0009: ldarg.2 + IL_000a: ble.s IL_000e + + IL_000c: ldarg.3 + IL_000d: ret + + IL_000e: ldarg.s w + IL_0010: ret + } + + } + + .method public static char m() cil managed + { + + .maxstack 7 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc V_0, + char V_1, + char V_2, + int32 V_3, + int32 V_4) + IL_0000: ldsfld class assembly/M/f5@5 assembly/M/f5@5::@_instance + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldc.i4.s 10 + IL_0009: ldc.i4.s 10 + IL_000b: ldc.i4.s 97 + IL_000d: ldc.i4.s 98 + IL_000f: stloc.1 + IL_0010: stloc.2 + IL_0011: stloc.3 + IL_0012: stloc.s V_4 + IL_0014: callvirt instance object [FSharp.Core]Microsoft.FSharp.Core.FSharpTypeFunc::Specialize() + IL_0019: unbox.any class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>> + IL_001e: ldloc.s V_4 + IL_0020: ldloc.3 + IL_0021: ldloc.2 + IL_0022: ldloc.1 + IL_0023: tail. + IL_0025: call !!2 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::InvokeFast(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>>, + !0, + !1, + !!0, + !!1) + IL_002a: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call char assembly/M::m() + IL_0005: pop + IL_0006: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/M::staticInitialization@() + IL_0005: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Int64.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Int64.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Int64.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Int64.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOff.il.bsl similarity index 96% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOff.il.bsl index 77d2bb8bcf4..51d7e424843 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/LetIfThenElse01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOff.il.bsl @@ -43,8 +43,7 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public static class [runtime]System.Tuple`4 - F(!!a y) cil managed + .method public static class [runtime]System.Tuple`4 F(!!a y) cil managed { .maxstack 6 @@ -121,9 +120,9 @@ IL_0076: ldloc.s V_4 IL_0078: ldloc.s V_6 IL_007a: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, - !1, - !2, - !3) + !1, + !2, + !3) IL_007f: ret } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl similarity index 87% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl index 77d2bb8bcf4..4c58d288365 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl @@ -43,8 +43,7 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public static class [runtime]System.Tuple`4 - F(!!a y) cil managed + .method public static class [runtime]System.Tuple`4 F(!!a y) cil managed { .maxstack 6 @@ -121,12 +120,37 @@ IL_0076: ldloc.s V_4 IL_0078: ldloc.s V_6 IL_007a: newobj instance void class [runtime]System.Tuple`4::.ctor(!0, - !1, - !2, - !3) + !1, + !2, + !3) IL_007f: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 3 + .locals init (class [runtime]System.Tuple`4 V_0, + class [runtime]System.Tuple`4 V_1) + IL_0000: ldc.i4.1 + IL_0001: call class [runtime]System.Tuple`4 assembly::F(!!0) + IL_0006: stloc.0 + IL_0007: ldloc.0 + IL_0008: stloc.1 + IL_0009: ret + } + } .class private abstract auto ansi sealed ''.$assembly @@ -140,15 +164,9 @@ { .entrypoint - .maxstack 3 - .locals init (class [runtime]System.Tuple`4 V_0, - class [runtime]System.Tuple`4 V_1) - IL_0000: ldc.i4.1 - IL_0001: call class [runtime]System.Tuple`4 assembly::F(!!0) - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: stloc.1 - IL_0009: ret + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOff.il.net472.bsl similarity index 97% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOff.il.net472.bsl index 73c15706a8b..69538d40cd0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOff.il.net472.bsl @@ -48,8 +48,7 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static object - get_o() cil managed + .method public specialname static object get_o() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOff.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOff.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl similarity index 70% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl index 73c15706a8b..3063c1b736a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Lock01.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl @@ -48,67 +48,82 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static object - get_o() cil managed + .field static assembly object o@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static object get_o() cil managed { .maxstack 8 - IL_0000: ldsfld object ''.$assembly::o@19 + IL_0000: ldsfld object assembly::o@19 IL_0005: ret } - .property object o() + .method private specialname rtspecialname static void .cctor() cil managed { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get object assembly::get_o() + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret } -} -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly object o@19 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed + .method assembly static void staticInitialization@() cil managed { - .entrypoint .maxstack 4 .locals init (object V_0, - object V_1, - bool V_2) + bool V_1) IL_0000: newobj instance void [runtime]System.Object::.ctor() - IL_0005: dup - IL_0006: stsfld object ''.$assembly::o@19 - IL_000b: stloc.0 - IL_000c: call object assembly::get_o() + IL_0005: stsfld object assembly::o@19 + IL_000a: call object assembly::get_o() + IL_000f: stloc.0 + IL_0010: ldc.i4.0 IL_0011: stloc.1 - IL_0012: ldc.i4.0 - IL_0013: stloc.2 .try { - IL_0014: ldloc.1 - IL_0015: ldloca.s V_2 - IL_0017: call void [netstandard]System.Threading.Monitor::Enter(object, + IL_0012: ldloc.0 + IL_0013: ldloca.s V_1 + IL_0015: call void [netstandard]System.Threading.Monitor::Enter(object, bool&) - IL_001c: leave.s IL_0029 + IL_001a: leave.s IL_0027 } finally { - IL_001e: ldloc.2 - IL_001f: brfalse.s IL_0028 + IL_001c: ldloc.1 + IL_001d: brfalse.s IL_0026 - IL_0021: ldloc.1 - IL_0022: call void [netstandard]System.Threading.Monitor::Exit(object) - IL_0027: endfinally - IL_0028: endfinally + IL_001f: ldloc.0 + IL_0020: call void [netstandard]System.Threading.Monitor::Exit(object) + IL_0025: endfinally + IL_0026: endfinally } - IL_0029: ret + IL_0027: ret + } + + .property object o() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get object assembly::get_o() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl similarity index 70% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl index 41394fd6e02..f12a7bef8d1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl @@ -48,67 +48,82 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static object - get_o() cil managed + .field static assembly object o@19 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static object get_o() cil managed { .maxstack 8 - IL_0000: ldsfld object ''.$assembly::o@19 + IL_0000: ldsfld object assembly::o@19 IL_0005: ret } - .property object o() + .method private specialname rtspecialname static void .cctor() cil managed { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) - .get object assembly::get_o() + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret } -} -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly object o@19 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed + .method assembly static void staticInitialization@() cil managed { - .entrypoint .maxstack 4 .locals init (object V_0, - object V_1, - bool V_2) + bool V_1) IL_0000: newobj instance void [runtime]System.Object::.ctor() - IL_0005: dup - IL_0006: stsfld object ''.$assembly::o@19 - IL_000b: stloc.0 - IL_000c: call object assembly::get_o() + IL_0005: stsfld object assembly::o@19 + IL_000a: call object assembly::get_o() + IL_000f: stloc.0 + IL_0010: ldc.i4.0 IL_0011: stloc.1 - IL_0012: ldc.i4.0 - IL_0013: stloc.2 .try { - IL_0014: ldloc.1 - IL_0015: ldloca.s V_2 - IL_0017: call void [netstandard]System.Threading.Monitor::Enter(object, + IL_0012: ldloc.0 + IL_0013: ldloca.s V_1 + IL_0015: call void [netstandard]System.Threading.Monitor::Enter(object, bool&) - IL_001c: leave.s IL_0029 + IL_001a: leave.s IL_0027 } finally { - IL_001e: ldloc.2 - IL_001f: brfalse.s IL_0028 + IL_001c: ldloc.1 + IL_001d: brfalse.s IL_0026 - IL_0021: ldloc.1 - IL_0022: call void [netstandard]System.Threading.Monitor::Exit(object) - IL_0027: endfinally - IL_0028: endfinally + IL_001f: ldloc.0 + IL_0020: call void [netstandard]System.Threading.Monitor::Exit(object) + IL_0025: endfinally + IL_0026: endfinally } - IL_0029: ret + IL_0027: ret + } + + .property object o() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get object assembly::get_o() + } +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Marshal.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Marshal.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/MethodImplNoInline02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl similarity index 84% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl index f1d5cdd13d8..3ff41021899 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl @@ -63,6 +63,26 @@ IL_0007: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::g() + IL_0005: nop + IL_0006: ret + } + } .class private abstract auto ansi sealed ''.$assembly @@ -77,9 +97,8 @@ .entrypoint .maxstack 8 - IL_0000: call void assembly::g() - IL_0005: nop - IL_0006: ret + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs new file mode 100644 index 00000000000..fddab2c7899 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs @@ -0,0 +1,379 @@ +namespace EmittedIL + +open Xunit +open System.IO +open FSharp.Test +open FSharp.Test.Compiler + +module Misc = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> verifyILBaseline + + + // SOURCE=AbstractClass.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AbstractClass.exe" # AbstractClass.fs + [] + let ``AbstractClass_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=AbstractClass.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AbstractClass.exe" # AbstractClass.fs + [] + let ``AbstractClass_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=AnonRecd.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AnonRecd.exe" # AnonRecd.fs + [] + let ``AnonRecd_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=CodeGenRenamings01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CodeGenRenamings01.exe" # CodeGenRenamings01.fs - + [] + let ``CodeGenRenamings01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=CodeGenRenamings01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CodeGenRenamings01.exe" # CodeGenRenamings01.fs - + [] + let ``CodeGenRenamings01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=ArgumentNamesInClosures01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ArgumentNamesInClosures01.dll" # ArgumentNamesInClosures01.fs - + [] + let ``ArgumentNamesInClosures01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=ArgumentNamesInClosures01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ArgumentNamesInClosures01.dll" # ArgumentNamesInClosures01.fs - + [] + let ``ArgumentNamesInClosures01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=Decimal01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Decimal01.exe" # Decimal01.fs + [] + let ``Decimal01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=Decimal01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Decimal01.exe" # Decimal01.fs + [] + let ``Decimal01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=EntryPoint01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EntryPoint01.exe" # EntryPoint01.fs + [] + let ``EntryPoint01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=EntryPoint01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EntryPoint01.exe" # EntryPoint01.fs + [] + let ``EntryPoint01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=EqualsOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EqualsOnUnions01.exe" # EqualsOnUnions01.fs - + [] + let ``EqualsOnUnions01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop01.exe" # ForLoop01.fs - + [] + let ``ForLoop01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop01.exe" # ForLoop01.fs - + [] + let ``ForLoop01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop02.exe" # ForLoop02.fs + [] + let ``ForLoop02_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop02.exe" # ForLoop02.fs + [] + let ``ForLoop02_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop03.exe" # ForLoop03.fs + [] + let ``ForLoop03_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=ForLoop03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop03.exe" # ForLoop03.fs + [] + let ``ForLoop03_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=NoBoxingOnDispose01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoBoxingOnDispose01.exe" # NoBoxingOnDispose01.fs + [] + let ``NoBoxingOnDispose01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + //SOURCE=IfThenElse01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd IfThenElse01.dll" # IfThenElse01.fs + [] + let ``IfThenElse01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + //SOURCE=IfThenElse01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd IfThenElse01.dll" # IfThenElse01.fs + [] + let ``IfThenElse01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=LetIfThenElse01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd LetIfThenElse01.exe" # LetIfThenElse01.fs - + [] + let ``LetIfThenElse01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=LetIfThenElse01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd LetIfThenElse01.exe" # LetIfThenElse01.fs - + [] + let ``LetIfThenElse01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=Lock01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Lock01.exe" # Lock01.fs - + [] + let ``Lock01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=Lock01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Lock01.exe" # Lock01.fs - + [] + let ``Lock01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=ModuleWithExpression01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ModuleWithExpression01.exe" # ModuleWithExpression01.fs + [] + let ``ModuleWithExpression01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=ModuleWithExpression01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ModuleWithExpression01.exe" # ModuleWithExpression01.fs + [] + let ``ModuleWithExpression01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=NonEscapingArguments02.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NonEscapingArguments02.dll" # NonEscapingArguments02.fs + [] + let ``NonEscapingArguments02_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=Seq_for_all01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Seq_for_all01.exe" # Seq_for_all01.fs + [] + let ``Seq_for_all01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=Seq_for_all01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Seq_for_all01.exe" # Seq_for_all01.fs + [] + let ``Seq_for_all01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=StructsAsArrayElements01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StructsAsArrayElements01.dll" # StructsAsArrayElements01.fs - + [] + let ``StructsAsArrayElements01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=StructsAsArrayElements01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StructsAsArrayElements01.dll" # StructsAsArrayElements01.fs - + [] + let ``StructsAsArrayElements01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=PreserveSig.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd PreserveSig.dll" # PreserveSig.fs - + [] + let ``PreserveSig_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // # The name of this test is a bit misleading for legacy reasons: it used to test the --no-generate-filter-blocks option, which is now gone + // SOURCE=TryWith_NoFilterBlocks01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TryWith_NoFilterBlocks01.exe" # TryWith_NoFilterBlocks01.fs + [] + let ``TryWith_NoFilterBlocks01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // # The name of this test is a bit misleading for legacy reasons: it used to test the --no-generate-filter-blocks option, which is now gone + // SOURCE=TryWith_NoFilterBlocks01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TryWith_NoFilterBlocks01.exe" # TryWith_NoFilterBlocks01.fs + [] + let ``TryWith_NoFilterBlocks01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=Structs01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs01.exe" # Structs01.fs - + [] + let ``Structs01_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=Structs02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs02.exe" # Structs02.fs - + [] + let ``Structs02_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + [] + let ``Structs02_asNetStandard20_fs`` compilation = + compilation + |>asLibrary + |>asNetStandard20 + |>verifyCompilation + + // SOURCE=Marshal.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Marshal.exe" # Marshal.fs + [] + let ``Marshal_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=MethodImplNoInline02.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline02.exe" # MethodImplNoInline02.fs + [] + let ``MethodImplNoInline02_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=MethodImplNoInline02.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline02.exe" # MethodImplNoInline02.fs + [] + let ``MethodImplNoInline02_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=CustomAttributeGenericParameter01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CustomAttributeGenericParameter01.exe" # CustomAttributeGenericParameter01.fs - + [] + let ``CustomAttributeGenericParameter01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=CustomAttributeGenericParameter01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CustomAttributeGenericParameter01.exe" # CustomAttributeGenericParameter01.fs - + [] + let ``CustomAttributeGenericParameter01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation + + // SOURCE=GenericTypeStaticField.fs SCFLAGS="-g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GenericTypeStaticField.exe" # GenericTypeStaticField.fs - + [] + let ``GenericTypeStaticField_fs`` compilation = + compilation + |> asExe + |> verifyCompilation + + // SOURCE=GenericTypeStaticField.fs SCFLAGS="-g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GenericTypeStaticField.exe" # GenericTypeStaticField.fs - + // SOURCE=GeneralizationOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GeneralizationOnUnions01.exe" # GeneralizationOnUnions01.fs + [] + let ``GeneralizationOnUnions01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asExe + |> verifyCompilation + + // SOURCE=GeneralizationOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GeneralizationOnUnions01.exe" # GeneralizationOnUnions01.fs + [] + let ``GeneralizationOnUnions01_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asExe + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOff.il.bsl similarity index 97% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOff.il.bsl index 56dbb23e390..b66ece721b1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/ModuleWithExpression01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOff.il.bsl @@ -47,8 +47,7 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static int32 - get_x() cil managed + .method public specialname static int32 get_x() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl similarity index 56% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl index 56dbb23e390..261799865d8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl @@ -47,8 +47,7 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public specialname static int32 - get_x() cil managed + .method public specialname static int32 get_x() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -58,12 +57,53 @@ IL_0001: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldstr "hello" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: ret + } + .property int32 x() { .get int32 assembly/M::get_x() } } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/M::staticInitialization@() + IL_0005: ret + } + } .class private abstract auto ansi sealed ''.$assembly @@ -77,15 +117,9 @@ { .entrypoint - .maxstack 3 - .locals init (int32 V_0) - IL_0000: ldstr "hello" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: pop - IL_0010: call int32 assembly/M::get_x() - IL_0015: stloc.0 - IL_0016: ret + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NoBoxingOnDispose01.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NoBoxingOnDispose01.fs.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/NonEscapingArguments02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/NonEscapingArguments02.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/PreserveSig.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/PreserveSig.fs.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs deleted file mode 100644 index 67a6e96c523..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Misc.fs +++ /dev/null @@ -1,222 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module MiscRealInternalSignatureOff = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOff - |> ignoreWarnings - |> verifyILBaseline - - // SOURCE=AnonRecd.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AnonRecd.exe" # AnonRecd.fs - [] - let ``AnonRecd_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=CodeGenRenamings01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CodeGenRenamings01.exe" # CodeGenRenamings01.fs - - [] - let ``CodeGenRenamings01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ArgumentNamesInClosures01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ArgumentNamesInClosures01.dll" # ArgumentNamesInClosures01.fs - - [] - let ``ArgumentNamesInClosures01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Decimal01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Decimal01.exe" # Decimal01.fs - [] - let ``Decimal01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=EntryPoint01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EntryPoint01.exe" # EntryPoint01.fs - [] - let ``EntryPoint01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=EqualsOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EqualsOnUnions01.exe" # EqualsOnUnions01.fs - - [] - let ``EqualsOnUnions01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ForLoop01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop01.exe" # ForLoop01.fs - - [] - let ``ForLoop01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ForLoop02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop02.exe" # ForLoop02.fs - [] - let ``ForLoop02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ForLoop03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop03.exe" # ForLoop03.fs - [] - let ``ForLoop03_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=NoBoxingOnDispose01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoBoxingOnDispose01.exe" # NoBoxingOnDispose01.fs - [] - let ``NoBoxingOnDispose01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - //SOURCE=IfThenElse01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd IfThenElse01.dll" # IfThenElse01.fs - [] - let ``IfThenElse01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=LetIfThenElse01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd LetIfThenElse01.exe" # LetIfThenElse01.fs - - [] - let ``LetIfThenElse01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Lock01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Lock01.exe" # Lock01.fs - - [] - let ``Lock01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ModuleWithExpression01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ModuleWithExpression01.exe" # ModuleWithExpression01.fs - [] - let ``ModuleWithExpression01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=NonEscapingArguments02.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NonEscapingArguments02.dll" # NonEscapingArguments02.fs - [] - let ``NonEscapingArguments02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Seq_for_all01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Seq_for_all01.exe" # Seq_for_all01.fs - [] - let ``Seq_for_all01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=StructsAsArrayElements01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StructsAsArrayElements01.dll" # StructsAsArrayElements01.fs - - [] - let ``StructsAsArrayElements01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=PreserveSig.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd PreserveSig.dll" # PreserveSig.fs - - [] - let ``PreserveSig_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // # The name of this test is a bit misleading for legacy reasons: it used to test the --no-generate-filter-blocks option, which is now gone - // SOURCE=TryWith_NoFilterBlocks01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TryWith_NoFilterBlocks01.exe" # TryWith_NoFilterBlocks01.fs - [] - let ``TryWith_NoFilterBlocks01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Structs01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs01.exe" # Structs01.fs - - [] - let ``Structs01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Structs02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs02.exe" # Structs02.fs - - [] - let ``Structs02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - [] - let ``Structs02_asNetStandard20_fs`` compilation = - compilation - |>asLibrary - |>asNetStandard20 - |>verifyCompilation - - // SOURCE=Marshal.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Marshal.exe" # Marshal.fs - [] - let ``Marshal_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=MethodImplNoInline.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline.exe" # MethodImplNoInline.fs - [] - let ``MethodImplNoInline_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=MethodImplNoInline02.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline02.exe" # MethodImplNoInline02.fs - [] - let ``MethodImplNoInline02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=CustomAttributeGenericParameter01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CustomAttributeGenericParameter01.exe" # CustomAttributeGenericParameter01.fs - - [] - let ``CustomAttributeGenericParameter01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=GenericTypeStaticField.fs SCFLAGS="-g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GenericTypeStaticField.exe" # GenericTypeStaticField.fs - - [] - let ``GenericTypeStaticField_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=GeneralizationOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GeneralizationOnUnions01.exe" # GeneralizationOnUnions01.fs - [] - let ``GeneralizationOnUnions01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=AbstractClass.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AbstractClass.exe" # AbstractClass.fs - [] - let ``AbstractClass_fs`` compilation = - compilation - |> asExe - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs deleted file mode 100644 index fb57826cbe9..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AbstractClass.fs +++ /dev/null @@ -1,8 +0,0 @@ -// regression test for https://github.com/dotnet/fsharp/issues/420 - -[] -type X public (i : int) = - internal new() = X(1) - private new(f : float32) = X(1) - -exit 0 \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs deleted file mode 100644 index 74ad9e7c857..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs +++ /dev/null @@ -1,10 +0,0 @@ - - -let main argv = - let mutable x = 1 - - let a = {| A = 1; B = 1 |} - - x <- x + 1 - - 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl deleted file mode 100644 index 51ecb51bb67..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.net472.bsl +++ /dev/null @@ -1,598 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public static int32 main(!!a argv) cil managed - { - - .maxstack 4 - .locals init (int32 V_0, - class '<>f__AnonymousType1912756633`2' V_1) - IL_0000: ldc.i4.1 - IL_0001: stloc.0 - IL_0002: ldc.i4.1 - IL_0003: ldc.i4.1 - IL_0004: newobj instance void class '<>f__AnonymousType1912756633`2'::.ctor(!0, - !1) - IL_0009: stloc.1 - IL_000a: ldloc.0 - IL_000b: ldc.i4.1 - IL_000c: add - IL_000d: stloc.0 - IL_000e: ldc.i4.0 - IL_000f: ret - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - -.class public auto ansi serializable sealed beforefieldinit '<>f__AnonymousType1912756633`2'<'j__TPar','j__TPar'> - extends [runtime]System.Object - implements [runtime]System.Collections.IStructuralComparable, - [runtime]System.IComparable, - class [runtime]System.IComparable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IEquatable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>> -{ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 02 00 00 00 00 00 ) - .field private !'j__TPar' A@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field private !'j__TPar' B@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(!'j__TPar' A, - !'j__TPar' B) cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 1E 3C 3E 66 5F 5F 41 6E 6F 6E - 79 6D 6F 75 73 54 79 70 65 31 39 31 32 37 35 36 - 36 33 33 60 32 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0014: ret - } - - .method public hidebysig specialname instance !'j__TPar' - get_A() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0006: ret - } - - .method public hidebysig specialname instance !'j__TPar' - get_B() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0006: ret - } - - .method public strict virtual instance string - ToString() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToStringf__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>::Invoke(!0) - IL_0015: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (int32 V_0) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0044 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0042 - - IL_0006: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_000b: ldarg.0 - IL_000c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0011: ldarg.1 - IL_0012: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0017: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: ldc.i4.0 - IL_001f: bge.s IL_0023 - - IL_0021: ldloc.0 - IL_0022: ret - - IL_0023: ldloc.0 - IL_0024: ldc.i4.0 - IL_0025: ble.s IL_0029 - - IL_0027: ldloc.0 - IL_0028: ret - - IL_0029: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_002e: ldarg.0 - IL_002f: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0034: ldarg.1 - IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_003a: tail. - IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_0041: ret - - IL_0042: ldc.i4.1 - IL_0043: ret - - IL_0044: ldarg.1 - IL_0045: brfalse.s IL_0049 - - IL_0047: ldc.i4.m1 - IL_0048: ret - - IL_0049: ldc.i4.0 - IL_004a: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0007: tail. - IL_0009: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::CompareTo(class '<>f__AnonymousType1912756633`2') - IL_000e: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, - class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1, - int32 V_2) - IL_0000: ldarg.1 - IL_0001: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: brfalse.s IL_004a - - IL_000c: ldarg.1 - IL_000d: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0012: brfalse.s IL_0048 - - IL_0014: ldarg.2 - IL_0015: ldarg.0 - IL_0016: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_001b: ldloc.1 - IL_001c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0021: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_0026: stloc.2 - IL_0027: ldloc.2 - IL_0028: ldc.i4.0 - IL_0029: bge.s IL_002d - - IL_002b: ldloc.2 - IL_002c: ret - - IL_002d: ldloc.2 - IL_002e: ldc.i4.0 - IL_002f: ble.s IL_0033 - - IL_0031: ldloc.2 - IL_0032: ret - - IL_0033: ldarg.2 - IL_0034: ldarg.0 - IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_003a: ldloc.1 - IL_003b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0040: tail. - IL_0042: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_0047: ret - - IL_0048: ldc.i4.1 - IL_0049: ret - - IL_004a: ldarg.1 - IL_004b: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0050: brfalse.s IL_0054 - - IL_0052: ldc.i4.m1 - IL_0053: ret - - IL_0054: ldc.i4.0 - IL_0055: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_003d - - IL_0003: ldc.i4.0 - IL_0004: stloc.0 - IL_0005: ldc.i4 0x9e3779b9 - IL_000a: ldarg.1 - IL_000b: ldarg.0 - IL_000c: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0011: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0) - IL_0016: ldloc.0 - IL_0017: ldc.i4.6 - IL_0018: shl - IL_0019: ldloc.0 - IL_001a: ldc.i4.2 - IL_001b: shr - IL_001c: add - IL_001d: add - IL_001e: add - IL_001f: stloc.0 - IL_0020: ldc.i4 0x9e3779b9 - IL_0025: ldarg.1 - IL_0026: ldarg.0 - IL_0027: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_002c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0) - IL_0031: ldloc.0 - IL_0032: ldc.i4.6 - IL_0033: shl - IL_0034: ldloc.0 - IL_0035: ldc.i4.2 - IL_0036: shr - IL_0037: add - IL_0038: add - IL_0039: add - IL_003a: stloc.0 - IL_003b: ldloc.0 - IL_003c: ret - - IL_003d: ldc.i4.0 - IL_003e: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: tail. - IL_0008: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000d: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, - class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_003c - - IL_0003: ldarg.1 - IL_0004: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0009: stloc.0 - IL_000a: ldloc.0 - IL_000b: brfalse.s IL_003a - - IL_000d: ldloc.0 - IL_000e: stloc.1 - IL_000f: ldarg.2 - IL_0010: ldarg.0 - IL_0011: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0016: ldloc.1 - IL_0017: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_001c: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0, - !!0) - IL_0021: brfalse.s IL_0038 - - IL_0023: ldarg.2 - IL_0024: ldarg.0 - IL_0025: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_002a: ldloc.1 - IL_002b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0030: tail. - IL_0032: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0, - !!0) - IL_0037: ret - - IL_0038: ldc.i4.0 - IL_0039: ret - - IL_003a: ldc.i4.0 - IL_003b: ret - - IL_003c: ldarg.1 - IL_003d: ldnull - IL_003e: cgt.un - IL_0040: ldc.i4.0 - IL_0041: ceq - IL_0043: ret - } - - .method public hidebysig virtual final - instance bool Equals(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0031 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_002f - - IL_0006: ldarg.0 - IL_0007: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_000c: ldarg.1 - IL_000d: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0012: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, - !!0) - IL_0017: brfalse.s IL_002d - - IL_0019: ldarg.0 - IL_001a: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_001f: ldarg.1 - IL_0020: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0025: tail. - IL_0027: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, - !!0) - IL_002c: ret - - IL_002d: ldc.i4.0 - IL_002e: ret - - IL_002f: ldc.i4.0 - IL_0030: ret - - IL_0031: ldarg.1 - IL_0032: ldnull - IL_0033: cgt.un - IL_0035: ldc.i4.0 - IL_0036: ceq - IL_0038: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0) - IL_0000: ldarg.1 - IL_0001: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: brfalse.s IL_0014 - - IL_000a: ldarg.0 - IL_000b: ldloc.0 - IL_000c: tail. - IL_000e: callvirt instance bool class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::Equals(class '<>f__AnonymousType1912756633`2') - IL_0013: ret - - IL_0014: ldc.i4.0 - IL_0015: ret - } - - .property instance !'j__TPar' A() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) - .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_A() - } - .property instance !'j__TPar' B() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 ) - .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_B() - } -} - -.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - extends [runtime]System.Enum -{ - .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) -} - -.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute - extends [runtime]System.Attribute -{ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field private class [runtime]System.Type Type@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, - class [runtime]System.Type Type) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Attribute::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ - IL_0014: ret - } - - .method public hidebysig specialname instance class [runtime]System.Type - get_Type() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ - IL_0006: ret - } - - .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - get_MemberType() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ - IL_0006: ret - } - - .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - MemberType() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() - } - .property instance class [runtime]System.Type - Type() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() - } -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl deleted file mode 100644 index 1785f3c854d..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/AnonRecd.fs.il.netcore.bsl +++ /dev/null @@ -1,504 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public static int32 main(!!a argv) cil managed - { - - .maxstack 4 - .locals init (int32 V_0, - class '<>f__AnonymousType1912756633`2' V_1) - IL_0000: ldc.i4.1 - IL_0001: stloc.0 - IL_0002: ldc.i4.1 - IL_0003: ldc.i4.1 - IL_0004: newobj instance void class '<>f__AnonymousType1912756633`2'::.ctor(!0, - !1) - IL_0009: stloc.1 - IL_000a: ldloc.0 - IL_000b: ldc.i4.1 - IL_000c: add - IL_000d: stloc.0 - IL_000e: ldc.i4.0 - IL_000f: ret - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - -.class public auto ansi serializable sealed beforefieldinit '<>f__AnonymousType1912756633`2'<'j__TPar','j__TPar'> - extends [runtime]System.Object - implements [runtime]System.Collections.IStructuralComparable, - [runtime]System.IComparable, - class [runtime]System.IComparable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IEquatable`1f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>> -{ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 02 00 00 00 00 00 ) - .field private !'j__TPar' A@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .field private !'j__TPar' B@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(!'j__TPar' A, - !'j__TPar' B) cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 1E 3C 3E 66 5F 5F 41 6E 6F 6E - 79 6D 6F 75 73 54 79 70 65 31 39 31 32 37 35 36 - 36 33 33 60 32 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0014: ret - } - - .method public hidebysig specialname instance !'j__TPar' - get_A() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0006: ret - } - - .method public hidebysig specialname instance !'j__TPar' - get_B() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0006: ret - } - - .method public strict virtual instance string - ToString() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToStringf__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>,string>::Invoke(!0) - IL_0015: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (int32 V_0) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0044 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0042 - - IL_0006: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_000b: ldarg.0 - IL_000c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0011: ldarg.1 - IL_0012: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0017: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: ldc.i4.0 - IL_001f: bge.s IL_0023 - - IL_0021: ldloc.0 - IL_0022: ret - - IL_0023: ldloc.0 - IL_0024: ldc.i4.0 - IL_0025: ble.s IL_0029 - - IL_0027: ldloc.0 - IL_0028: ret - - IL_0029: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_002e: ldarg.0 - IL_002f: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0034: ldarg.1 - IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_003a: tail. - IL_003c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_0041: ret - - IL_0042: ldc.i4.1 - IL_0043: ret - - IL_0044: ldarg.1 - IL_0045: brfalse.s IL_0049 - - IL_0047: ldc.i4.m1 - IL_0048: ret - - IL_0049: ldc.i4.0 - IL_004a: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0007: tail. - IL_0009: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::CompareTo(class '<>f__AnonymousType1912756633`2') - IL_000e: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, - class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1, - int32 V_2) - IL_0000: ldarg.1 - IL_0001: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: brfalse.s IL_004a - - IL_000c: ldarg.1 - IL_000d: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0012: brfalse.s IL_0048 - - IL_0014: ldarg.2 - IL_0015: ldarg.0 - IL_0016: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_001b: ldloc.1 - IL_001c: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0021: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_0026: stloc.2 - IL_0027: ldloc.2 - IL_0028: ldc.i4.0 - IL_0029: bge.s IL_002d - - IL_002b: ldloc.2 - IL_002c: ret - - IL_002d: ldloc.2 - IL_002e: ldc.i4.0 - IL_002f: ble.s IL_0033 - - IL_0031: ldloc.2 - IL_0032: ret - - IL_0033: ldarg.2 - IL_0034: ldarg.0 - IL_0035: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_003a: ldloc.1 - IL_003b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0040: tail. - IL_0042: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericComparisonWithComparerj__TPar'>(class [runtime]System.Collections.IComparer, - !!0, - !!0) - IL_0047: ret - - IL_0048: ldc.i4.1 - IL_0049: ret - - IL_004a: ldarg.1 - IL_004b: unbox.any class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0050: brfalse.s IL_0054 - - IL_0052: ldc.i4.m1 - IL_0053: ret - - IL_0054: ldc.i4.0 - IL_0055: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_003d - - IL_0003: ldc.i4.0 - IL_0004: stloc.0 - IL_0005: ldc.i4 0x9e3779b9 - IL_000a: ldarg.1 - IL_000b: ldarg.0 - IL_000c: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0011: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0) - IL_0016: ldloc.0 - IL_0017: ldc.i4.6 - IL_0018: shl - IL_0019: ldloc.0 - IL_001a: ldc.i4.2 - IL_001b: shr - IL_001c: add - IL_001d: add - IL_001e: add - IL_001f: stloc.0 - IL_0020: ldc.i4 0x9e3779b9 - IL_0025: ldarg.1 - IL_0026: ldarg.0 - IL_0027: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_002c: call int32 [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericHashWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0) - IL_0031: ldloc.0 - IL_0032: ldc.i4.6 - IL_0033: shl - IL_0034: ldloc.0 - IL_0035: ldc.i4.2 - IL_0036: shr - IL_0037: add - IL_0038: add - IL_0039: add - IL_003a: stloc.0 - IL_003b: ldloc.0 - IL_003c: ret - - IL_003d: ldc.i4.0 - IL_003e: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: tail. - IL_0008: callvirt instance int32 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000d: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0, - class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_1) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_003c - - IL_0003: ldarg.1 - IL_0004: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0009: stloc.0 - IL_000a: ldloc.0 - IL_000b: brfalse.s IL_003a - - IL_000d: ldloc.0 - IL_000e: stloc.1 - IL_000f: ldarg.2 - IL_0010: ldarg.0 - IL_0011: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0016: ldloc.1 - IL_0017: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_001c: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0, - !!0) - IL_0021: brfalse.s IL_0038 - - IL_0023: ldarg.2 - IL_0024: ldarg.0 - IL_0025: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_002a: ldloc.1 - IL_002b: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0030: tail. - IL_0032: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityWithComparerj__TPar'>(class [runtime]System.Collections.IEqualityComparer, - !!0, - !!0) - IL_0037: ret - - IL_0038: ldc.i4.0 - IL_0039: ret - - IL_003a: ldc.i4.0 - IL_003b: ret - - IL_003c: ldarg.1 - IL_003d: ldnull - IL_003e: cgt.un - IL_0040: ldc.i4.0 - IL_0041: ceq - IL_0043: ret - } - - .method public hidebysig virtual final - instance bool Equals(class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0031 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_002f - - IL_0006: ldarg.0 - IL_0007: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_000c: ldarg.1 - IL_000d: ldfld !0 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::A@ - IL_0012: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, - !!0) - IL_0017: brfalse.s IL_002d - - IL_0019: ldarg.0 - IL_001a: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_001f: ldarg.1 - IL_0020: ldfld !1 class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::B@ - IL_0025: tail. - IL_0027: call bool [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::GenericEqualityERj__TPar'>(!!0, - !!0) - IL_002c: ret - - IL_002d: ldc.i4.0 - IL_002e: ret - - IL_002f: ldc.i4.0 - IL_0030: ret - - IL_0031: ldarg.1 - IL_0032: ldnull - IL_0033: cgt.un - IL_0035: ldc.i4.0 - IL_0036: ceq - IL_0038: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> V_0) - IL_0000: ldarg.1 - IL_0001: isinst class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'> - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: brfalse.s IL_0014 - - IL_000a: ldarg.0 - IL_000b: ldloc.0 - IL_000c: tail. - IL_000e: callvirt instance bool class '<>f__AnonymousType1912756633`2'j__TPar',!'j__TPar'>::Equals(class '<>f__AnonymousType1912756633`2') - IL_0013: ret - - IL_0014: ldc.i4.0 - IL_0015: ret - } - - .property instance !'j__TPar' A() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) - .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_A() - } - .property instance !'j__TPar' B() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 ) - .get instance !'j__TPar' '<>f__AnonymousType1912756633`2'::get_B() - } -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs deleted file mode 100644 index b6b5621372f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ArgumentNamesInClosures01.fs +++ /dev/null @@ -1,43 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:3309 -// -// Make sure that argument names are preserved in some/all compiler closures -// -// Correct IL: -// .method public strict virtual instance int32 -// Invoke(class M/C i_want_to_see_this_identifier@7) cil managed <=== correct! -// { -// // Code size 9 (0x9) -// .maxstack 5 -// IL_0000: ldarg.1 -// IL_0001: tail. -// [...] -// } // end of method clo@10::Invoke -// -// -// Incorrect IL: -// .method public strict virtual instance int32 -// Invoke(class M/C arg0) cil managed <=== incorrect "arg0" is not what we want -// { -// // Code size 9 (0x9) -// .maxstack 5 -// IL_0000: ldarg.1 -// IL_0001: tail. -// [...] -// } // end of method clo@10::Invoke -// - - - -#light - -module M - type C = - member x.F(o:obj) = x.GetHashCode() - - let I (i_want_to_see_this_identifier:C) = i_want_to_see_this_identifier.F() - - type T() = - member x.F = I - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs deleted file mode 100644 index 21d38f3bb8d..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CodeGenRenamings01.fs +++ /dev/null @@ -1,39 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSharp1.0:5645 -// Title: Action proposed changes from review of compiled names - -let alist = [ 1 .. 10 ] -let array = [| 1; 2; 3 |] -let aseq = seq { 1 .. 10 } -let list1 = [ 1, 1; 2, 2 ] -let seq1 = seq { yield (1, 1); yield (2, 2) } -let array1 = [| (1, 1); (2, 2) |] -let a3 = Array2D.create 2 2 0 -let array3D = Array3D.create 3 3 3 0 -let array4D = Array4D.create 4 4 4 4 0 - -// List Renamings -let _ = List.ofArray array -let _ = List.ofSeq aseq - -// Map Renamings -let _ = Map.ofArray array1 -let _ = Map.ofList list1 -let _ = Map.ofSeq seq1 - -// Array Renamings -let a1 = Array.ofList alist -let a2 = Array.ofSeq aseq -Array.get a1 0 |> Array.set a2 0 - -// Array2D Renamings -(Array2D.length1 a3, Array2D.length2 a3, Array2D.base1 a3, Array2D.base2 a3) |> ignore -Array2D.get a3 0 0 |> Array2D.set a3 0 0 - -// Array3D Renamings -(Array3D.length1 array3D, Array3D.length2 array3D, Array3D.length3 array3D) |> ignore -Array3D.get array3D 0 0 0 |> Array3D.set array3D 0 0 0 - -// Array4D Renamings -(Array4D.length1 array4D, Array4D.length2 array4D, Array4D.length3 array4D, Array4D.length4 array4D) |> ignore -Array4D.get array4D 0 0 0 0 |> Array4D.set array4D 0 0 0 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs deleted file mode 100644 index 9a0f15d2a5d..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/CustomAttributeGenericParameter01.fs +++ /dev/null @@ -1,6 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL -module M - -let f<[]'T>(x:'T) = x - -exit 0 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs deleted file mode 100644 index 1620ecef597..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Decimal01.fs +++ /dev/null @@ -1,6 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:3083 -// Implementation of decimal constants -#light - -let _ = 1.2M diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs deleted file mode 100644 index 7aec9204b16..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EntryPoint01.fs +++ /dev/null @@ -1,8 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:1792 - -let static_initializer = 10 - -[] -let main (argsz:string []) = - exit(if(static_initializer=10) then 0 else 1) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs deleted file mode 100644 index 68fabf80a51..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:5543 -// Inefficiency on .Equals() -// This test has nothing to do with debugging spans, etc... -// It's a pure IL verification -type U = | A - | B of int diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl deleted file mode 100644 index c6d4d961914..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.debug.bsl +++ /dev/null @@ -1,990 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto autochar serializable nested public beforefieldinit U - extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public Tags - extends [runtime]System.Object - { - .field public static literal int32 A = int32(0x00000000) - .field public static literal int32 B = int32(0x00000001) - } - - .class auto ansi serializable nested assembly beforefieldinit specialname _A - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 - 70 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ret - } - - } - - .class auto ansi serializable nested public beforefieldinit specialname B - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 - 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .field assembly initonly int32 item - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/U/B::item - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/U/B::item - IL_0006: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B::get_Item() - } - } - - .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/_A _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/_A obj) cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj - IL_000d: ret - } - - } - - .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/B _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/B obj) cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/U/B::item - IL_000b: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() - } - } - - .field static assembly initonly class assembly/U _unique_A - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: newobj instance void assembly/U/_A::.ctor() - IL_0005: stsfld class assembly/U assembly/U::_unique_A - IL_000a: ret - } - - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ret - } - - .method public static class assembly/U - get_A() cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldsfld class assembly/U assembly/U::_unique_A - IL_0005: ret - } - - .method public hidebysig instance bool - get_IsA() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/_A - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public static class assembly/U - NewB(int32 item) cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/U/B::.ctor(int32) - IL_0006: ret - } - - .method public hidebysig instance bool - get_IsB() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public hidebysig instance int32 - get_Tag() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: brfalse.s IL_000b - - IL_0008: ldc.i4.1 - IL_0009: br.s IL_000c - - IL_000b: ldc.i4.0 - IL_000c: ret - } - - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public strict virtual instance string - ToString() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5, - class [runtime]System.Collections.IComparer V_6, - int32 V_7, - int32 V_8, - class [runtime]System.Collections.IComparer V_9, - int32 V_10, - int32 V_11) - IL_0000: ldarg.0 - IL_0001: brfalse IL_0081 - - IL_0006: ldarg.1 - IL_0007: brfalse IL_007f - - IL_000c: ldarg.0 - IL_000d: stloc.1 - IL_000e: ldloc.1 - IL_000f: isinst assembly/U/B - IL_0014: brfalse.s IL_0019 - - IL_0016: ldc.i4.1 - IL_0017: br.s IL_001a - - IL_0019: ldc.i4.0 - IL_001a: stloc.0 - IL_001b: ldarg.1 - IL_001c: stloc.3 - IL_001d: ldloc.3 - IL_001e: isinst assembly/U/B - IL_0023: brfalse.s IL_0028 - - IL_0025: ldc.i4.1 - IL_0026: br.s IL_0029 - - IL_0028: ldc.i4.0 - IL_0029: stloc.2 - IL_002a: ldloc.0 - IL_002b: ldloc.2 - IL_002c: bne.un.s IL_007b - - IL_002e: ldarg.0 - IL_002f: isinst assembly/U/B - IL_0034: brfalse.s IL_0079 - - IL_0036: ldarg.0 - IL_0037: castclass assembly/U/B - IL_003c: stloc.s V_4 - IL_003e: ldarg.1 - IL_003f: castclass assembly/U/B - IL_0044: stloc.s V_5 - IL_0046: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.s V_6 - IL_004d: ldloc.s V_4 - IL_004f: ldfld int32 assembly/U/B::item - IL_0054: stloc.s V_7 - IL_0056: ldloc.s V_5 - IL_0058: ldfld int32 assembly/U/B::item - IL_005d: stloc.s V_8 - IL_005f: ldloc.s V_6 - IL_0061: stloc.s V_9 - IL_0063: ldloc.s V_7 - IL_0065: stloc.s V_10 - IL_0067: ldloc.s V_8 - IL_0069: stloc.s V_11 - IL_006b: ldloc.s V_10 - IL_006d: ldloc.s V_11 - IL_006f: cgt - IL_0071: ldloc.s V_10 - IL_0073: ldloc.s V_11 - IL_0075: clt - IL_0077: sub - IL_0078: ret - - IL_0079: ldc.i4.0 - IL_007a: ret - - IL_007b: ldloc.0 - IL_007c: ldloc.2 - IL_007d: sub - IL_007e: ret - - IL_007f: ldc.i4.1 - IL_0080: ret - - IL_0081: ldarg.1 - IL_0082: brfalse.s IL_0086 - - IL_0084: ldc.i4.m1 - IL_0085: ret - - IL_0086: ldc.i4.0 - IL_0087: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any assembly/U - IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class assembly/U V_0, - int32 V_1, - class assembly/U V_2, - int32 V_3, - class assembly/U V_4, - class assembly/U/B V_5, - class assembly/U/B V_6, - class [runtime]System.Collections.IComparer V_7, - int32 V_8, - int32 V_9, - class [runtime]System.Collections.IComparer V_10, - int32 V_11, - int32 V_12) - IL_0000: ldarg.1 - IL_0001: unbox.any assembly/U - IL_0006: stloc.0 - IL_0007: ldarg.0 - IL_0008: brfalse IL_008b - - IL_000d: ldarg.1 - IL_000e: unbox.any assembly/U - IL_0013: brfalse IL_0089 - - IL_0018: ldarg.0 - IL_0019: stloc.2 - IL_001a: ldloc.2 - IL_001b: isinst assembly/U/B - IL_0020: brfalse.s IL_0025 - - IL_0022: ldc.i4.1 - IL_0023: br.s IL_0026 - - IL_0025: ldc.i4.0 - IL_0026: stloc.1 - IL_0027: ldloc.0 - IL_0028: stloc.s V_4 - IL_002a: ldloc.s V_4 - IL_002c: isinst assembly/U/B - IL_0031: brfalse.s IL_0036 - - IL_0033: ldc.i4.1 - IL_0034: br.s IL_0037 - - IL_0036: ldc.i4.0 - IL_0037: stloc.3 - IL_0038: ldloc.1 - IL_0039: ldloc.3 - IL_003a: bne.un.s IL_0085 - - IL_003c: ldarg.0 - IL_003d: isinst assembly/U/B - IL_0042: brfalse.s IL_0083 - - IL_0044: ldarg.0 - IL_0045: castclass assembly/U/B - IL_004a: stloc.s V_5 - IL_004c: ldloc.0 - IL_004d: castclass assembly/U/B - IL_0052: stloc.s V_6 - IL_0054: ldarg.2 - IL_0055: stloc.s V_7 - IL_0057: ldloc.s V_5 - IL_0059: ldfld int32 assembly/U/B::item - IL_005e: stloc.s V_8 - IL_0060: ldloc.s V_6 - IL_0062: ldfld int32 assembly/U/B::item - IL_0067: stloc.s V_9 - IL_0069: ldloc.s V_7 - IL_006b: stloc.s V_10 - IL_006d: ldloc.s V_8 - IL_006f: stloc.s V_11 - IL_0071: ldloc.s V_9 - IL_0073: stloc.s V_12 - IL_0075: ldloc.s V_11 - IL_0077: ldloc.s V_12 - IL_0079: cgt - IL_007b: ldloc.s V_11 - IL_007d: ldloc.s V_12 - IL_007f: clt - IL_0081: sub - IL_0082: ret - - IL_0083: ldc.i4.0 - IL_0084: ret - - IL_0085: ldloc.1 - IL_0086: ldloc.3 - IL_0087: sub - IL_0088: ret - - IL_0089: ldc.i4.1 - IL_008a: ret - - IL_008b: ldarg.1 - IL_008c: unbox.any assembly/U - IL_0091: brfalse.s IL_0095 - - IL_0093: ldc.i4.m1 - IL_0094: ret - - IL_0095: ldc.i4.0 - IL_0096: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class assembly/U/B V_1, - class [runtime]System.Collections.IEqualityComparer V_2, - int32 V_3, - class [runtime]System.Collections.IEqualityComparer V_4, - class assembly/U V_5) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0045 - - IL_0003: ldc.i4.0 - IL_0004: stloc.0 - IL_0005: ldarg.0 - IL_0006: isinst assembly/U/B - IL_000b: brfalse.s IL_0034 - - IL_000d: ldarg.0 - IL_000e: castclass assembly/U/B - IL_0013: stloc.1 - IL_0014: ldc.i4.1 - IL_0015: stloc.0 - IL_0016: ldc.i4 0x9e3779b9 - IL_001b: ldarg.1 - IL_001c: stloc.2 - IL_001d: ldloc.1 - IL_001e: ldfld int32 assembly/U/B::item - IL_0023: stloc.3 - IL_0024: ldloc.2 - IL_0025: stloc.s V_4 - IL_0027: ldloc.3 - IL_0028: ldloc.0 - IL_0029: ldc.i4.6 - IL_002a: shl - IL_002b: ldloc.0 - IL_002c: ldc.i4.2 - IL_002d: shr - IL_002e: add - IL_002f: add - IL_0030: add - IL_0031: stloc.0 - IL_0032: ldloc.0 - IL_0033: ret - - IL_0034: ldarg.0 - IL_0035: stloc.s V_5 - IL_0037: ldloc.s V_5 - IL_0039: isinst assembly/U/B - IL_003e: brfalse.s IL_0043 - - IL_0040: ldc.i4.1 - IL_0041: br.s IL_0044 - - IL_0043: ldc.i4.0 - IL_0044: ret - - IL_0045: ldc.i4.0 - IL_0046: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - int32 V_4, - class assembly/U V_5, - class assembly/U/B V_6, - class assembly/U/B V_7, - class [runtime]System.Collections.IEqualityComparer V_8, - int32 V_9, - int32 V_10, - class [runtime]System.Collections.IEqualityComparer V_11) - IL_0000: ldarg.0 - IL_0001: brfalse IL_0076 - - IL_0006: ldarg.1 - IL_0007: isinst assembly/U - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0074 - - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: stloc.3 - IL_0014: ldloc.3 - IL_0015: isinst assembly/U/B - IL_001a: brfalse.s IL_001f - - IL_001c: ldc.i4.1 - IL_001d: br.s IL_0020 - - IL_001f: ldc.i4.0 - IL_0020: stloc.2 - IL_0021: ldloc.1 - IL_0022: stloc.s V_5 - IL_0024: ldloc.s V_5 - IL_0026: isinst assembly/U/B - IL_002b: brfalse.s IL_0030 - - IL_002d: ldc.i4.1 - IL_002e: br.s IL_0031 - - IL_0030: ldc.i4.0 - IL_0031: stloc.s V_4 - IL_0033: ldloc.2 - IL_0034: ldloc.s V_4 - IL_0036: bne.un.s IL_0072 - - IL_0038: ldarg.0 - IL_0039: isinst assembly/U/B - IL_003e: brfalse.s IL_0070 - - IL_0040: ldarg.0 - IL_0041: castclass assembly/U/B - IL_0046: stloc.s V_6 - IL_0048: ldloc.1 - IL_0049: castclass assembly/U/B - IL_004e: stloc.s V_7 - IL_0050: ldarg.2 - IL_0051: stloc.s V_8 - IL_0053: ldloc.s V_6 - IL_0055: ldfld int32 assembly/U/B::item - IL_005a: stloc.s V_9 - IL_005c: ldloc.s V_7 - IL_005e: ldfld int32 assembly/U/B::item - IL_0063: stloc.s V_10 - IL_0065: ldloc.s V_8 - IL_0067: stloc.s V_11 - IL_0069: ldloc.s V_9 - IL_006b: ldloc.s V_10 - IL_006d: ceq - IL_006f: ret - - IL_0070: ldc.i4.1 - IL_0071: ret - - IL_0072: ldc.i4.0 - IL_0073: ret - - IL_0074: ldc.i4.0 - IL_0075: ret - - IL_0076: ldarg.1 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: ldc.i4.0 - IL_007b: ceq - IL_007d: ret - } - - .method public hidebysig virtual final - instance bool Equals(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0057 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0055 - - IL_0006: ldarg.0 - IL_0007: stloc.1 - IL_0008: ldloc.1 - IL_0009: isinst assembly/U/B - IL_000e: brfalse.s IL_0013 - - IL_0010: ldc.i4.1 - IL_0011: br.s IL_0014 - - IL_0013: ldc.i4.0 - IL_0014: stloc.0 - IL_0015: ldarg.1 - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: isinst assembly/U/B - IL_001d: brfalse.s IL_0022 - - IL_001f: ldc.i4.1 - IL_0020: br.s IL_0023 - - IL_0022: ldc.i4.0 - IL_0023: stloc.2 - IL_0024: ldloc.0 - IL_0025: ldloc.2 - IL_0026: bne.un.s IL_0053 - - IL_0028: ldarg.0 - IL_0029: isinst assembly/U/B - IL_002e: brfalse.s IL_0051 - - IL_0030: ldarg.0 - IL_0031: castclass assembly/U/B - IL_0036: stloc.s V_4 - IL_0038: ldarg.1 - IL_0039: castclass assembly/U/B - IL_003e: stloc.s V_5 - IL_0040: ldloc.s V_4 - IL_0042: ldfld int32 assembly/U/B::item - IL_0047: ldloc.s V_5 - IL_0049: ldfld int32 assembly/U/B::item - IL_004e: ceq - IL_0050: ret - - IL_0051: ldc.i4.1 - IL_0052: ret - - IL_0053: ldc.i4.0 - IL_0054: ret - - IL_0055: ldc.i4.0 - IL_0056: ret - - IL_0057: ldarg.1 - IL_0058: ldnull - IL_0059: cgt.un - IL_005b: ldc.i4.0 - IL_005c: ceq - IL_005e: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0) - IL_0000: ldarg.1 - IL_0001: isinst assembly/U - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: brfalse.s IL_0012 - - IL_000a: ldarg.0 - IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) - IL_0011: ret - - IL_0012: ldc.i4.0 - IL_0013: ret - } - - .property instance int32 Tag() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/U::get_Tag() - } - .property class assembly/U A() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get class assembly/U assembly/U::get_A() - } - .property instance bool IsA() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsA() - } - .property instance bool IsB() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsB() - } - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - -.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - extends [runtime]System.Enum -{ - .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) -} - -.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute - extends [runtime]System.Attribute -{ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field private class [runtime]System.Type Type@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, - class [runtime]System.Type Type) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Attribute::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ - IL_0014: ret - } - - .method public hidebysig specialname instance class [runtime]System.Type - get_Type() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ - IL_0006: ret - } - - .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - get_MemberType() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ - IL_0006: ret - } - - .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - MemberType() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() - } - .property instance class [runtime]System.Type - Type() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() - } -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl deleted file mode 100644 index 59329f4b4ac..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.net472.release.bsl +++ /dev/null @@ -1,957 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto autochar serializable nested public beforefieldinit U - extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public Tags - extends [runtime]System.Object - { - .field public static literal int32 A = int32(0x00000000) - .field public static literal int32 B = int32(0x00000001) - } - - .class auto ansi serializable nested assembly beforefieldinit specialname _A - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 - 70 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ret - } - - } - - .class auto ansi serializable nested public beforefieldinit specialname B - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 - 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .field assembly initonly int32 item - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/U/B::item - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/U/B::item - IL_0006: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B::get_Item() - } - } - - .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/_A _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/_A obj) cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj - IL_000d: ret - } - - } - - .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/B _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/B obj) cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/U/B::item - IL_000b: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() - } - } - - .field static assembly initonly class assembly/U _unique_A - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: newobj instance void assembly/U/_A::.ctor() - IL_0005: stsfld class assembly/U assembly/U::_unique_A - IL_000a: ret - } - - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ret - } - - .method public static class assembly/U - get_A() cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldsfld class assembly/U assembly/U::_unique_A - IL_0005: ret - } - - .method public hidebysig instance bool - get_IsA() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/_A - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public static class assembly/U - NewB(int32 item) cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/U/B::.ctor(int32) - IL_0006: ret - } - - .method public hidebysig instance bool - get_IsB() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public hidebysig instance int32 - get_Tag() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: brfalse.s IL_000b - - IL_0008: ldc.i4.1 - IL_0009: br.s IL_000c - - IL_000b: ldc.i4.0 - IL_000c: ret - } - - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public strict virtual instance string - ToString() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5, - class [runtime]System.Collections.IComparer V_6, - int32 V_7, - int32 V_8) - IL_0000: ldarg.0 - IL_0001: brfalse IL_0072 - - IL_0006: ldarg.1 - IL_0007: brfalse.s IL_0070 - - IL_0009: ldarg.0 - IL_000a: stloc.1 - IL_000b: ldloc.1 - IL_000c: isinst assembly/U/B - IL_0011: brfalse.s IL_0016 - - IL_0013: ldc.i4.1 - IL_0014: br.s IL_0017 - - IL_0016: ldc.i4.0 - IL_0017: stloc.0 - IL_0018: ldarg.1 - IL_0019: stloc.3 - IL_001a: ldloc.3 - IL_001b: isinst assembly/U/B - IL_0020: brfalse.s IL_0025 - - IL_0022: ldc.i4.1 - IL_0023: br.s IL_0026 - - IL_0025: ldc.i4.0 - IL_0026: stloc.2 - IL_0027: ldloc.0 - IL_0028: ldloc.2 - IL_0029: bne.un.s IL_006c - - IL_002b: ldarg.0 - IL_002c: isinst assembly/U/B - IL_0031: brfalse.s IL_006a - - IL_0033: ldarg.0 - IL_0034: castclass assembly/U/B - IL_0039: stloc.s V_4 - IL_003b: ldarg.1 - IL_003c: castclass assembly/U/B - IL_0041: stloc.s V_5 - IL_0043: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0048: stloc.s V_6 - IL_004a: ldloc.s V_4 - IL_004c: ldfld int32 assembly/U/B::item - IL_0051: stloc.s V_7 - IL_0053: ldloc.s V_5 - IL_0055: ldfld int32 assembly/U/B::item - IL_005a: stloc.s V_8 - IL_005c: ldloc.s V_7 - IL_005e: ldloc.s V_8 - IL_0060: cgt - IL_0062: ldloc.s V_7 - IL_0064: ldloc.s V_8 - IL_0066: clt - IL_0068: sub - IL_0069: ret - - IL_006a: ldc.i4.0 - IL_006b: ret - - IL_006c: ldloc.0 - IL_006d: ldloc.2 - IL_006e: sub - IL_006f: ret - - IL_0070: ldc.i4.1 - IL_0071: ret - - IL_0072: ldarg.1 - IL_0073: brfalse.s IL_0077 - - IL_0075: ldc.i4.m1 - IL_0076: ret - - IL_0077: ldc.i4.0 - IL_0078: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any assembly/U - IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class assembly/U V_0, - int32 V_1, - class assembly/U V_2, - int32 V_3, - class assembly/U V_4, - class assembly/U/B V_5, - class assembly/U/B V_6, - class [runtime]System.Collections.IComparer V_7, - int32 V_8, - int32 V_9) - IL_0000: ldarg.1 - IL_0001: unbox.any assembly/U - IL_0006: stloc.0 - IL_0007: ldarg.0 - IL_0008: brfalse IL_007c - - IL_000d: ldarg.1 - IL_000e: unbox.any assembly/U - IL_0013: brfalse.s IL_007a - - IL_0015: ldarg.0 - IL_0016: stloc.2 - IL_0017: ldloc.2 - IL_0018: isinst assembly/U/B - IL_001d: brfalse.s IL_0022 - - IL_001f: ldc.i4.1 - IL_0020: br.s IL_0023 - - IL_0022: ldc.i4.0 - IL_0023: stloc.1 - IL_0024: ldloc.0 - IL_0025: stloc.s V_4 - IL_0027: ldloc.s V_4 - IL_0029: isinst assembly/U/B - IL_002e: brfalse.s IL_0033 - - IL_0030: ldc.i4.1 - IL_0031: br.s IL_0034 - - IL_0033: ldc.i4.0 - IL_0034: stloc.3 - IL_0035: ldloc.1 - IL_0036: ldloc.3 - IL_0037: bne.un.s IL_0076 - - IL_0039: ldarg.0 - IL_003a: isinst assembly/U/B - IL_003f: brfalse.s IL_0074 - - IL_0041: ldarg.0 - IL_0042: castclass assembly/U/B - IL_0047: stloc.s V_5 - IL_0049: ldloc.0 - IL_004a: castclass assembly/U/B - IL_004f: stloc.s V_6 - IL_0051: ldarg.2 - IL_0052: stloc.s V_7 - IL_0054: ldloc.s V_5 - IL_0056: ldfld int32 assembly/U/B::item - IL_005b: stloc.s V_8 - IL_005d: ldloc.s V_6 - IL_005f: ldfld int32 assembly/U/B::item - IL_0064: stloc.s V_9 - IL_0066: ldloc.s V_8 - IL_0068: ldloc.s V_9 - IL_006a: cgt - IL_006c: ldloc.s V_8 - IL_006e: ldloc.s V_9 - IL_0070: clt - IL_0072: sub - IL_0073: ret - - IL_0074: ldc.i4.0 - IL_0075: ret - - IL_0076: ldloc.1 - IL_0077: ldloc.3 - IL_0078: sub - IL_0079: ret - - IL_007a: ldc.i4.1 - IL_007b: ret - - IL_007c: ldarg.1 - IL_007d: unbox.any assembly/U - IL_0082: brfalse.s IL_0086 - - IL_0084: ldc.i4.m1 - IL_0085: ret - - IL_0086: ldc.i4.0 - IL_0087: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class assembly/U/B V_1, - class [runtime]System.Collections.IEqualityComparer V_2, - class assembly/U V_3) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_003e - - IL_0003: ldc.i4.0 - IL_0004: stloc.0 - IL_0005: ldarg.0 - IL_0006: isinst assembly/U/B - IL_000b: brfalse.s IL_002f - - IL_000d: ldarg.0 - IL_000e: castclass assembly/U/B - IL_0013: stloc.1 - IL_0014: ldc.i4.1 - IL_0015: stloc.0 - IL_0016: ldc.i4 0x9e3779b9 - IL_001b: ldarg.1 - IL_001c: stloc.2 - IL_001d: ldloc.1 - IL_001e: ldfld int32 assembly/U/B::item - IL_0023: ldloc.0 - IL_0024: ldc.i4.6 - IL_0025: shl - IL_0026: ldloc.0 - IL_0027: ldc.i4.2 - IL_0028: shr - IL_0029: add - IL_002a: add - IL_002b: add - IL_002c: stloc.0 - IL_002d: ldloc.0 - IL_002e: ret - - IL_002f: ldarg.0 - IL_0030: stloc.3 - IL_0031: ldloc.3 - IL_0032: isinst assembly/U/B - IL_0037: brfalse.s IL_003c - - IL_0039: ldc.i4.1 - IL_003a: br.s IL_003d - - IL_003c: ldc.i4.0 - IL_003d: ret - - IL_003e: ldc.i4.0 - IL_003f: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - int32 V_4, - class assembly/U V_5, - class assembly/U/B V_6, - class assembly/U/B V_7, - class [runtime]System.Collections.IEqualityComparer V_8) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0067 - - IL_0003: ldarg.1 - IL_0004: isinst assembly/U - IL_0009: stloc.0 - IL_000a: ldloc.0 - IL_000b: brfalse.s IL_0065 - - IL_000d: ldloc.0 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: stloc.3 - IL_0011: ldloc.3 - IL_0012: isinst assembly/U/B - IL_0017: brfalse.s IL_001c - - IL_0019: ldc.i4.1 - IL_001a: br.s IL_001d - - IL_001c: ldc.i4.0 - IL_001d: stloc.2 - IL_001e: ldloc.1 - IL_001f: stloc.s V_5 - IL_0021: ldloc.s V_5 - IL_0023: isinst assembly/U/B - IL_0028: brfalse.s IL_002d - - IL_002a: ldc.i4.1 - IL_002b: br.s IL_002e - - IL_002d: ldc.i4.0 - IL_002e: stloc.s V_4 - IL_0030: ldloc.2 - IL_0031: ldloc.s V_4 - IL_0033: bne.un.s IL_0063 - - IL_0035: ldarg.0 - IL_0036: isinst assembly/U/B - IL_003b: brfalse.s IL_0061 - - IL_003d: ldarg.0 - IL_003e: castclass assembly/U/B - IL_0043: stloc.s V_6 - IL_0045: ldloc.1 - IL_0046: castclass assembly/U/B - IL_004b: stloc.s V_7 - IL_004d: ldarg.2 - IL_004e: stloc.s V_8 - IL_0050: ldloc.s V_6 - IL_0052: ldfld int32 assembly/U/B::item - IL_0057: ldloc.s V_7 - IL_0059: ldfld int32 assembly/U/B::item - IL_005e: ceq - IL_0060: ret - - IL_0061: ldc.i4.1 - IL_0062: ret - - IL_0063: ldc.i4.0 - IL_0064: ret - - IL_0065: ldc.i4.0 - IL_0066: ret - - IL_0067: ldarg.1 - IL_0068: ldnull - IL_0069: cgt.un - IL_006b: ldc.i4.0 - IL_006c: ceq - IL_006e: ret - } - - .method public hidebysig virtual final - instance bool Equals(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0057 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0055 - - IL_0006: ldarg.0 - IL_0007: stloc.1 - IL_0008: ldloc.1 - IL_0009: isinst assembly/U/B - IL_000e: brfalse.s IL_0013 - - IL_0010: ldc.i4.1 - IL_0011: br.s IL_0014 - - IL_0013: ldc.i4.0 - IL_0014: stloc.0 - IL_0015: ldarg.1 - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: isinst assembly/U/B - IL_001d: brfalse.s IL_0022 - - IL_001f: ldc.i4.1 - IL_0020: br.s IL_0023 - - IL_0022: ldc.i4.0 - IL_0023: stloc.2 - IL_0024: ldloc.0 - IL_0025: ldloc.2 - IL_0026: bne.un.s IL_0053 - - IL_0028: ldarg.0 - IL_0029: isinst assembly/U/B - IL_002e: brfalse.s IL_0051 - - IL_0030: ldarg.0 - IL_0031: castclass assembly/U/B - IL_0036: stloc.s V_4 - IL_0038: ldarg.1 - IL_0039: castclass assembly/U/B - IL_003e: stloc.s V_5 - IL_0040: ldloc.s V_4 - IL_0042: ldfld int32 assembly/U/B::item - IL_0047: ldloc.s V_5 - IL_0049: ldfld int32 assembly/U/B::item - IL_004e: ceq - IL_0050: ret - - IL_0051: ldc.i4.1 - IL_0052: ret - - IL_0053: ldc.i4.0 - IL_0054: ret - - IL_0055: ldc.i4.0 - IL_0056: ret - - IL_0057: ldarg.1 - IL_0058: ldnull - IL_0059: cgt.un - IL_005b: ldc.i4.0 - IL_005c: ceq - IL_005e: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0) - IL_0000: ldarg.1 - IL_0001: isinst assembly/U - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: brfalse.s IL_0012 - - IL_000a: ldarg.0 - IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) - IL_0011: ret - - IL_0012: ldc.i4.0 - IL_0013: ret - } - - .property instance int32 Tag() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/U::get_Tag() - } - .property class assembly/U A() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get class assembly/U assembly/U::get_A() - } - .property instance bool IsA() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsA() - } - .property instance bool IsB() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsB() - } - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - -.class private auto ansi serializable sealed System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - extends [runtime]System.Enum -{ - .custom instance void [runtime]System.FlagsAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field public specialname rtspecialname int32 value__ - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes All = int32(0xFFFFFFFF) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes None = int32(0x00000000) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicParameterlessConstructor = int32(0x00000001) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicConstructors = int32(0x00000003) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicConstructors = int32(0x00000004) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicMethods = int32(0x00000008) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicMethods = int32(0x00000010) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicFields = int32(0x00000020) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicFields = int32(0x00000040) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicNestedTypes = int32(0x00000080) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicNestedTypes = int32(0x00000100) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicProperties = int32(0x00000200) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicProperties = int32(0x00000400) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes PublicEvents = int32(0x00000800) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes NonPublicEvents = int32(0x00001000) - .field public static literal valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes Interfaces = int32(0x00002000) -} - -.class private auto ansi beforefieldinit System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute - extends [runtime]System.Attribute -{ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .field private valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .field private class [runtime]System.Type Type@ - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes MemberType, - class [runtime]System.Type Type) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Attribute::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ - IL_000d: ldarg.0 - IL_000e: ldarg.2 - IL_000f: stfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ - IL_0014: ret - } - - .method public hidebysig specialname instance class [runtime]System.Type - get_Type() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::Type@ - IL_0006: ret - } - - .method public hidebysig specialname instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - get_MemberType() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::MemberType@ - IL_0006: ret - } - - .property instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes - MemberType() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance valuetype System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_MemberType() - } - .property instance class [runtime]System.Type - Type() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance class [runtime]System.Type System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::get_Type() - } -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl deleted file mode 100644 index 249b448b37b..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.debug.bsl +++ /dev/null @@ -1,896 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto autochar serializable nested public beforefieldinit U - extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public Tags - extends [runtime]System.Object - { - .field public static literal int32 A = int32(0x00000000) - .field public static literal int32 B = int32(0x00000001) - } - - .class auto ansi serializable nested assembly beforefieldinit specialname _A - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 - 70 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ret - } - - } - - .class auto ansi serializable nested public beforefieldinit specialname B - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 - 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .field assembly initonly int32 item - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/U/B::item - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/U/B::item - IL_0006: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B::get_Item() - } - } - - .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/_A _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/_A obj) cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj - IL_000d: ret - } - - } - - .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/B _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/B obj) cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/U/B::item - IL_000b: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() - } - } - - .field static assembly initonly class assembly/U _unique_A - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: newobj instance void assembly/U/_A::.ctor() - IL_0005: stsfld class assembly/U assembly/U::_unique_A - IL_000a: ret - } - - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ret - } - - .method public static class assembly/U - get_A() cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldsfld class assembly/U assembly/U::_unique_A - IL_0005: ret - } - - .method public hidebysig instance bool - get_IsA() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/_A - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public static class assembly/U - NewB(int32 item) cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/U/B::.ctor(int32) - IL_0006: ret - } - - .method public hidebysig instance bool - get_IsB() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public hidebysig instance int32 - get_Tag() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: brfalse.s IL_000b - - IL_0008: ldc.i4.1 - IL_0009: br.s IL_000c - - IL_000b: ldc.i4.0 - IL_000c: ret - } - - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public strict virtual instance string - ToString() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5, - class [runtime]System.Collections.IComparer V_6, - int32 V_7, - int32 V_8, - class [runtime]System.Collections.IComparer V_9, - int32 V_10, - int32 V_11) - IL_0000: ldarg.0 - IL_0001: brfalse IL_0081 - - IL_0006: ldarg.1 - IL_0007: brfalse IL_007f - - IL_000c: ldarg.0 - IL_000d: stloc.1 - IL_000e: ldloc.1 - IL_000f: isinst assembly/U/B - IL_0014: brfalse.s IL_0019 - - IL_0016: ldc.i4.1 - IL_0017: br.s IL_001a - - IL_0019: ldc.i4.0 - IL_001a: stloc.0 - IL_001b: ldarg.1 - IL_001c: stloc.3 - IL_001d: ldloc.3 - IL_001e: isinst assembly/U/B - IL_0023: brfalse.s IL_0028 - - IL_0025: ldc.i4.1 - IL_0026: br.s IL_0029 - - IL_0028: ldc.i4.0 - IL_0029: stloc.2 - IL_002a: ldloc.0 - IL_002b: ldloc.2 - IL_002c: bne.un.s IL_007b - - IL_002e: ldarg.0 - IL_002f: isinst assembly/U/B - IL_0034: brfalse.s IL_0079 - - IL_0036: ldarg.0 - IL_0037: castclass assembly/U/B - IL_003c: stloc.s V_4 - IL_003e: ldarg.1 - IL_003f: castclass assembly/U/B - IL_0044: stloc.s V_5 - IL_0046: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_004b: stloc.s V_6 - IL_004d: ldloc.s V_4 - IL_004f: ldfld int32 assembly/U/B::item - IL_0054: stloc.s V_7 - IL_0056: ldloc.s V_5 - IL_0058: ldfld int32 assembly/U/B::item - IL_005d: stloc.s V_8 - IL_005f: ldloc.s V_6 - IL_0061: stloc.s V_9 - IL_0063: ldloc.s V_7 - IL_0065: stloc.s V_10 - IL_0067: ldloc.s V_8 - IL_0069: stloc.s V_11 - IL_006b: ldloc.s V_10 - IL_006d: ldloc.s V_11 - IL_006f: cgt - IL_0071: ldloc.s V_10 - IL_0073: ldloc.s V_11 - IL_0075: clt - IL_0077: sub - IL_0078: ret - - IL_0079: ldc.i4.0 - IL_007a: ret - - IL_007b: ldloc.0 - IL_007c: ldloc.2 - IL_007d: sub - IL_007e: ret - - IL_007f: ldc.i4.1 - IL_0080: ret - - IL_0081: ldarg.1 - IL_0082: brfalse.s IL_0086 - - IL_0084: ldc.i4.m1 - IL_0085: ret - - IL_0086: ldc.i4.0 - IL_0087: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any assembly/U - IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class assembly/U V_0, - int32 V_1, - class assembly/U V_2, - int32 V_3, - class assembly/U V_4, - class assembly/U/B V_5, - class assembly/U/B V_6, - class [runtime]System.Collections.IComparer V_7, - int32 V_8, - int32 V_9, - class [runtime]System.Collections.IComparer V_10, - int32 V_11, - int32 V_12) - IL_0000: ldarg.1 - IL_0001: unbox.any assembly/U - IL_0006: stloc.0 - IL_0007: ldarg.0 - IL_0008: brfalse IL_008b - - IL_000d: ldarg.1 - IL_000e: unbox.any assembly/U - IL_0013: brfalse IL_0089 - - IL_0018: ldarg.0 - IL_0019: stloc.2 - IL_001a: ldloc.2 - IL_001b: isinst assembly/U/B - IL_0020: brfalse.s IL_0025 - - IL_0022: ldc.i4.1 - IL_0023: br.s IL_0026 - - IL_0025: ldc.i4.0 - IL_0026: stloc.1 - IL_0027: ldloc.0 - IL_0028: stloc.s V_4 - IL_002a: ldloc.s V_4 - IL_002c: isinst assembly/U/B - IL_0031: brfalse.s IL_0036 - - IL_0033: ldc.i4.1 - IL_0034: br.s IL_0037 - - IL_0036: ldc.i4.0 - IL_0037: stloc.3 - IL_0038: ldloc.1 - IL_0039: ldloc.3 - IL_003a: bne.un.s IL_0085 - - IL_003c: ldarg.0 - IL_003d: isinst assembly/U/B - IL_0042: brfalse.s IL_0083 - - IL_0044: ldarg.0 - IL_0045: castclass assembly/U/B - IL_004a: stloc.s V_5 - IL_004c: ldloc.0 - IL_004d: castclass assembly/U/B - IL_0052: stloc.s V_6 - IL_0054: ldarg.2 - IL_0055: stloc.s V_7 - IL_0057: ldloc.s V_5 - IL_0059: ldfld int32 assembly/U/B::item - IL_005e: stloc.s V_8 - IL_0060: ldloc.s V_6 - IL_0062: ldfld int32 assembly/U/B::item - IL_0067: stloc.s V_9 - IL_0069: ldloc.s V_7 - IL_006b: stloc.s V_10 - IL_006d: ldloc.s V_8 - IL_006f: stloc.s V_11 - IL_0071: ldloc.s V_9 - IL_0073: stloc.s V_12 - IL_0075: ldloc.s V_11 - IL_0077: ldloc.s V_12 - IL_0079: cgt - IL_007b: ldloc.s V_11 - IL_007d: ldloc.s V_12 - IL_007f: clt - IL_0081: sub - IL_0082: ret - - IL_0083: ldc.i4.0 - IL_0084: ret - - IL_0085: ldloc.1 - IL_0086: ldloc.3 - IL_0087: sub - IL_0088: ret - - IL_0089: ldc.i4.1 - IL_008a: ret - - IL_008b: ldarg.1 - IL_008c: unbox.any assembly/U - IL_0091: brfalse.s IL_0095 - - IL_0093: ldc.i4.m1 - IL_0094: ret - - IL_0095: ldc.i4.0 - IL_0096: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class assembly/U/B V_1, - class [runtime]System.Collections.IEqualityComparer V_2, - int32 V_3, - class [runtime]System.Collections.IEqualityComparer V_4, - class assembly/U V_5) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0045 - - IL_0003: ldc.i4.0 - IL_0004: stloc.0 - IL_0005: ldarg.0 - IL_0006: isinst assembly/U/B - IL_000b: brfalse.s IL_0034 - - IL_000d: ldarg.0 - IL_000e: castclass assembly/U/B - IL_0013: stloc.1 - IL_0014: ldc.i4.1 - IL_0015: stloc.0 - IL_0016: ldc.i4 0x9e3779b9 - IL_001b: ldarg.1 - IL_001c: stloc.2 - IL_001d: ldloc.1 - IL_001e: ldfld int32 assembly/U/B::item - IL_0023: stloc.3 - IL_0024: ldloc.2 - IL_0025: stloc.s V_4 - IL_0027: ldloc.3 - IL_0028: ldloc.0 - IL_0029: ldc.i4.6 - IL_002a: shl - IL_002b: ldloc.0 - IL_002c: ldc.i4.2 - IL_002d: shr - IL_002e: add - IL_002f: add - IL_0030: add - IL_0031: stloc.0 - IL_0032: ldloc.0 - IL_0033: ret - - IL_0034: ldarg.0 - IL_0035: stloc.s V_5 - IL_0037: ldloc.s V_5 - IL_0039: isinst assembly/U/B - IL_003e: brfalse.s IL_0043 - - IL_0040: ldc.i4.1 - IL_0041: br.s IL_0044 - - IL_0043: ldc.i4.0 - IL_0044: ret - - IL_0045: ldc.i4.0 - IL_0046: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - int32 V_4, - class assembly/U V_5, - class assembly/U/B V_6, - class assembly/U/B V_7, - class [runtime]System.Collections.IEqualityComparer V_8, - int32 V_9, - int32 V_10, - class [runtime]System.Collections.IEqualityComparer V_11) - IL_0000: ldarg.0 - IL_0001: brfalse IL_0076 - - IL_0006: ldarg.1 - IL_0007: isinst assembly/U - IL_000c: stloc.0 - IL_000d: ldloc.0 - IL_000e: brfalse.s IL_0074 - - IL_0010: ldloc.0 - IL_0011: stloc.1 - IL_0012: ldarg.0 - IL_0013: stloc.3 - IL_0014: ldloc.3 - IL_0015: isinst assembly/U/B - IL_001a: brfalse.s IL_001f - - IL_001c: ldc.i4.1 - IL_001d: br.s IL_0020 - - IL_001f: ldc.i4.0 - IL_0020: stloc.2 - IL_0021: ldloc.1 - IL_0022: stloc.s V_5 - IL_0024: ldloc.s V_5 - IL_0026: isinst assembly/U/B - IL_002b: brfalse.s IL_0030 - - IL_002d: ldc.i4.1 - IL_002e: br.s IL_0031 - - IL_0030: ldc.i4.0 - IL_0031: stloc.s V_4 - IL_0033: ldloc.2 - IL_0034: ldloc.s V_4 - IL_0036: bne.un.s IL_0072 - - IL_0038: ldarg.0 - IL_0039: isinst assembly/U/B - IL_003e: brfalse.s IL_0070 - - IL_0040: ldarg.0 - IL_0041: castclass assembly/U/B - IL_0046: stloc.s V_6 - IL_0048: ldloc.1 - IL_0049: castclass assembly/U/B - IL_004e: stloc.s V_7 - IL_0050: ldarg.2 - IL_0051: stloc.s V_8 - IL_0053: ldloc.s V_6 - IL_0055: ldfld int32 assembly/U/B::item - IL_005a: stloc.s V_9 - IL_005c: ldloc.s V_7 - IL_005e: ldfld int32 assembly/U/B::item - IL_0063: stloc.s V_10 - IL_0065: ldloc.s V_8 - IL_0067: stloc.s V_11 - IL_0069: ldloc.s V_9 - IL_006b: ldloc.s V_10 - IL_006d: ceq - IL_006f: ret - - IL_0070: ldc.i4.1 - IL_0071: ret - - IL_0072: ldc.i4.0 - IL_0073: ret - - IL_0074: ldc.i4.0 - IL_0075: ret - - IL_0076: ldarg.1 - IL_0077: ldnull - IL_0078: cgt.un - IL_007a: ldc.i4.0 - IL_007b: ceq - IL_007d: ret - } - - .method public hidebysig virtual final - instance bool Equals(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0057 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0055 - - IL_0006: ldarg.0 - IL_0007: stloc.1 - IL_0008: ldloc.1 - IL_0009: isinst assembly/U/B - IL_000e: brfalse.s IL_0013 - - IL_0010: ldc.i4.1 - IL_0011: br.s IL_0014 - - IL_0013: ldc.i4.0 - IL_0014: stloc.0 - IL_0015: ldarg.1 - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: isinst assembly/U/B - IL_001d: brfalse.s IL_0022 - - IL_001f: ldc.i4.1 - IL_0020: br.s IL_0023 - - IL_0022: ldc.i4.0 - IL_0023: stloc.2 - IL_0024: ldloc.0 - IL_0025: ldloc.2 - IL_0026: bne.un.s IL_0053 - - IL_0028: ldarg.0 - IL_0029: isinst assembly/U/B - IL_002e: brfalse.s IL_0051 - - IL_0030: ldarg.0 - IL_0031: castclass assembly/U/B - IL_0036: stloc.s V_4 - IL_0038: ldarg.1 - IL_0039: castclass assembly/U/B - IL_003e: stloc.s V_5 - IL_0040: ldloc.s V_4 - IL_0042: ldfld int32 assembly/U/B::item - IL_0047: ldloc.s V_5 - IL_0049: ldfld int32 assembly/U/B::item - IL_004e: ceq - IL_0050: ret - - IL_0051: ldc.i4.1 - IL_0052: ret - - IL_0053: ldc.i4.0 - IL_0054: ret - - IL_0055: ldc.i4.0 - IL_0056: ret - - IL_0057: ldarg.1 - IL_0058: ldnull - IL_0059: cgt.un - IL_005b: ldc.i4.0 - IL_005c: ceq - IL_005e: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0) - IL_0000: ldarg.1 - IL_0001: isinst assembly/U - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: brfalse.s IL_0012 - - IL_000a: ldarg.0 - IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) - IL_0011: ret - - IL_0012: ldc.i4.0 - IL_0013: ret - } - - .property instance int32 Tag() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/U::get_Tag() - } - .property class assembly/U A() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get class assembly/U assembly/U::get_A() - } - .property instance bool IsA() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsA() - } - .property instance bool IsB() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsB() - } - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl deleted file mode 100644 index 28bb5ef0fdb..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/EqualsOnUnions01.fs.il.netcore.release.bsl +++ /dev/null @@ -1,863 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class abstract auto autochar serializable nested public beforefieldinit U - extends [runtime]System.Object - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 01 00 00 00 00 00 ) - .class abstract auto ansi sealed nested public Tags - extends [runtime]System.Object - { - .field public static literal int32 A = int32(0x00000000) - .field public static literal int32 B = int32(0x00000001) - } - - .class auto ansi serializable nested assembly beforefieldinit specialname _A - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 24 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 5F 41 40 44 65 62 75 67 54 79 - 70 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ret - } - - } - - .class auto ansi serializable nested public beforefieldinit specialname B - extends assembly/U - { - .custom instance void [runtime]System.Diagnostics.DebuggerTypeProxyAttribute::.ctor(class [runtime]System.Type) = ( 01 00 23 45 71 75 61 6C 73 4F 6E 55 6E 69 6F 6E - 73 30 31 2B 55 2B 42 40 44 65 62 75 67 54 79 70 - 65 50 72 6F 78 79 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerDisplayAttribute::.ctor(string) = ( 01 00 15 7B 5F 5F 44 65 62 75 67 44 69 73 70 6C - 61 79 28 29 2C 6E 71 7D 00 00 ) - .field assembly initonly int32 item - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(int32 item) cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void assembly/U::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld int32 assembly/U/B::item - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 assembly/U/B::item - IL_0006: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B::get_Item() - } - } - - .class auto ansi nested assembly beforefieldinit specialname _A@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/_A _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/_A obj) cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/_A assembly/U/_A@DebugTypeProxy::_obj - IL_000d: ret - } - - } - - .class auto ansi nested assembly beforefieldinit specialname B@DebugTypeProxy - extends [runtime]System.Object - { - .field assembly class assembly/U/B _obj - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor(class assembly/U/B obj) cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 60 06 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: ldarg.1 - IL_0008: stfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_000d: ret - } - - .method public hidebysig instance int32 - get_Item() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld class assembly/U/B assembly/U/B@DebugTypeProxy::_obj - IL_0006: ldfld int32 assembly/U/B::item - IL_000b: ret - } - - .property instance int32 Item() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32, - int32) = ( 01 00 04 00 00 00 01 00 00 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .get instance int32 assembly/U/B@DebugTypeProxy::get_Item() - } - } - - .field static assembly initonly class assembly/U _unique_A - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: newobj instance void assembly/U/_A::.ctor() - IL_0005: stsfld class assembly/U assembly/U::_unique_A - IL_000a: ret - } - - .method assembly specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [runtime]System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute::.ctor(valuetype [runtime]System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes, - class [runtime]System.Type) = ( 01 00 E0 07 00 00 12 45 71 75 61 6C 73 4F 6E 55 - 6E 69 6F 6E 73 30 31 2B 55 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Object::.ctor() - IL_0006: ret - } - - .method public static class assembly/U - get_A() cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 00 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldsfld class assembly/U assembly/U::_unique_A - IL_0005: ret - } - - .method public hidebysig instance bool - get_IsA() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/_A - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public static class assembly/U - NewB(int32 item) cil managed - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 08 00 00 00 01 00 00 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: newobj instance void assembly/U/B::.ctor(int32) - IL_0006: ret - } - - .method public hidebysig instance bool - get_IsB() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: ldnull - IL_0007: cgt.un - IL_0009: ret - } - - .method public hidebysig instance int32 - get_Tag() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: isinst assembly/U/B - IL_0006: brfalse.s IL_000b - - IL_0008: ldc.i4.1 - IL_0009: br.s IL_000c - - IL_000b: ldc.i4.0 - IL_000c: ret - } - - .method assembly hidebysig specialname - instance object __DebugDisplay() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+0.8A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,string>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public strict virtual instance string - ToString() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldstr "%+A" - IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5,class [FSharp.Core]Microsoft.FSharp.Core.Unit,string,string,class assembly/U>::.ctor(string) - IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatToString>(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) - IL_000f: ldarg.0 - IL_0010: callvirt instance !1 class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::Invoke(!0) - IL_0015: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5, - class [runtime]System.Collections.IComparer V_6, - int32 V_7, - int32 V_8) - IL_0000: ldarg.0 - IL_0001: brfalse IL_0072 - - IL_0006: ldarg.1 - IL_0007: brfalse.s IL_0070 - - IL_0009: ldarg.0 - IL_000a: stloc.1 - IL_000b: ldloc.1 - IL_000c: isinst assembly/U/B - IL_0011: brfalse.s IL_0016 - - IL_0013: ldc.i4.1 - IL_0014: br.s IL_0017 - - IL_0016: ldc.i4.0 - IL_0017: stloc.0 - IL_0018: ldarg.1 - IL_0019: stloc.3 - IL_001a: ldloc.3 - IL_001b: isinst assembly/U/B - IL_0020: brfalse.s IL_0025 - - IL_0022: ldc.i4.1 - IL_0023: br.s IL_0026 - - IL_0025: ldc.i4.0 - IL_0026: stloc.2 - IL_0027: ldloc.0 - IL_0028: ldloc.2 - IL_0029: bne.un.s IL_006c - - IL_002b: ldarg.0 - IL_002c: isinst assembly/U/B - IL_0031: brfalse.s IL_006a - - IL_0033: ldarg.0 - IL_0034: castclass assembly/U/B - IL_0039: stloc.s V_4 - IL_003b: ldarg.1 - IL_003c: castclass assembly/U/B - IL_0041: stloc.s V_5 - IL_0043: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0048: stloc.s V_6 - IL_004a: ldloc.s V_4 - IL_004c: ldfld int32 assembly/U/B::item - IL_0051: stloc.s V_7 - IL_0053: ldloc.s V_5 - IL_0055: ldfld int32 assembly/U/B::item - IL_005a: stloc.s V_8 - IL_005c: ldloc.s V_7 - IL_005e: ldloc.s V_8 - IL_0060: cgt - IL_0062: ldloc.s V_7 - IL_0064: ldloc.s V_8 - IL_0066: clt - IL_0068: sub - IL_0069: ret - - IL_006a: ldc.i4.0 - IL_006b: ret - - IL_006c: ldloc.0 - IL_006d: ldloc.2 - IL_006e: sub - IL_006f: ret - - IL_0070: ldc.i4.1 - IL_0071: ret - - IL_0072: ldarg.1 - IL_0073: brfalse.s IL_0077 - - IL_0075: ldc.i4.m1 - IL_0076: ret - - IL_0077: ldc.i4.0 - IL_0078: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any assembly/U - IL_0007: callvirt instance int32 assembly/U::CompareTo(class assembly/U) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (class assembly/U V_0, - int32 V_1, - class assembly/U V_2, - int32 V_3, - class assembly/U V_4, - class assembly/U/B V_5, - class assembly/U/B V_6, - class [runtime]System.Collections.IComparer V_7, - int32 V_8, - int32 V_9) - IL_0000: ldarg.1 - IL_0001: unbox.any assembly/U - IL_0006: stloc.0 - IL_0007: ldarg.0 - IL_0008: brfalse IL_007c - - IL_000d: ldarg.1 - IL_000e: unbox.any assembly/U - IL_0013: brfalse.s IL_007a - - IL_0015: ldarg.0 - IL_0016: stloc.2 - IL_0017: ldloc.2 - IL_0018: isinst assembly/U/B - IL_001d: brfalse.s IL_0022 - - IL_001f: ldc.i4.1 - IL_0020: br.s IL_0023 - - IL_0022: ldc.i4.0 - IL_0023: stloc.1 - IL_0024: ldloc.0 - IL_0025: stloc.s V_4 - IL_0027: ldloc.s V_4 - IL_0029: isinst assembly/U/B - IL_002e: brfalse.s IL_0033 - - IL_0030: ldc.i4.1 - IL_0031: br.s IL_0034 - - IL_0033: ldc.i4.0 - IL_0034: stloc.3 - IL_0035: ldloc.1 - IL_0036: ldloc.3 - IL_0037: bne.un.s IL_0076 - - IL_0039: ldarg.0 - IL_003a: isinst assembly/U/B - IL_003f: brfalse.s IL_0074 - - IL_0041: ldarg.0 - IL_0042: castclass assembly/U/B - IL_0047: stloc.s V_5 - IL_0049: ldloc.0 - IL_004a: castclass assembly/U/B - IL_004f: stloc.s V_6 - IL_0051: ldarg.2 - IL_0052: stloc.s V_7 - IL_0054: ldloc.s V_5 - IL_0056: ldfld int32 assembly/U/B::item - IL_005b: stloc.s V_8 - IL_005d: ldloc.s V_6 - IL_005f: ldfld int32 assembly/U/B::item - IL_0064: stloc.s V_9 - IL_0066: ldloc.s V_8 - IL_0068: ldloc.s V_9 - IL_006a: cgt - IL_006c: ldloc.s V_8 - IL_006e: ldloc.s V_9 - IL_0070: clt - IL_0072: sub - IL_0073: ret - - IL_0074: ldc.i4.0 - IL_0075: ret - - IL_0076: ldloc.1 - IL_0077: ldloc.3 - IL_0078: sub - IL_0079: ret - - IL_007a: ldc.i4.1 - IL_007b: ret - - IL_007c: ldarg.1 - IL_007d: unbox.any assembly/U - IL_0082: brfalse.s IL_0086 - - IL_0084: ldc.i4.m1 - IL_0085: ret - - IL_0086: ldc.i4.0 - IL_0087: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class assembly/U/B V_1, - class [runtime]System.Collections.IEqualityComparer V_2, - class assembly/U V_3) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_003e - - IL_0003: ldc.i4.0 - IL_0004: stloc.0 - IL_0005: ldarg.0 - IL_0006: isinst assembly/U/B - IL_000b: brfalse.s IL_002f - - IL_000d: ldarg.0 - IL_000e: castclass assembly/U/B - IL_0013: stloc.1 - IL_0014: ldc.i4.1 - IL_0015: stloc.0 - IL_0016: ldc.i4 0x9e3779b9 - IL_001b: ldarg.1 - IL_001c: stloc.2 - IL_001d: ldloc.1 - IL_001e: ldfld int32 assembly/U/B::item - IL_0023: ldloc.0 - IL_0024: ldc.i4.6 - IL_0025: shl - IL_0026: ldloc.0 - IL_0027: ldc.i4.2 - IL_0028: shr - IL_0029: add - IL_002a: add - IL_002b: add - IL_002c: stloc.0 - IL_002d: ldloc.0 - IL_002e: ret - - IL_002f: ldarg.0 - IL_0030: stloc.3 - IL_0031: ldloc.3 - IL_0032: isinst assembly/U/B - IL_0037: brfalse.s IL_003c - - IL_0039: ldc.i4.1 - IL_003a: br.s IL_003d - - IL_003c: ldc.i4.0 - IL_003d: ret - - IL_003e: ldc.i4.0 - IL_003f: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: callvirt instance int32 assembly/U::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - int32 V_4, - class assembly/U V_5, - class assembly/U/B V_6, - class assembly/U/B V_7, - class [runtime]System.Collections.IEqualityComparer V_8) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0067 - - IL_0003: ldarg.1 - IL_0004: isinst assembly/U - IL_0009: stloc.0 - IL_000a: ldloc.0 - IL_000b: brfalse.s IL_0065 - - IL_000d: ldloc.0 - IL_000e: stloc.1 - IL_000f: ldarg.0 - IL_0010: stloc.3 - IL_0011: ldloc.3 - IL_0012: isinst assembly/U/B - IL_0017: brfalse.s IL_001c - - IL_0019: ldc.i4.1 - IL_001a: br.s IL_001d - - IL_001c: ldc.i4.0 - IL_001d: stloc.2 - IL_001e: ldloc.1 - IL_001f: stloc.s V_5 - IL_0021: ldloc.s V_5 - IL_0023: isinst assembly/U/B - IL_0028: brfalse.s IL_002d - - IL_002a: ldc.i4.1 - IL_002b: br.s IL_002e - - IL_002d: ldc.i4.0 - IL_002e: stloc.s V_4 - IL_0030: ldloc.2 - IL_0031: ldloc.s V_4 - IL_0033: bne.un.s IL_0063 - - IL_0035: ldarg.0 - IL_0036: isinst assembly/U/B - IL_003b: brfalse.s IL_0061 - - IL_003d: ldarg.0 - IL_003e: castclass assembly/U/B - IL_0043: stloc.s V_6 - IL_0045: ldloc.1 - IL_0046: castclass assembly/U/B - IL_004b: stloc.s V_7 - IL_004d: ldarg.2 - IL_004e: stloc.s V_8 - IL_0050: ldloc.s V_6 - IL_0052: ldfld int32 assembly/U/B::item - IL_0057: ldloc.s V_7 - IL_0059: ldfld int32 assembly/U/B::item - IL_005e: ceq - IL_0060: ret - - IL_0061: ldc.i4.1 - IL_0062: ret - - IL_0063: ldc.i4.0 - IL_0064: ret - - IL_0065: ldc.i4.0 - IL_0066: ret - - IL_0067: ldarg.1 - IL_0068: ldnull - IL_0069: cgt.un - IL_006b: ldc.i4.0 - IL_006c: ceq - IL_006e: ret - } - - .method public hidebysig virtual final - instance bool Equals(class assembly/U obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (int32 V_0, - class assembly/U V_1, - int32 V_2, - class assembly/U V_3, - class assembly/U/B V_4, - class assembly/U/B V_5) - IL_0000: ldarg.0 - IL_0001: brfalse.s IL_0057 - - IL_0003: ldarg.1 - IL_0004: brfalse.s IL_0055 - - IL_0006: ldarg.0 - IL_0007: stloc.1 - IL_0008: ldloc.1 - IL_0009: isinst assembly/U/B - IL_000e: brfalse.s IL_0013 - - IL_0010: ldc.i4.1 - IL_0011: br.s IL_0014 - - IL_0013: ldc.i4.0 - IL_0014: stloc.0 - IL_0015: ldarg.1 - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: isinst assembly/U/B - IL_001d: brfalse.s IL_0022 - - IL_001f: ldc.i4.1 - IL_0020: br.s IL_0023 - - IL_0022: ldc.i4.0 - IL_0023: stloc.2 - IL_0024: ldloc.0 - IL_0025: ldloc.2 - IL_0026: bne.un.s IL_0053 - - IL_0028: ldarg.0 - IL_0029: isinst assembly/U/B - IL_002e: brfalse.s IL_0051 - - IL_0030: ldarg.0 - IL_0031: castclass assembly/U/B - IL_0036: stloc.s V_4 - IL_0038: ldarg.1 - IL_0039: castclass assembly/U/B - IL_003e: stloc.s V_5 - IL_0040: ldloc.s V_4 - IL_0042: ldfld int32 assembly/U/B::item - IL_0047: ldloc.s V_5 - IL_0049: ldfld int32 assembly/U/B::item - IL_004e: ceq - IL_0050: ret - - IL_0051: ldc.i4.1 - IL_0052: ret - - IL_0053: ldc.i4.0 - IL_0054: ret - - IL_0055: ldc.i4.0 - IL_0056: ret - - IL_0057: ldarg.1 - IL_0058: ldnull - IL_0059: cgt.un - IL_005b: ldc.i4.0 - IL_005c: ceq - IL_005e: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (class assembly/U V_0) - IL_0000: ldarg.1 - IL_0001: isinst assembly/U - IL_0006: stloc.0 - IL_0007: ldloc.0 - IL_0008: brfalse.s IL_0012 - - IL_000a: ldarg.0 - IL_000b: ldloc.0 - IL_000c: callvirt instance bool assembly/U::Equals(class assembly/U) - IL_0011: ret - - IL_0012: ldc.i4.0 - IL_0013: ret - } - - .property instance int32 Tag() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance int32 assembly/U::get_Tag() - } - .property class assembly/U A() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get class assembly/U assembly/U::get_A() - } - .property instance bool IsA() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsA() - } - .property instance bool IsB() - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .get instance bool assembly/U::get_IsB() - } - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs deleted file mode 100644 index eb7c818f002..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop01.fs +++ /dev/null @@ -1,6 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regressiont test for TFS#712639 -// Incorrect span or overlapping debugging spans -// The test will start failing once the bug is actually fixed -for wi in [ 1 .. 3 ] do - printfn "%A" wi diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs deleted file mode 100644 index 57cf7b7900d..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop02.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regressiont test for TFS#712639 -// Incorrect span or overlapping debugging spans -// The test will start failing once the bug is actually fixed -for wi = 1 to 3 do - printfn "%A" wi - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs deleted file mode 100644 index 9ce6ae8b25d..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ForLoop03.fs +++ /dev/null @@ -1,14 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSharp1.0:4785 -// Title: Search the IEnumerator pattern first - -let ra = new ResizeArray(100) -for i = 0 to 100 do ra.Add(i) - - -let test1() = - let mutable z = 0 - for i = 0 to 10000000 do - for x in ra do - z <- z + 1 - printfn "z = %d" z diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs deleted file mode 100644 index fb6fd4ca377..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GeneralizationOnUnions01.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSharp1.0:6389 - Nullary union cases improperly constrain generic type parameters - -type Weirdo = | C -let f C = 0 // parameter name is C -let g () = - let C = 1 - let f C = C // what is parameter name here? Do we even care? - () - -exit 0 \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs deleted file mode 100644 index e38c268a067..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs +++ /dev/null @@ -1,8 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL -type Foo<'a>() = - static let theInstance = new Foo<'a>() - static member Instance = theInstance - -type Bar<'a,'b>() = - static let theInstance = new Bar<'a,'b>() - static member Instance = theInstance diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl deleted file mode 100644 index 4d92b08d231..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/GenericTypeStaticField.fs.il.bsl +++ /dev/null @@ -1,183 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto ansi serializable nested public Foo`1 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field static assembly class assembly/Foo`1 theInstance - .field static assembly int32 init@2 - .method public specialname rtspecialname - instance void .ctor() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: callvirt instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: pop - IL_0008: ret - } - - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: newobj instance void class assembly/Foo`1::.ctor() - IL_0005: stsfld class assembly/Foo`1 class assembly/Foo`1::theInstance - IL_000a: ldc.i4.1 - IL_000b: volatile. - IL_000d: stsfld int32 class assembly/Foo`1::init@2 - IL_0012: ret - } - - .method public specialname static class assembly/Foo`1 - get_Instance() cil managed - { - - .maxstack 8 - IL_0000: nop - IL_0001: volatile. - IL_0003: ldsfld int32 class assembly/Foo`1::init@2 - IL_0008: ldc.i4.1 - IL_0009: bge.s IL_0014 - - IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() - IL_0010: nop - IL_0011: nop - IL_0012: br.s IL_0015 - - IL_0014: nop - IL_0015: ldsfld class assembly/Foo`1 class assembly/Foo`1::theInstance - IL_001a: ret - } - - .property class assembly/Foo`1 - Instance() - { - .get class assembly/Foo`1 assembly/Foo`1::get_Instance() - } - } - - .class auto ansi serializable nested public Bar`2 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field static assembly class assembly/Bar`2 theInstance - .field static assembly int32 'init@6-1' - .method public specialname rtspecialname - instance void .ctor() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: callvirt instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: pop - IL_0008: ret - } - - .method private specialname rtspecialname static - void .cctor() cil managed - { - - .maxstack 8 - IL_0000: newobj instance void class assembly/Bar`2::.ctor() - IL_0005: stsfld class assembly/Bar`2 class assembly/Bar`2::theInstance - IL_000a: ldc.i4.1 - IL_000b: volatile. - IL_000d: stsfld int32 class assembly/Bar`2::'init@6-1' - IL_0012: ret - } - - .method public specialname static class assembly/Bar`2 - get_Instance() cil managed - { - - .maxstack 8 - IL_0000: nop - IL_0001: volatile. - IL_0003: ldsfld int32 class assembly/Bar`2::'init@6-1' - IL_0008: ldc.i4.1 - IL_0009: bge.s IL_0014 - - IL_000b: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() - IL_0010: nop - IL_0011: nop - IL_0012: br.s IL_0015 - - IL_0014: nop - IL_0015: ldsfld class assembly/Bar`2 class assembly/Bar`2::theInstance - IL_001a: ret - } - - .property class assembly/Bar`2 - Instance() - { - .get class assembly/Bar`2 assembly/Bar`2::get_Instance() - } - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs deleted file mode 100644 index f81c02acfa2..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/IfThenElse01.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL -module IfThenElse01 // Regression test for F#4519 -module M = - let m () = - let f5 (x:int) (y:int) (z:'a) (w:'a) = if (x > y) then z else w - f5 10 10 'a' 'b' - m() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs deleted file mode 100644 index 46085bc227e..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Int64.fs +++ /dev/null @@ -1,4 +0,0 @@ -let a = 2L -let b = 20L -let c = 2147483649L -let d = 932147483649L \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs deleted file mode 100644 index ca4ad97f092..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/LetIfThenElse01.fs +++ /dev/null @@ -1,12 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:5155 -// Stepping through if/then/else which is then stored into a local mistakenly steps into "else" branch - -let F(y) = - let x1 = if System.DateTime.Now.Year > 2000 then 1 else 2 - let y1 = if System.DateTime.Now.Year > 2000 then 1 else 2 - let x2 = if System.DateTime.Now.Year < 2000 then 1 else 2 - let y2 = if System.DateTime.Now.Year < 2000 then 1 else 2 - x1,y1,x2,y2 - -F(1) |> ignore diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs deleted file mode 100644 index f6dcced5ee6..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Lock01.fs +++ /dev/null @@ -1,20 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:1881 - -// Make sure that when targeting NetFx4.0, we follow the new pattern: -// -// bool lockTaken = false; -// try -// { -// Monitor.Enter(obj, ref lockTaken); -// //do stuff -// } -// finally -// { -// if (lockTaken) -// Monitor.Exit(obj); -// } - - -let o = new System.Object() -lock o (fun () -> () ) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs deleted file mode 100644 index e6842b9b756..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs +++ /dev/null @@ -1,6 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL -open System.Runtime.InteropServices - -type Reader = - delegate of - []data : byte[] * []length : int -> int diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl deleted file mode 100644 index 47e564c2a9d..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Marshal.fs.il.bsl +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto ansi serializable sealed nested public Reader - extends [runtime]System.MulticastDelegate - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public hidebysig specialname rtspecialname - instance void .ctor(object 'object', - native int 'method') runtime managed - { - } - - .method public hidebysig strict virtual - instance int32 Invoke([out] uint8[] marshal([ + 1]) data, - [out] int32 length) runtime managed - { - } - - .method public hidebysig strict virtual - instance class [runtime]System.IAsyncResult - BeginInvoke([out] uint8[] marshal([ + 1]) data, - [out] int32 length, - class [runtime]System.AsyncCallback callback, - object objects) runtime managed - { - } - - .method public hidebysig strict virtual - instance int32 EndInvoke(class [runtime]System.IAsyncResult result) runtime managed - { - } - - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs deleted file mode 100644 index 6b651913ae2..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression for FSHARP1.0:5782 (Methods with MethodImplAttribute(MethodImplOptions.NoInlining) should not be inlined) -// compile with optimizations turned on: this will force an attempt to inline g() -open System.Runtime.CompilerServices - -[] -let g() = printfn "Hey!" - -let f() = g() - -f() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs deleted file mode 100644 index 6074a704773..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/MethodImplNoInline02.fs +++ /dev/null @@ -1,11 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression for FSHARP1.0:5782 (Methods with MethodImplAttribute(MethodImplOptions.NoInlining) should not be inlined) -// compile with optimizations turned on: this will force an attempt to inline g() -open System.Runtime.CompilerServices - -[] -let inline g() = printfn "Hey!" - -let inline f() = g() - -f() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Misc.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Misc.fs deleted file mode 100644 index b95e9522249..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Misc.fs +++ /dev/null @@ -1,222 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open System.IO -open FSharp.Test -open FSharp.Test.Compiler - -module MiscRealInternalSignatureOn = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOff - |> ignoreWarnings - |> verifyILBaseline - - // SOURCE=AnonRecd.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AnonRecd.exe" # AnonRecd.fs - [] - let ``AnonRecd_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=CodeGenRenamings01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CodeGenRenamings01.exe" # CodeGenRenamings01.fs - - [] - let ``CodeGenRenamings01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ArgumentNamesInClosures01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ArgumentNamesInClosures01.dll" # ArgumentNamesInClosures01.fs - - [] - let ``ArgumentNamesInClosures01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Decimal01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Decimal01.exe" # Decimal01.fs - [] - let ``Decimal01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=EntryPoint01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EntryPoint01.exe" # EntryPoint01.fs - [] - let ``EntryPoint01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=EqualsOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd EqualsOnUnions01.exe" # EqualsOnUnions01.fs - - [] - let ``EqualsOnUnions01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ForLoop01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop01.exe" # ForLoop01.fs - - [] - let ``ForLoop01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ForLoop02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop02.exe" # ForLoop02.fs - [] - let ``ForLoop02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ForLoop03.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ForLoop03.exe" # ForLoop03.fs - [] - let ``ForLoop03_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=NoBoxingOnDispose01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NoBoxingOnDispose01.exe" # NoBoxingOnDispose01.fs - [] - let ``NoBoxingOnDispose01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - //SOURCE=IfThenElse01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd IfThenElse01.dll" # IfThenElse01.fs - [] - let ``IfThenElse01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=LetIfThenElse01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd LetIfThenElse01.exe" # LetIfThenElse01.fs - - [] - let ``LetIfThenElse01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Lock01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Lock01.exe" # Lock01.fs - - [] - let ``Lock01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=ModuleWithExpression01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ModuleWithExpression01.exe" # ModuleWithExpression01.fs - [] - let ``ModuleWithExpression01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=NonEscapingArguments02.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd NonEscapingArguments02.dll" # NonEscapingArguments02.fs - [] - let ``NonEscapingArguments02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Seq_for_all01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Seq_for_all01.exe" # Seq_for_all01.fs - [] - let ``Seq_for_all01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=StructsAsArrayElements01.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd StructsAsArrayElements01.dll" # StructsAsArrayElements01.fs - - [] - let ``StructsAsArrayElements01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=PreserveSig.fs SCFLAGS="-a -g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd PreserveSig.dll" # PreserveSig.fs - - [] - let ``PreserveSig_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // # The name of this test is a bit misleading for legacy reasons: it used to test the --no-generate-filter-blocks option, which is now gone - // SOURCE=TryWith_NoFilterBlocks01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd TryWith_NoFilterBlocks01.exe" # TryWith_NoFilterBlocks01.fs - [] - let ``TryWith_NoFilterBlocks01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Structs01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs01.exe" # Structs01.fs - - [] - let ``Structs01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=Structs02.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Structs02.exe" # Structs02.fs - - [] - let ``Structs02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - [] - let ``Structs02_asNetStandard20_fs`` compilation = - compilation - |>asLibrary - |>asNetStandard20 - |>verifyCompilation - - // SOURCE=Marshal.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd Marshal.exe" # Marshal.fs - [] - let ``Marshal_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=MethodImplNoInline.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline.exe" # MethodImplNoInline.fs - [] - let ``MethodImplNoInline_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=MethodImplNoInline02.fs SCFLAGS="-O" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd MethodImplNoInline02.exe" # MethodImplNoInline02.fs - [] - let ``MethodImplNoInline02_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=CustomAttributeGenericParameter01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd CustomAttributeGenericParameter01.exe" # CustomAttributeGenericParameter01.fs - - [] - let ``CustomAttributeGenericParameter01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=GenericTypeStaticField.fs SCFLAGS="-g --optimize+" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GenericTypeStaticField.exe" # GenericTypeStaticField.fs - - [] - let ``GenericTypeStaticField_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=GeneralizationOnUnions01.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd GeneralizationOnUnions01.exe" # GeneralizationOnUnions01.fs - [] - let ``GeneralizationOnUnions01_fs`` compilation = - compilation - |> asExe - |> verifyCompilation - - // SOURCE=AbstractClass.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd AbstractClass.exe" # AbstractClass.fs - [] - let ``AbstractClass_fs`` compilation = - compilation - |> asExe - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs deleted file mode 100644 index d9dfb9ac86f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/ModuleWithExpression01.fs +++ /dev/null @@ -1,9 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:2644 (a module may start with an expression) -// Verify that we can compile a module with an expression in it -// -#light - -module M = - printfn "hello" - let x = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs deleted file mode 100644 index 729eb08d4e0..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for DEV11:11983 -// Title: Calling Dispose with use/using on a Struct results in boxing because of explicit interfaces - -let f1 (x:System.Collections.Generic.List<'T>) = - for a in x do - () diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl deleted file mode 100644 index fc0add44acd..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.net472.bsl +++ /dev/null @@ -1,102 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public static void f1(class [runtime]System.Collections.Generic.List`1 x) cil managed - { - - .maxstack 3 - .locals init (class [runtime]System.Collections.Generic.List`1 V_0, - valuetype [runtime]System.Collections.Generic.List`1/Enumerator V_1, - !!T V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance valuetype [runtime]System.Collections.Generic.List`1/Enumerator class [runtime]System.Collections.Generic.List`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_0014 - - IL_000b: ldloca.s V_1 - IL_000d: call instance !0 valuetype [runtime]System.Collections.Generic.List`1/Enumerator::get_Current() - IL_0012: stloc.2 - IL_0013: nop - IL_0014: ldloca.s V_1 - IL_0016: call instance bool valuetype [runtime]System.Collections.Generic.List`1/Enumerator::MoveNext() - IL_001b: brtrue.s IL_000b - - IL_001d: leave.s IL_002d - - } - finally - { - IL_001f: ldloca.s V_1 - IL_0021: constrained. valuetype [runtime]System.Collections.Generic.List`1/Enumerator - IL_0027: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_002c: endfinally - } - IL_002d: ret - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl deleted file mode 100644 index a75cf1b5171..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NoBoxingOnDispose01.fs.il.netcore.bsl +++ /dev/null @@ -1,101 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly extern System.Collections -{ - .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) - .ver 8:0:0:0 -} -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .method public static void f1(class [System.Collections]System.Collections.Generic.List`1 x) cil managed - { - - .maxstack 3 - .locals init (class [System.Collections]System.Collections.Generic.List`1 V_0, - valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator V_1, - !!T V_2) - IL_0000: ldarg.0 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: callvirt instance valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator class [System.Collections]System.Collections.Generic.List`1::GetEnumerator() - IL_0008: stloc.1 - .try - { - IL_0009: br.s IL_0014 - - IL_000b: ldloca.s V_1 - IL_000d: call instance !0 valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::get_Current() - IL_0012: stloc.2 - IL_0013: nop - IL_0014: ldloca.s V_1 - IL_0016: call instance bool valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator::MoveNext() - IL_001b: brtrue.s IL_000b - - IL_001d: leave.s IL_002d - - } - finally - { - IL_001f: ldloca.s V_1 - IL_0021: constrained. valuetype [System.Collections]System.Collections.Generic.List`1/Enumerator - IL_0027: callvirt instance void [runtime]System.IDisposable::Dispose() - IL_002c: endfinally - } - IL_002d: ret - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs deleted file mode 100644 index dc50b30310a..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:3143 - -module NonEscapingArguments02 -type ListSizeCounter<'t>(somelist: 't list) = - let size = List.length somelist - member this.Size = size diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl deleted file mode 100644 index 0dcc23a310f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/NonEscapingArguments02.fs.il.bsl +++ /dev/null @@ -1,102 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed assembly - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class auto ansi serializable nested public ListSizeCounter`1 - extends [runtime]System.Object - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field assembly int32 size - .method public specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 somelist) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: callvirt instance void [runtime]System.Object::.ctor() - IL_0006: ldarg.0 - IL_0007: pop - IL_0008: ldarg.0 - IL_0009: ldarg.1 - IL_000a: call int32 [FSharp.Core]Microsoft.FSharp.Collections.ListModule::Length(class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_000f: stfld int32 class assembly/ListSizeCounter`1::size - IL_0014: ret - } - - .method public hidebysig specialname - instance int32 get_Size() cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 class assembly/ListSizeCounter`1::size - IL_0006: ret - } - - .property instance int32 Size() - { - .get instance int32 assembly/ListSizeCounter`1::get_Size() - } - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs deleted file mode 100644 index ecc3bd56b61..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Foo - -open System.Runtime.InteropServices - -type Bar = - [] - abstract MyCall: unit -> int32 \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl deleted file mode 100644 index 924991d18dd..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/PreserveSig.fs.il.bsl +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class interface public abstract auto ansi serializable Foo.Bar -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .method public hidebysig abstract virtual - instance int32 MyCall() cil managed preservesig - { - } - -} - -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs deleted file mode 100644 index bf3cad05bb8..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL -#light - -let q = Seq.forall (fun s -> - if not true then () - true - ) [ 1 ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs deleted file mode 100644 index aaecc513ea7..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs +++ /dev/null @@ -1,14 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSharp1.0:5057 -// Title: Inefficient access of mutable field of struct - -module Experiment.Test - -type Test = struct - new (i) = {Field = i} - val mutable Field: int -end - -let test() = - let t = new Test(2) - t.Field diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl deleted file mode 100644 index 43dc0887ae9..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.debug.bsl +++ /dev/null @@ -1,335 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Experiment.Test - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public Test - extends [runtime]System.ValueType - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field public int32 Field - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Experiment.Test/Test obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Test& V_0, - class [runtime]System.Collections.IComparer V_1, - int32 V_2, - int32 V_3, - class [runtime]System.Collections.IComparer V_4, - int32 V_5, - int32 V_6) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: stloc.2 - IL_0010: ldloc.0 - IL_0011: ldfld int32 Experiment.Test/Test::Field - IL_0016: stloc.3 - IL_0017: ldloc.1 - IL_0018: stloc.s V_4 - IL_001a: ldloc.2 - IL_001b: stloc.s V_5 - IL_001d: ldloc.3 - IL_001e: stloc.s V_6 - IL_0020: ldloc.s V_5 - IL_0022: ldloc.s V_6 - IL_0024: cgt - IL_0026: ldloc.s V_5 - IL_0028: ldloc.s V_6 - IL_002a: clt - IL_002c: sub - IL_002d: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Experiment.Test/Test - IL_0007: call instance int32 Experiment.Test/Test::CompareTo(valuetype Experiment.Test/Test) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Test V_0, - valuetype Experiment.Test/Test& V_1, - class [runtime]System.Collections.IComparer V_2, - int32 V_3, - int32 V_4, - class [runtime]System.Collections.IComparer V_5, - int32 V_6, - int32 V_7) - IL_0000: ldarg.1 - IL_0001: unbox.any Experiment.Test/Test - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld int32 Experiment.Test/Test::Field - IL_0012: stloc.3 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Experiment.Test/Test::Field - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: stloc.s V_5 - IL_001e: ldloc.3 - IL_001f: stloc.s V_6 - IL_0021: ldloc.s V_4 - IL_0023: stloc.s V_7 - IL_0025: ldloc.s V_6 - IL_0027: ldloc.s V_7 - IL_0029: cgt - IL_002b: ldloc.s V_6 - IL_002d: ldloc.s V_7 - IL_002f: clt - IL_0031: sub - IL_0032: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class [runtime]System.Collections.IEqualityComparer V_1, - int32 V_2, - class [runtime]System.Collections.IEqualityComparer V_3) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: stloc.2 - IL_0010: ldloc.1 - IL_0011: stloc.3 - IL_0012: ldloc.2 - IL_0013: ldloc.0 - IL_0014: ldc.i4.6 - IL_0015: shl - IL_0016: ldloc.0 - IL_0017: ldc.i4.2 - IL_0018: shr - IL_0019: add - IL_001a: add - IL_001b: add - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Experiment.Test/Test::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Test V_1, - valuetype Experiment.Test/Test& V_2, - class [runtime]System.Collections.IEqualityComparer V_3, - int32 V_4, - int32 V_5, - class [runtime]System.Collections.IEqualityComparer V_6) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Test - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0033 - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Test - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld int32 Experiment.Test/Test::Field - IL_001f: stloc.s V_4 - IL_0021: ldloc.2 - IL_0022: ldfld int32 Experiment.Test/Test::Field - IL_0027: stloc.s V_5 - IL_0029: ldloc.3 - IL_002a: stloc.s V_6 - IL_002c: ldloc.s V_4 - IL_002e: ldloc.s V_5 - IL_0030: ceq - IL_0032: ret - - IL_0033: ldc.i4.0 - IL_0034: ret - } - - .method public specialname rtspecialname - instance void .ctor(int32 i) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int32 Experiment.Test/Test::Field - IL_0007: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Experiment.Test/Test obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype Experiment.Test/Test& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld int32 Experiment.Test/Test::Field - IL_0009: ldloc.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: ceq - IL_0011: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Test V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Test - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Test - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Experiment.Test/Test::Equals(valuetype Experiment.Test/Test) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - } - - .method public static int32 test() cil managed - { - - .maxstack 3 - .locals init (valuetype Experiment.Test/Test V_0) - IL_0000: ldc.i4.2 - IL_0001: newobj instance void Experiment.Test/Test::.ctor(int32) - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: ldfld int32 Experiment.Test/Test::Field - IL_000e: ret - } - -} - -.class private abstract auto ansi sealed '.$Experiment'.Test - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl deleted file mode 100644 index 4216ba295eb..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs01.fs.il.release.bsl +++ /dev/null @@ -1,302 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Experiment.Test - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public Test - extends [runtime]System.ValueType - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field public int32 Field - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Experiment.Test/Test obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Test& V_0, - class [runtime]System.Collections.IComparer V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: stloc.2 - IL_0010: ldloc.0 - IL_0011: ldfld int32 Experiment.Test/Test::Field - IL_0016: stloc.3 - IL_0017: ldloc.2 - IL_0018: ldloc.3 - IL_0019: cgt - IL_001b: ldloc.2 - IL_001c: ldloc.3 - IL_001d: clt - IL_001f: sub - IL_0020: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Experiment.Test/Test - IL_0007: call instance int32 Experiment.Test/Test::CompareTo(valuetype Experiment.Test/Test) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Test V_0, - valuetype Experiment.Test/Test& V_1, - class [runtime]System.Collections.IComparer V_2, - int32 V_3, - int32 V_4) - IL_0000: ldarg.1 - IL_0001: unbox.any Experiment.Test/Test - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld int32 Experiment.Test/Test::Field - IL_0012: stloc.3 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Experiment.Test/Test::Field - IL_0019: stloc.s V_4 - IL_001b: ldloc.3 - IL_001c: ldloc.s V_4 - IL_001e: cgt - IL_0020: ldloc.3 - IL_0021: ldloc.s V_4 - IL_0023: clt - IL_0025: sub - IL_0026: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class [runtime]System.Collections.IEqualityComparer V_1) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: ldloc.0 - IL_0010: ldc.i4.6 - IL_0011: shl - IL_0012: ldloc.0 - IL_0013: ldc.i4.2 - IL_0014: shr - IL_0015: add - IL_0016: add - IL_0017: add - IL_0018: stloc.0 - IL_0019: ldloc.0 - IL_001a: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Experiment.Test/Test::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Test V_1, - valuetype Experiment.Test/Test& V_2, - class [runtime]System.Collections.IEqualityComparer V_3) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Test - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0028 - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Test - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld int32 Experiment.Test/Test::Field - IL_001f: ldloc.2 - IL_0020: ldfld int32 Experiment.Test/Test::Field - IL_0025: ceq - IL_0027: ret - - IL_0028: ldc.i4.0 - IL_0029: ret - } - - .method public specialname rtspecialname - instance void .ctor(int32 i) cil managed - { - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: stfld int32 Experiment.Test/Test::Field - IL_0007: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Experiment.Test/Test obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype Experiment.Test/Test& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld int32 Experiment.Test/Test::Field - IL_0009: ldloc.0 - IL_000a: ldfld int32 Experiment.Test/Test::Field - IL_000f: ceq - IL_0011: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Test V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Test - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Test - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Experiment.Test/Test::Equals(valuetype Experiment.Test/Test) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - } - - .method public static int32 test() cil managed - { - - .maxstack 3 - .locals init (valuetype Experiment.Test/Test V_0) - IL_0000: ldc.i4.2 - IL_0001: newobj instance void Experiment.Test/Test::.ctor(int32) - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: ldfld int32 Experiment.Test/Test::Field - IL_000e: ret - } - -} - -.class private abstract auto ansi sealed '.$Experiment'.Test - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs deleted file mode 100644 index 83fdc826755..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs +++ /dev/null @@ -1,18 +0,0 @@ -// regression test for 767815: Invalid code is generated when using field initializers in struct constructor - -module Experiment.Test - -[] -type Repro = - val hash : int - new(length) = - { hash = - let mutable h = 0 - for i=0 to length-1 do - h <- 26*h - h - } - -let test() = - let t = Repro(42) - t.hash \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl deleted file mode 100644 index db1c565e0f2..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.debug.bsl +++ /dev/null @@ -1,387 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Experiment.Test - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public Repro - extends [runtime]System.ValueType - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field assembly int32 hash@ - .method public hidebysig specialname - instance int32 get_hash() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 Experiment.Test/Repro::hash@ - IL_0006: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro& V_0, - class [runtime]System.Collections.IComparer V_1, - int32 V_2, - int32 V_3, - class [runtime]System.Collections.IComparer V_4, - int32 V_5, - int32 V_6) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: stloc.2 - IL_0010: ldloc.0 - IL_0011: ldfld int32 Experiment.Test/Repro::hash@ - IL_0016: stloc.3 - IL_0017: ldloc.1 - IL_0018: stloc.s V_4 - IL_001a: ldloc.2 - IL_001b: stloc.s V_5 - IL_001d: ldloc.3 - IL_001e: stloc.s V_6 - IL_0020: ldloc.s V_5 - IL_0022: ldloc.s V_6 - IL_0024: cgt - IL_0026: ldloc.s V_5 - IL_0028: ldloc.s V_6 - IL_002a: clt - IL_002c: sub - IL_002d: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Experiment.Test/Repro - IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro V_0, - valuetype Experiment.Test/Repro& V_1, - class [runtime]System.Collections.IComparer V_2, - int32 V_3, - int32 V_4, - class [runtime]System.Collections.IComparer V_5, - int32 V_6, - int32 V_7) - IL_0000: ldarg.1 - IL_0001: unbox.any Experiment.Test/Repro - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld int32 Experiment.Test/Repro::hash@ - IL_0012: stloc.3 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Experiment.Test/Repro::hash@ - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: stloc.s V_5 - IL_001e: ldloc.3 - IL_001f: stloc.s V_6 - IL_0021: ldloc.s V_4 - IL_0023: stloc.s V_7 - IL_0025: ldloc.s V_6 - IL_0027: ldloc.s V_7 - IL_0029: cgt - IL_002b: ldloc.s V_6 - IL_002d: ldloc.s V_7 - IL_002f: clt - IL_0031: sub - IL_0032: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class [runtime]System.Collections.IEqualityComparer V_1, - int32 V_2, - class [runtime]System.Collections.IEqualityComparer V_3) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: stloc.2 - IL_0010: ldloc.1 - IL_0011: stloc.3 - IL_0012: ldloc.2 - IL_0013: ldloc.0 - IL_0014: ldc.i4.6 - IL_0015: shl - IL_0016: ldloc.0 - IL_0017: ldc.i4.2 - IL_0018: shr - IL_0019: add - IL_001a: add - IL_001b: add - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1, - valuetype Experiment.Test/Repro& V_2, - class [runtime]System.Collections.IEqualityComparer V_3, - int32 V_4, - int32 V_5, - class [runtime]System.Collections.IEqualityComparer V_6) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0033 - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld int32 Experiment.Test/Repro::hash@ - IL_001f: stloc.s V_4 - IL_0021: ldloc.2 - IL_0022: ldfld int32 Experiment.Test/Repro::hash@ - IL_0027: stloc.s V_5 - IL_0029: ldloc.3 - IL_002a: stloc.s V_6 - IL_002c: ldloc.s V_4 - IL_002e: ldloc.s V_5 - IL_0030: ceq - IL_0032: ret - - IL_0033: ldc.i4.0 - IL_0034: ret - } - - .method public specialname rtspecialname - instance void .ctor(int32 length) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - valuetype Experiment.Test/Repro& V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.0 - IL_0002: stloc.0 - IL_0003: stloc.1 - IL_0004: ldc.i4.0 - IL_0005: stloc.3 - IL_0006: ldarg.1 - IL_0007: ldc.i4.1 - IL_0008: sub - IL_0009: stloc.2 - IL_000a: ldloc.2 - IL_000b: ldloc.3 - IL_000c: blt.s IL_001d - - IL_000e: ldc.i4.s 26 - IL_0010: ldloc.0 - IL_0011: mul - IL_0012: stloc.0 - IL_0013: ldloc.3 - IL_0014: ldc.i4.1 - IL_0015: add - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: ldloc.2 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: bne.un.s IL_000e - - IL_001d: ldloc.1 - IL_001e: ldloc.0 - IL_001f: stfld int32 Experiment.Test/Repro::hash@ - IL_0024: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype Experiment.Test/Repro& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld int32 Experiment.Test/Repro::hash@ - IL_0009: ldloc.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ceq - IL_0011: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - .property instance int32 hash() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) - .get instance int32 Experiment.Test/Repro::get_hash() - } - } - - .method public static int32 test() cil managed - { - - .maxstack 3 - .locals init (valuetype Experiment.Test/Repro V_0) - IL_0000: ldc.i4.s 42 - IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) - IL_0007: stloc.0 - IL_0008: ldloca.s V_0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ret - } - -} - -.class private abstract auto ansi sealed '.$Experiment'.Test - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl deleted file mode 100644 index 7e48511f39c..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02.fs.il.release.bsl +++ /dev/null @@ -1,354 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.exe - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Experiment.Test - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public Repro - extends [runtime]System.ValueType - implements class [runtime]System.IEquatable`1, - [runtime]System.Collections.IStructuralEquatable, - class [runtime]System.IComparable`1, - [runtime]System.IComparable, - [runtime]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field assembly int32 hash@ - .method public hidebysig specialname - instance int32 get_hash() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 Experiment.Test/Repro::hash@ - IL_0006: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro& V_0, - class [runtime]System.Collections.IComparer V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [runtime]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: stloc.2 - IL_0010: ldloc.0 - IL_0011: ldfld int32 Experiment.Test/Repro::hash@ - IL_0016: stloc.3 - IL_0017: ldloc.2 - IL_0018: ldloc.3 - IL_0019: cgt - IL_001b: ldloc.2 - IL_001c: ldloc.3 - IL_001d: clt - IL_001f: sub - IL_0020: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Experiment.Test/Repro - IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [runtime]System.Collections.IComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro V_0, - valuetype Experiment.Test/Repro& V_1, - class [runtime]System.Collections.IComparer V_2, - int32 V_3, - int32 V_4) - IL_0000: ldarg.1 - IL_0001: unbox.any Experiment.Test/Repro - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld int32 Experiment.Test/Repro::hash@ - IL_0012: stloc.3 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Experiment.Test/Repro::hash@ - IL_0019: stloc.s V_4 - IL_001b: ldloc.3 - IL_001c: ldloc.s V_4 - IL_001e: cgt - IL_0020: ldloc.3 - IL_0021: ldloc.s V_4 - IL_0023: clt - IL_0025: sub - IL_0026: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class [runtime]System.Collections.IEqualityComparer V_1) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ldloc.0 - IL_0010: ldc.i4.6 - IL_0011: shl - IL_0012: ldloc.0 - IL_0013: ldc.i4.2 - IL_0014: shr - IL_0015: add - IL_0016: add - IL_0017: add - IL_0018: stloc.0 - IL_0019: ldloc.0 - IL_001a: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [runtime]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [runtime]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [runtime]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1, - valuetype Experiment.Test/Repro& V_2, - class [runtime]System.Collections.IEqualityComparer V_3) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0028 - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld int32 Experiment.Test/Repro::hash@ - IL_001f: ldloc.2 - IL_0020: ldfld int32 Experiment.Test/Repro::hash@ - IL_0025: ceq - IL_0027: ret - - IL_0028: ldc.i4.0 - IL_0029: ret - } - - .method public specialname rtspecialname - instance void .ctor(int32 length) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - valuetype Experiment.Test/Repro& V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.0 - IL_0002: stloc.0 - IL_0003: stloc.1 - IL_0004: ldc.i4.0 - IL_0005: stloc.3 - IL_0006: ldarg.1 - IL_0007: ldc.i4.1 - IL_0008: sub - IL_0009: stloc.2 - IL_000a: ldloc.2 - IL_000b: ldloc.3 - IL_000c: blt.s IL_001d - - IL_000e: ldc.i4.s 26 - IL_0010: ldloc.0 - IL_0011: mul - IL_0012: stloc.0 - IL_0013: ldloc.3 - IL_0014: ldc.i4.1 - IL_0015: add - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: ldloc.2 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: bne.un.s IL_000e - - IL_001d: ldloc.1 - IL_001e: ldloc.0 - IL_001f: stfld int32 Experiment.Test/Repro::hash@ - IL_0024: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype Experiment.Test/Repro& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld int32 Experiment.Test/Repro::hash@ - IL_0009: ldloc.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ceq - IL_0011: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - .property instance int32 hash() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) - .get instance int32 Experiment.Test/Repro::get_hash() - } - } - - .method public static int32 test() cil managed - { - - .maxstack 3 - .locals init (valuetype Experiment.Test/Repro V_0) - IL_0000: ldc.i4.s 42 - IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) - IL_0007: stloc.0 - IL_0008: ldloca.s V_0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ret - } - -} - -.class private abstract auto ansi sealed '.$Experiment'.Test - extends [runtime]System.Object -{ - .method public static void main@() cil managed - { - .entrypoint - - .maxstack 8 - IL_0000: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs deleted file mode 100644 index 83fdc826755..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs +++ /dev/null @@ -1,18 +0,0 @@ -// regression test for 767815: Invalid code is generated when using field initializers in struct constructor - -module Experiment.Test - -[] -type Repro = - val hash : int - new(length) = - { hash = - let mutable h = 0 - for i=0 to length-1 do - h <- 26*h - h - } - -let test() = - let t = Repro(42) - t.hash \ No newline at end of file diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl deleted file mode 100644 index cfb6b75a0bd..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.debug.bsl +++ /dev/null @@ -1,402 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern netstandard -{ - .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) - .ver 2:0:0:0 -} -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.dll - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Experiment.Test - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public Repro - extends [netstandard]System.ValueType - implements class [netstandard]System.IEquatable`1, - [netstandard]System.Collections.IStructuralEquatable, - class [netstandard]System.IComparable`1, - [netstandard]System.IComparable, - [netstandard]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field assembly int32 hash@ - .method public hidebysig specialname - instance int32 get_hash() cil managed - { - .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 Experiment.Test/Repro::hash@ - IL_0006: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro& V_0, - class [netstandard]System.Collections.IComparer V_1, - int32 V_2, - int32 V_3, - class [netstandard]System.Collections.IComparer V_4, - int32 V_5, - int32 V_6) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [netstandard]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: stloc.2 - IL_0010: ldloc.0 - IL_0011: ldfld int32 Experiment.Test/Repro::hash@ - IL_0016: stloc.3 - IL_0017: ldloc.1 - IL_0018: stloc.s V_4 - IL_001a: ldloc.2 - IL_001b: stloc.s V_5 - IL_001d: ldloc.3 - IL_001e: stloc.s V_6 - IL_0020: ldloc.s V_5 - IL_0022: ldloc.s V_6 - IL_0024: cgt - IL_0026: ldloc.s V_5 - IL_0028: ldloc.s V_6 - IL_002a: clt - IL_002c: sub - IL_002d: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Experiment.Test/Repro - IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [netstandard]System.Collections.IComparer comp) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro V_0, - valuetype Experiment.Test/Repro& V_1, - class [netstandard]System.Collections.IComparer V_2, - int32 V_3, - int32 V_4, - class [netstandard]System.Collections.IComparer V_5, - int32 V_6, - int32 V_7) - IL_0000: ldarg.1 - IL_0001: unbox.any Experiment.Test/Repro - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld int32 Experiment.Test/Repro::hash@ - IL_0012: stloc.3 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Experiment.Test/Repro::hash@ - IL_0019: stloc.s V_4 - IL_001b: ldloc.2 - IL_001c: stloc.s V_5 - IL_001e: ldloc.3 - IL_001f: stloc.s V_6 - IL_0021: ldloc.s V_4 - IL_0023: stloc.s V_7 - IL_0025: ldloc.s V_6 - IL_0027: ldloc.s V_7 - IL_0029: cgt - IL_002b: ldloc.s V_6 - IL_002d: ldloc.s V_7 - IL_002f: clt - IL_0031: sub - IL_0032: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [netstandard]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class [netstandard]System.Collections.IEqualityComparer V_1, - int32 V_2, - class [netstandard]System.Collections.IEqualityComparer V_3) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: stloc.2 - IL_0010: ldloc.1 - IL_0011: stloc.3 - IL_0012: ldloc.2 - IL_0013: ldloc.0 - IL_0014: ldc.i4.6 - IL_0015: shl - IL_0016: ldloc.0 - IL_0017: ldc.i4.2 - IL_0018: shr - IL_0019: add - IL_001a: add - IL_001b: add - IL_001c: stloc.0 - IL_001d: ldloc.0 - IL_001e: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [netstandard]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [netstandard]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [netstandard]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1, - valuetype Experiment.Test/Repro& V_2, - class [netstandard]System.Collections.IEqualityComparer V_3, - int32 V_4, - int32 V_5, - class [netstandard]System.Collections.IEqualityComparer V_6) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0033 - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld int32 Experiment.Test/Repro::hash@ - IL_001f: stloc.s V_4 - IL_0021: ldloc.2 - IL_0022: ldfld int32 Experiment.Test/Repro::hash@ - IL_0027: stloc.s V_5 - IL_0029: ldloc.3 - IL_002a: stloc.s V_6 - IL_002c: ldloc.s V_4 - IL_002e: ldloc.s V_5 - IL_0030: ceq - IL_0032: ret - - IL_0033: ldc.i4.0 - IL_0034: ret - } - - .method public specialname rtspecialname - instance void .ctor(int32 length) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - valuetype Experiment.Test/Repro& V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.0 - IL_0002: stloc.0 - IL_0003: stloc.1 - IL_0004: ldc.i4.0 - IL_0005: stloc.3 - IL_0006: ldarg.1 - IL_0007: ldc.i4.1 - IL_0008: sub - IL_0009: stloc.2 - IL_000a: ldloc.2 - IL_000b: ldloc.3 - IL_000c: blt.s IL_001d - - IL_000e: ldc.i4.s 26 - IL_0010: ldloc.0 - IL_0011: mul - IL_0012: stloc.0 - IL_0013: ldloc.3 - IL_0014: ldc.i4.1 - IL_0015: add - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: ldloc.2 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: bne.un.s IL_000e - - IL_001d: ldloc.1 - IL_001e: ldloc.0 - IL_001f: stfld int32 Experiment.Test/Repro::hash@ - IL_0024: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype Experiment.Test/Repro& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld int32 Experiment.Test/Repro::hash@ - IL_0009: ldloc.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ceq - IL_0011: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - .property instance int32 hash() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) - .get instance int32 Experiment.Test/Repro::get_hash() - } - } - - .method public static int32 test() cil managed - { - - .maxstack 3 - .locals init (valuetype Experiment.Test/Repro V_0) - IL_0000: ldc.i4.s 42 - IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) - IL_0007: stloc.0 - IL_0008: ldloca.s V_0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ret - } - -} - -.class private abstract auto ansi sealed '.$Experiment'.Test - extends [runtime]System.Object -{ -} - -.class private auto ansi beforefieldinit System.Runtime.CompilerServices.IsReadOnlyAttribute - extends [runtime]System.Attribute -{ - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Attribute::.ctor() - IL_0006: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl deleted file mode 100644 index b050aa6db4e..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Structs02_asNetStandard20.fs.il.release.bsl +++ /dev/null @@ -1,369 +0,0 @@ - - - - - -.assembly extern runtime { } -.assembly extern netstandard -{ - .publickeytoken = (CC 7B 13 FF CD 2D DD 51 ) - .ver 2:0:0:0 -} -.assembly extern FSharp.Core { } -.assembly assembly -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, - int32, - int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) - - - - - .hash algorithm 0x00008004 - .ver 0:0:0:0 -} -.mresource public FSharpSignatureData.assembly -{ - - -} -.mresource public FSharpOptimizationData.assembly -{ - - -} -.module assembly.dll - -.imagebase {value} -.file alignment 0x00000200 -.stackreserve 0x00100000 -.subsystem 0x0003 -.corflags 0x00000001 - - - - - -.class public abstract auto ansi sealed Experiment.Test - extends [runtime]System.Object -{ - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) - .class sequential ansi serializable sealed nested public Repro - extends [netstandard]System.ValueType - implements class [netstandard]System.IEquatable`1, - [netstandard]System.Collections.IStructuralEquatable, - class [netstandard]System.IComparable`1, - [netstandard]System.IComparable, - [netstandard]System.Collections.IStructuralComparable - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) - .field assembly int32 hash@ - .method public hidebysig specialname - instance int32 get_hash() cil managed - { - .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldfld int32 Experiment.Test/Repro::hash@ - IL_0006: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro& V_0, - class [netstandard]System.Collections.IComparer V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: call class [netstandard]System.Collections.IComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericComparer() - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: stloc.2 - IL_0010: ldloc.0 - IL_0011: ldfld int32 Experiment.Test/Repro::hash@ - IL_0016: stloc.3 - IL_0017: ldloc.2 - IL_0018: ldloc.3 - IL_0019: cgt - IL_001b: ldloc.2 - IL_001c: ldloc.3 - IL_001d: clt - IL_001f: sub - IL_0020: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: ldarg.1 - IL_0002: unbox.any Experiment.Test/Repro - IL_0007: call instance int32 Experiment.Test/Repro::CompareTo(valuetype Experiment.Test/Repro) - IL_000c: ret - } - - .method public hidebysig virtual final - instance int32 CompareTo(object obj, - class [netstandard]System.Collections.IComparer comp) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 5 - .locals init (valuetype Experiment.Test/Repro V_0, - valuetype Experiment.Test/Repro& V_1, - class [netstandard]System.Collections.IComparer V_2, - int32 V_3, - int32 V_4) - IL_0000: ldarg.1 - IL_0001: unbox.any Experiment.Test/Repro - IL_0006: stloc.0 - IL_0007: ldloca.s V_0 - IL_0009: stloc.1 - IL_000a: ldarg.2 - IL_000b: stloc.2 - IL_000c: ldarg.0 - IL_000d: ldfld int32 Experiment.Test/Repro::hash@ - IL_0012: stloc.3 - IL_0013: ldloc.1 - IL_0014: ldfld int32 Experiment.Test/Repro::hash@ - IL_0019: stloc.s V_4 - IL_001b: ldloc.3 - IL_001c: ldloc.s V_4 - IL_001e: cgt - IL_0020: ldloc.3 - IL_0021: ldloc.s V_4 - IL_0023: clt - IL_0025: sub - IL_0026: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode(class [netstandard]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 7 - .locals init (int32 V_0, - class [netstandard]System.Collections.IEqualityComparer V_1) - IL_0000: ldc.i4.0 - IL_0001: stloc.0 - IL_0002: ldc.i4 0x9e3779b9 - IL_0007: ldarg.1 - IL_0008: stloc.1 - IL_0009: ldarg.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ldloc.0 - IL_0010: ldc.i4.6 - IL_0011: shl - IL_0012: ldloc.0 - IL_0013: ldc.i4.2 - IL_0014: shr - IL_0015: add - IL_0016: add - IL_0017: add - IL_0018: stloc.0 - IL_0019: ldloc.0 - IL_001a: ret - } - - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call class [netstandard]System.Collections.IEqualityComparer [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives::get_GenericEqualityComparer() - IL_0006: call instance int32 Experiment.Test/Repro::GetHashCode(class [netstandard]System.Collections.IEqualityComparer) - IL_000b: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj, - class [netstandard]System.Collections.IEqualityComparer comp) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1, - valuetype Experiment.Test/Repro& V_2, - class [netstandard]System.Collections.IEqualityComparer V_3) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_0028 - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldloca.s V_1 - IL_0016: stloc.2 - IL_0017: ldarg.2 - IL_0018: stloc.3 - IL_0019: ldarg.0 - IL_001a: ldfld int32 Experiment.Test/Repro::hash@ - IL_001f: ldloc.2 - IL_0020: ldfld int32 Experiment.Test/Repro::hash@ - IL_0025: ceq - IL_0027: ret - - IL_0028: ldc.i4.0 - IL_0029: ret - } - - .method public specialname rtspecialname - instance void .ctor(int32 length) cil managed - { - - .maxstack 5 - .locals init (int32 V_0, - valuetype Experiment.Test/Repro& V_1, - int32 V_2, - int32 V_3) - IL_0000: ldarg.0 - IL_0001: ldc.i4.0 - IL_0002: stloc.0 - IL_0003: stloc.1 - IL_0004: ldc.i4.0 - IL_0005: stloc.3 - IL_0006: ldarg.1 - IL_0007: ldc.i4.1 - IL_0008: sub - IL_0009: stloc.2 - IL_000a: ldloc.2 - IL_000b: ldloc.3 - IL_000c: blt.s IL_001d - - IL_000e: ldc.i4.s 26 - IL_0010: ldloc.0 - IL_0011: mul - IL_0012: stloc.0 - IL_0013: ldloc.3 - IL_0014: ldc.i4.1 - IL_0015: add - IL_0016: stloc.3 - IL_0017: ldloc.3 - IL_0018: ldloc.2 - IL_0019: ldc.i4.1 - IL_001a: add - IL_001b: bne.un.s IL_000e - - IL_001d: ldloc.1 - IL_001e: ldloc.0 - IL_001f: stfld int32 Experiment.Test/Repro::hash@ - IL_0024: ret - } - - .method public hidebysig virtual final - instance bool Equals(valuetype Experiment.Test/Repro obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (valuetype Experiment.Test/Repro& V_0) - IL_0000: ldarga.s obj - IL_0002: stloc.0 - IL_0003: ldarg.0 - IL_0004: ldfld int32 Experiment.Test/Repro::hash@ - IL_0009: ldloc.0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ceq - IL_0011: ret - } - - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 4 - .locals init (object V_0, - valuetype Experiment.Test/Repro V_1) - IL_0000: ldarg.1 - IL_0001: stloc.0 - IL_0002: ldloc.0 - IL_0003: isinst Experiment.Test/Repro - IL_0008: ldnull - IL_0009: cgt.un - IL_000b: brfalse.s IL_001c - - IL_000d: ldarg.1 - IL_000e: unbox.any Experiment.Test/Repro - IL_0013: stloc.1 - IL_0014: ldarg.0 - IL_0015: ldloc.1 - IL_0016: call instance bool Experiment.Test/Repro::Equals(valuetype Experiment.Test/Repro) - IL_001b: ret - - IL_001c: ldc.i4.0 - IL_001d: ret - } - - .property instance int32 hash() - { - .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags, - int32) = ( 01 00 04 00 00 00 00 00 00 00 00 00 ) - .get instance int32 Experiment.Test/Repro::get_hash() - } - } - - .method public static int32 test() cil managed - { - - .maxstack 3 - .locals init (valuetype Experiment.Test/Repro V_0) - IL_0000: ldc.i4.s 42 - IL_0002: newobj instance void Experiment.Test/Repro::.ctor(int32) - IL_0007: stloc.0 - IL_0008: ldloca.s V_0 - IL_000a: ldfld int32 Experiment.Test/Repro::hash@ - IL_000f: ret - } - -} - -.class private abstract auto ansi sealed '.$Experiment'.Test - extends [runtime]System.Object -{ -} - -.class private auto ansi beforefieldinit System.Runtime.CompilerServices.IsReadOnlyAttribute - extends [runtime]System.Attribute -{ - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor() cil managed - { - .custom instance void [netstandard]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [netstandard]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - - .maxstack 8 - IL_0000: ldarg.0 - IL_0001: call instance void [runtime]System.Attribute::.ctor() - IL_0006: ret - } - -} - - - - - - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs deleted file mode 100644 index 352cec74bfb..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs +++ /dev/null @@ -1,24 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL -// Regression test for FSHARP1.0:4560 -// Handling of structs as array elements -// For functional tests, see fsharp\core\array -module StructsAsArrayElements01 -[] -type T = - val mutable public i : int - member public this.Set i = this.i <- i - -let a = Array.create 10 Unchecked.defaultof -a.[0].Set 27 - -// This is the incorrect code that used to be generated -// -// L_0000: call valuetype Mmm/T[] Mmm::get_a() -// L_0005: ldc.i4.0 -// L_0006: ldelem.any Mmm/T -// L_000b: stloc.0 -// L_000c: ldloca.s t -// L_000e: ldfld int32 Mmm/T::i@ -// L_0013: ret -// -//Expected: no locals (no stloc.0/ldloca.s t between ldelem and ldfld) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs deleted file mode 100644 index 53c4fe04035..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs +++ /dev/null @@ -1,7 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL -// Verify that the deprecated command line option "--no-generate-filter-blocks" is honored -try - () - with - | e when e.GetHashCode() = 0 -> () - | _ -> () diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOff.il.bsl similarity index 93% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOff.il.bsl index 4d71070d0bb..1a0a6d79b96 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/Seq_for_all01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOff.il.bsl @@ -47,8 +47,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field static assembly initonly class assembly/q@4 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -59,8 +58,7 @@ IL_0006: ret } - .method public strict virtual instance bool - Invoke(int32 s) cil managed + .method public strict virtual instance bool Invoke(int32 s) cil managed { .maxstack 8 @@ -80,8 +78,7 @@ IL_000e: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 10 @@ -92,8 +89,7 @@ } - .method public specialname static bool - get_q() cil managed + .method public specialname static bool get_q() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl similarity index 82% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl index 4d71070d0bb..7baa5368107 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Seq_for_all01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl @@ -47,8 +47,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field static assembly initonly class assembly/q@4 @_instance - .method assembly specialname rtspecialname - instance void .ctor() cil managed + .method assembly specialname rtspecialname instance void .ctor() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -59,8 +58,7 @@ IL_0006: ret } - .method public strict virtual instance bool - Invoke(int32 s) cil managed + .method public strict virtual instance bool Invoke(int32 s) cil managed { .maxstack 8 @@ -80,8 +78,7 @@ IL_000e: ret } - .method private specialname rtspecialname static - void .cctor() cil managed + .method private specialname rtspecialname static void .cctor() cil managed { .maxstack 10 @@ -92,15 +89,42 @@ } - .method public specialname static bool - get_q() cil managed + .field static assembly bool q@4 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static bool get_q() cil managed { .maxstack 8 - IL_0000: ldsfld bool ''.$assembly::q@4 + IL_0000: ldsfld bool assembly::q@4 IL_0005: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/q@4 assembly/q@4::@_instance + IL_0005: ldc.i4.1 + IL_0006: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() + IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, + class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) + IL_0010: call bool [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ForAll(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0015: stsfld bool assembly::q@4 + IL_001a: ret + } + .property bool q() { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) @@ -111,8 +135,6 @@ .class private abstract auto ansi sealed ''.$assembly extends [runtime]System.Object { - .field static assembly bool q@4 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly int32 init@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -121,19 +143,9 @@ { .entrypoint - .maxstack 5 - .locals init (bool V_0) - IL_0000: ldsfld class assembly/q@4 assembly/q@4::@_instance - IL_0005: ldc.i4.1 - IL_0006: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::get_Empty() - IL_000b: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1::Cons(!0, - class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1) - IL_0010: call bool [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ForAll(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, - class [runtime]System.Collections.Generic.IEnumerable`1) - IL_0015: dup - IL_0016: stsfld bool ''.$assembly::q@4 - IL_001b: stloc.0 - IL_001c: ret + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs01.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs01.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/Structs02_asNetStandard20.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Structs02_asNetStandard20.fs.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOff.il.debug.bsl similarity index 92% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOff.il.debug.bsl index fa9da73a37c..e7c07552242 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOff.il.debug.bsl @@ -54,8 +54,7 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field public int32 i - .method public hidebysig virtual final - instance int32 CompareTo(valuetype assembly/T obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(valuetype assembly/T obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -93,8 +92,7 @@ IL_002d: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -150,8 +148,7 @@ IL_0032: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -185,8 +182,7 @@ IL_001e: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -243,8 +239,7 @@ IL_0034: ret } - .method public hidebysig instance void - Set(int32 i) cil managed + .method public hidebysig instance void Set(int32 i) cil managed { .maxstack 8 @@ -254,8 +249,7 @@ IL_0007: ret } - .method public hidebysig virtual final - instance bool Equals(valuetype assembly/T obj) cil managed + .method public hidebysig virtual final instance bool Equals(valuetype assembly/T obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -271,8 +265,7 @@ IL_0011: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -301,8 +294,7 @@ } - .method public specialname static valuetype assembly/T[] - get_a() cil managed + .method public specialname static valuetype assembly/T[] get_a() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl similarity index 86% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl index fa9da73a37c..a695e1d5a87 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/StructsAsArrayElements01.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl @@ -54,8 +54,7 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field public int32 i - .method public hidebysig virtual final - instance int32 CompareTo(valuetype assembly/T obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(valuetype assembly/T obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -93,8 +92,7 @@ IL_002d: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -150,8 +148,7 @@ IL_0032: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -185,8 +182,7 @@ IL_001e: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -243,8 +239,7 @@ IL_0034: ret } - .method public hidebysig instance void - Set(int32 i) cil managed + .method public hidebysig instance void Set(int32 i) cil managed { .maxstack 8 @@ -254,8 +249,7 @@ IL_0007: ret } - .method public hidebysig virtual final - instance bool Equals(valuetype assembly/T obj) cil managed + .method public hidebysig virtual final instance bool Equals(valuetype assembly/T obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -271,8 +265,7 @@ IL_0011: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -301,15 +294,46 @@ } - .method public specialname static valuetype assembly/T[] - get_a() cil managed + .field static assembly valuetype assembly/T[] a@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static valuetype assembly/T[] get_a() cil managed { .maxstack 8 - IL_0000: ldsfld valuetype assembly/T[] ''.$assembly::a@11 + IL_0000: ldsfld valuetype assembly/T[] assembly::a@11 IL_0005: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (valuetype assembly/T V_0) + IL_0000: ldc.i4.s 10 + IL_0002: ldloc.0 + IL_0003: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0008: stsfld valuetype assembly/T[] assembly::a@11 + IL_000d: call valuetype assembly/T[] assembly::get_a() + IL_0012: ldc.i4.0 + IL_0013: ldelema assembly/T + IL_0018: ldc.i4.s 27 + IL_001a: call instance void assembly/T::Set(int32) + IL_001f: nop + IL_0020: ret + } + .property valuetype assembly/T[] a() { @@ -321,8 +345,6 @@ .class private abstract auto ansi sealed ''.$assembly extends [runtime]System.Object { - .field static assembly valuetype assembly/T[] a@11 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly int32 init@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -331,23 +353,9 @@ { .entrypoint - .maxstack 4 - .locals init (valuetype assembly/T[] V_0, - valuetype assembly/T V_1) - IL_0000: ldc.i4.s 10 - IL_0002: ldloc.1 - IL_0003: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, - !!0) - IL_0008: dup - IL_0009: stsfld valuetype assembly/T[] ''.$assembly::a@11 - IL_000e: stloc.0 - IL_000f: call valuetype assembly/T[] assembly::get_a() - IL_0014: ldc.i4.0 - IL_0015: ldelema assembly/T - IL_001a: ldc.i4.s 27 - IL_001c: call instance void assembly/T::Set(int32) - IL_0021: nop - IL_0022: ret + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl similarity index 84% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl index 1d44ece6f6a..551687ba324 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/StructsAsArrayElements01.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl @@ -54,8 +54,7 @@ .custom instance void [FSharp.Core]Microsoft.FSharp.Core.StructAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) .field public int32 i - .method public hidebysig virtual final - instance int32 CompareTo(valuetype assembly/T obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(valuetype assembly/T obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -84,8 +83,7 @@ IL_0020: ret } - .method public hidebysig virtual final - instance int32 CompareTo(object obj) cil managed + .method public hidebysig virtual final instance int32 CompareTo(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -132,8 +130,7 @@ IL_0026: ret } - .method public hidebysig virtual final - instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed + .method public hidebysig virtual final instance int32 GetHashCode(class [runtime]System.Collections.IEqualityComparer comp) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -161,8 +158,7 @@ IL_001a: ret } - .method public hidebysig virtual final - instance int32 GetHashCode() cil managed + .method public hidebysig virtual final instance int32 GetHashCode() cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -210,8 +206,7 @@ IL_0029: ret } - .method public hidebysig instance void - Set(int32 i) cil managed + .method public hidebysig instance void Set(int32 i) cil managed { .maxstack 8 @@ -221,8 +216,7 @@ IL_0007: ret } - .method public hidebysig virtual final - instance bool Equals(valuetype assembly/T obj) cil managed + .method public hidebysig virtual final instance bool Equals(valuetype assembly/T obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -238,8 +232,7 @@ IL_0011: ret } - .method public hidebysig virtual final - instance bool Equals(object obj) cil managed + .method public hidebysig virtual final instance bool Equals(object obj) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -268,15 +261,46 @@ } - .method public specialname static valuetype assembly/T[] - get_a() cil managed + .field static assembly valuetype assembly/T[] a@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static valuetype assembly/T[] get_a() cil managed { .maxstack 8 - IL_0000: ldsfld valuetype assembly/T[] ''.$assembly::a@11 + IL_0000: ldsfld valuetype assembly/T[] assembly::a@11 IL_0005: ret } + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (valuetype assembly/T V_0) + IL_0000: ldc.i4.s 10 + IL_0002: ldloc.0 + IL_0003: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, + !!0) + IL_0008: stsfld valuetype assembly/T[] assembly::a@11 + IL_000d: call valuetype assembly/T[] assembly::get_a() + IL_0012: ldc.i4.0 + IL_0013: ldelema assembly/T + IL_0018: ldc.i4.s 27 + IL_001a: call instance void assembly/T::Set(int32) + IL_001f: nop + IL_0020: ret + } + .property valuetype assembly/T[] a() { @@ -288,8 +312,6 @@ .class private abstract auto ansi sealed ''.$assembly extends [runtime]System.Object { - .field static assembly valuetype assembly/T[] a@11 - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .field static assembly int32 init@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) @@ -298,23 +320,9 @@ { .entrypoint - .maxstack 4 - .locals init (valuetype assembly/T[] V_0, - valuetype assembly/T V_1) - IL_0000: ldc.i4.s 10 - IL_0002: ldloc.1 - IL_0003: call !!0[] [FSharp.Core]Microsoft.FSharp.Collections.ArrayModule::Create(int32, - !!0) - IL_0008: dup - IL_0009: stsfld valuetype assembly/T[] ''.$assembly::a@11 - IL_000e: stloc.0 - IL_000f: call valuetype assembly/T[] assembly::get_a() - IL_0014: ldc.i4.0 - IL_0015: ldelema assembly/T - IL_001a: ldc.i4.s 27 - IL_001c: call instance void assembly/T::Set(int32) - IL_0021: nop - IL_0022: ret + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret } } diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOff/TryWith_NoFilterBlocks01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl similarity index 83% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl index e695b29f64a..6c584a5191a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/RealInternalSignatureOn/TryWith_NoFilterBlocks01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl @@ -43,18 +43,19 @@ extends [runtime]System.Object { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) -} + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } -.class private abstract auto ansi sealed ''.$assembly - extends [runtime]System.Object -{ - .field static assembly int32 init@ - .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) - .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) - .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method public static void main@() cil managed + .method assembly static void staticInitialization@() cil managed { - .entrypoint .maxstack 4 .locals init (class [runtime]System.Exception V_0, @@ -90,6 +91,24 @@ } +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs index ff590c10dae..a55402bc1b7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index 390e7568ff6..a9f214c2f0a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -498,7 +498,6 @@ module rec MyModule = let main args = test "one.Value 1" one.Value 1 test "one.Next.Value 2" one.Next.Value 2 - test "one.Next.Value 2" one.Next.Value 1 test "(M.X()).Value 1" (M.X()).Value 1 test "(M.X()).Next.Value 2" (M.X()).Next.Value 2 test "(M.X()).Next.Next.Value 1" (M.X()).Next.Next.Value 1 @@ -523,41 +522,6 @@ module rec MyModule = "test:two.Next.Next.Value 2 '2' '2' succeeded" ] -// [] // RealSig, release -// [] // Regular, release -// [] // RealSig, debug -// [] // Regular, debug -// [] -// let ``recursive types in module`` (realSig, release) = -// FSharp $$""" -//module rec MyModule = -// type Node = { Next: Node; Value: int } - -// let one = { Next = two; Value = 1 } - -// // An intervening type declaration -// type M() = static member X() = one - -// let two = { Next = one; Value = 2 } - -// printfn $"test:one.Next.Value 2: '{one.Next.Value}' '{2}'" -// """ -// |> withFlavor release -// |> withLangVersionPreview -// |> withRealInternalSignature realSig -// |> compileExeAndRun -// |> shouldSucceed -// |> withStdOutContainsAllInOrder [ -// "test:one.Next.Value 2: '2' '2'" -// //"test:one.Next.Value 2 '2' '1' failed" -// //"test:(M.X()).Value 1 '1' '1' succeeded" -// //"test:(M.X()).Next.Value 2 '2' '2' succeeded" -// //"test:(M.X()).Next.Next.Value 1 '1' '1' succeeded" -// //"test:two.Value 2 '2' '2' succeeded" -// //"test:two.Next.Value 1 '1' '1' succeeded" -// //"test:two.Next.Next.Value 2 '2' '2' succeeded" -// ] - [] // RealSig [] // Regular [] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs index 6d8d2f0a5af..50f93546ea0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs index 3a801ed3dce..b112e67bcf4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs index 2f9a1277528..950b48bd36b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs index e72af2b7caf..0aefc942291 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs index a6b967742fe..a893a3c4a60 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs @@ -1,4 +1,4 @@ -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index aa34205b258..9b5748164b0 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -165,8 +165,7 @@ - - + From 8cbdd24e9bce57c3ffd0d8652edf6ebc84731451 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 23 Jan 2024 17:46:33 -0800 Subject: [PATCH 20/58] AttributeTargets --- .../AttributeTargets/AttributeTargets.fs | 54 ++++++++ .../{RealInternalSignatureOff => }/Default.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...t.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../{RealInternalSignatureOff => }/Field.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...d.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...fs.RealInternalSignatureOn.il.release.bsl} | 0 .../Property.fs | 0 ....fs.RealInternalSignatureOff.il.debug.bsl} | 0 ...s.RealInternalSignatureOff.il.release.bsl} | 0 ...roperty.fs.RealInternalSignatureOn.il.bsl} | 0 ...y.fs.RealInternalSignatureOn.il.debug.bsl} | 0 ...y.fs.RealInternalSignatureOnil.release.bsl | 128 ++++++++++++++++++ .../AttributeTargets.fs | 31 ----- .../AttributeTargets.fs | 31 ----- .../RealInternalSignatureOn/Default.fs | 12 -- .../RealInternalSignatureOn/Field.fs | 12 -- .../RealInternalSignatureOn/Property.fs | 13 -- .../FSharp.Compiler.ComponentTests.fsproj | 3 +- 23 files changed, 183 insertions(+), 101 deletions(-) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff => }/Default.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff/Default.fs.il.debug.bsl => Default.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff/Default.fs.il.release.bsl => Default.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOn/Default.fs.il.debug.bsl => Default.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOn/Default.fs.il.release.bsl => Default.fs.RealInternalSignatureOn.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff => }/Field.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff/Field.fs.il.debug.bsl => Field.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff/Field.fs.il.release.bsl => Field.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOn/Field.fs.il.debug.bsl => Field.fs.RealInternalSignatureOn.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOn/Field.fs.il.release.bsl => Field.fs.RealInternalSignatureOn.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff => }/Property.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff/Property.fs.il.debug.bsl => Property.fs.RealInternalSignatureOff.il.debug.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOff/Property.fs.il.release.bsl => Property.fs.RealInternalSignatureOff.il.release.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOn/Property.fs.il.debug.bsl => Property.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/{RealInternalSignatureOn/Property.fs.il.release.bsl => Property.fs.RealInternalSignatureOn.il.debug.bsl} (100%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOnil.release.bsl delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/AttributeTargets.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs new file mode 100644 index 00000000000..7b2fccb071f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs @@ -0,0 +1,54 @@ +namespace EmittedIL + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module AttributeTargets = + + let verifyCompilation compilation = + compilation + |> asFs + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> verifyBaseline + |> verifyILBaseline + + [] + let ``Default_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``Default_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + [] + let ``Field_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``Field_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + [] + let ``Property_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + [] + let ``Property_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Default.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Field.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOff.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOff.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOff.il.release.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/Property.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOff.il.release.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.debug.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.debug.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs.il.release.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.debug.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOnil.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOnil.release.bsl new file mode 100644 index 00000000000..f4a6cfcd6df --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOnil.release.bsl @@ -0,0 +1,128 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed M + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public ExportAttribute + extends [runtime]System.Attribute + { + .custom instance void [runtime]System.AttributeUsageAttribute::.ctor(valuetype [runtime]System.AttributeTargets) = ( 01 00 80 01 00 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Attribute::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } + + .field static assembly int32 T@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static int32 get_T() cil managed + { + + .maxstack 8 + IL_0000: ldsfld int32 M::T@12 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$M::init@ + IL_0006: ldsfld int32 ''.$M::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldc.i4.1 + IL_0012: stsfld int32 M::T@12 + IL_0017: ret + } + + .property int32 T() + { + .custom instance void M/ExportAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get int32 M::get_T() + } +} + +.class private abstract auto ansi sealed ''.$M + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void M::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs deleted file mode 100644 index d7debbebfb2..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOff/AttributeTargets.fs +++ /dev/null @@ -1,31 +0,0 @@ -namespace EmittedIL - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module AttributeTargetsRealInternalSignatureOff = - - let verifyCompilation compilation = - compilation - |> asFs - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> ignoreWarnings - |> withRealInternalSignatureOff - |> verifyBaseline - |> verifyILBaseline - - [] - let ``Default_fs`` compilation = - verifyCompilation compilation - - [] - let ``Field_fs`` compilation = - verifyCompilation compilation - - [] - let ``Property_fs`` compilation = - verifyCompilation compilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/AttributeTargets.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/AttributeTargets.fs deleted file mode 100644 index 072721b0f1c..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/AttributeTargets.fs +++ /dev/null @@ -1,31 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module AttributeTargetsRealInternalSignatureOn = - - let verifyCompilation compilation = - compilation - |> asFs - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> ignoreWarnings - |> withRealInternalSignatureOn - |> verifyBaseline - |> verifyILBaseline - - [] - let ``Default_fs`` compilation = - verifyCompilation compilation - - [] - let ``Field_fs`` compilation = - verifyCompilation compilation - - [] - let ``Property_fs`` compilation = - verifyCompilation compilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs deleted file mode 100644 index a7e1ea97195..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Default.fs +++ /dev/null @@ -1,12 +0,0 @@ -// Regression test for DevDiv:339250 ("[Attribute] Duplicate of attributes on module fields (backing field of a property) even when the 'property' qualified is specified") -// In this case, we expect the attribute 'Export' do be on both the Property and the backing field - -module M -open System - -[] -type ExportAttribute() = - inherit Attribute() - -[< Export >] -let T = (printfn "hello"; 1) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs deleted file mode 100644 index 476d55c2e49..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Field.fs +++ /dev/null @@ -1,12 +0,0 @@ -// Regression test for DevDiv:339250 ("[Attribute] Duplicate of attributes on module fields (backing field of a property) even when the 'property' qualified is specified") -// In this case, we expect the attribute 'Export' do be only on the backing field of the Property 'T' - -module M -open System - -[] -type ExportAttribute() = - inherit Attribute() - -[< field: Export >] -let T = (printfn "hello"; 1) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs deleted file mode 100644 index c372953c12c..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/RealInternalSignatureOn/Property.fs +++ /dev/null @@ -1,13 +0,0 @@ -// Regression test for DevDiv:339250 ("[Attribute] Duplicate of attributes on module fields (backing field of a property) even when the 'property' qualified is specified") -// In this case, we expect the attribute 'Export' do be only generate Property 'T' and NOT on its backing field - -module M -open System - -[] -type ExportAttribute() = - inherit Attribute() - -[< property: Export >] -let T = (printfn "hello"; 1) - diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 9b5748164b0..af19c59d8e1 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -148,8 +148,7 @@ - - + From 51491fa9acd9dd0971f523980eefe20f2ee6a90d Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 23 Jan 2024 19:11:10 -0800 Subject: [PATCH 21/58] CCtorDUWithMember ListExpressionStepping --- .../CCtorDUWithMember/CCtorDUWithMember.fs | 82 +++++++ .../CCtorDUWithMember01.fs | 0 .../CCtorDUWithMember01a.fs | 0 ...fs.RealInternalSignatureOff.il.net472.bsl} | 0 ...s.RealInternalSignatureOff.il.netcore.bsl} | 0 ....fs.RealInternalSignatureOn.il.net472.bsl} | 0 ...fs.RealInternalSignatureOn.il.netcore.bsl} | 0 .../CCtorDUWithMember02.fs | 0 .../CCtorDUWithMember02a.fs | 0 ...ber02a.fs.RealInternalSignatureOff.il.bsl} | 0 ...mber02a.fs.RealInternalSignatureOn.il.bsl} | 0 .../CCtorDUWithMember03.fs | 0 .../CCtorDUWithMember03a.fs | 0 ...ber03a.fs.RealInternalSignatureOff.il.bsl} | 0 ...mber03a.fs.RealInternalSignatureOn.il.bsl} | 0 .../CCtorDUWithMember04.fs | 0 .../CCtorDUWithMember04a.fs | 0 ...ber04a.fs.RealInternalSignatureOff.il.bsl} | 0 ...mber04a.fs.RealInternalSignatureOn.il.bsl} | 0 .../CCtorDUWithMember.fs | 47 ---- .../CCtorDUWithMember.fs | 47 ---- .../CCtorDUWithMember01.fs | 0 .../CCtorDUWithMember01a.fs | 8 - .../CCtorDUWithMember02.fs | 0 .../CCtorDUWithMember02a.fs | 9 - .../CCtorDUWithMember03.fs | 0 .../CCtorDUWithMember03a.fs | 3 - .../CCtorDUWithMember04.fs | 3 - .../CCtorDUWithMember04a.fs | 3 - .../ListExpressionStepping.fs | 101 +++++++++ .../ListExpressionStepping01.fs | 0 ...ping01.fs.RealInternalSignatureOff.il.bsl} | 0 ...pping01.fs.RealInternalSignatureOn.il.bsl} | 0 .../ListExpressionStepping02.fs | 0 ...ping02.fs.RealInternalSignatureOff.il.bsl} | 0 ...pping02.fs.RealInternalSignatureOn.il.bsl} | 0 .../ListExpressionStepping03.fs | 0 ...ping03.fs.RealInternalSignatureOff.il.bsl} | 0 ...pping03.fs.RealInternalSignatureOn.il.bsl} | 0 .../ListExpressionStepping04.fs | 0 ...ping04.fs.RealInternalSignatureOff.il.bsl} | 0 ...pping04.fs.RealInternalSignatureOn.il.bsl} | 0 .../ListExpressionStepping05.fs | 0 ...ping05.fs.RealInternalSignatureOff.il.bsl} | 0 ...pping05.fs.RealInternalSignatureOn.il.bsl} | 0 .../ListExpressionStepping06.fs | 0 ...ping06.fs.RealInternalSignatureOff.il.bsl} | 0 ...pping06.fs.RealInternalSignatureOn.il.bsl} | 0 .../ListExpressionStepping.fs | 54 ----- .../ListExpressionStepping.fs | 54 ----- .../ListExpressionStepping01.fs | 8 - .../ListExpressionStepping02.fs | 30 --- .../ListExpressionStepping03.fs | 12 -- .../ListExpressionStepping04.fs | 14 -- .../ListExpressionStepping05.fs | 17 -- .../ListExpressionStepping06.fs | 14 -- .../ClassTypeInitialization.fs | 2 +- .../ClassTypeVisibilityModuleRoot.fs | 2 +- .../ClassTypeVisibilityModuleRootWithFsi.fs | 2 +- .../ClassTypeVisibilityNamespaceRoot.fs | 2 +- ...ClassTypeVisibilityNamespaceRootWithFsi.fs | 2 +- .../ModuleInitialization.fs | 2 +- .../FSharp.Compiler.ComponentTests.fsproj | 6 +- .../TypeChecks/PropertyShadowingTests.fs | 202 +++++++++--------- 64 files changed, 293 insertions(+), 433 deletions(-) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember01a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.net472.bsl => CCtorDUWithMember01a.fs.RealInternalSignatureOff.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.netcore.bsl => CCtorDUWithMember01a.fs.RealInternalSignatureOff.il.netcore.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.net472.bsl => CCtorDUWithMember01a.fs.RealInternalSignatureOn.il.net472.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.netcore.bsl => CCtorDUWithMember01a.fs.RealInternalSignatureOn.il.netcore.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember02a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff/CCtorDUWithMember02a.fs.il.bsl => CCtorDUWithMember02a.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOn/CCtorDUWithMember02a.fs.il.bsl => CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember03a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff/CCtorDUWithMember03a.fs.il.bsl => CCtorDUWithMember03a.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOn/CCtorDUWithMember03a.fs.il.bsl => CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff => }/CCtorDUWithMember04a.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOff/CCtorDUWithMember04a.fs.il.bsl => CCtorDUWithMember04a.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/{RealInternalSignatureOn/CCtorDUWithMember04a.fs.il.bsl => CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl} (100%) delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff => }/ListExpressionStepping01.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff/ListExpressionStepping01.fs.il.bsl => ListExpressionStepping01.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOn/ListExpressionStepping01.fs.il.bsl => ListExpressionStepping01.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff => }/ListExpressionStepping02.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff/ListExpressionStepping02.fs.il.bsl => ListExpressionStepping02.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOn/ListExpressionStepping02.fs.il.bsl => ListExpressionStepping02.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff => }/ListExpressionStepping03.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff/ListExpressionStepping03.fs.il.bsl => ListExpressionStepping03.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOn/ListExpressionStepping03.fs.il.bsl => ListExpressionStepping03.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff => }/ListExpressionStepping04.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff/ListExpressionStepping04.fs.il.bsl => ListExpressionStepping04.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOn/ListExpressionStepping04.fs.il.bsl => ListExpressionStepping04.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff => }/ListExpressionStepping05.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff/ListExpressionStepping05.fs.il.bsl => ListExpressionStepping05.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOn/ListExpressionStepping05.fs.il.bsl => ListExpressionStepping05.fs.RealInternalSignatureOn.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff => }/ListExpressionStepping06.fs (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOff/ListExpressionStepping06.fs.il.bsl => ListExpressionStepping06.fs.RealInternalSignatureOff.il.bsl} (100%) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/{RealInternalSignatureOn/ListExpressionStepping06.fs.il.bsl => ListExpressionStepping06.fs.RealInternalSignatureOn.il.bsl} (100%) delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs delete mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs new file mode 100644 index 00000000000..7c31a7db6cd --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs @@ -0,0 +1,82 @@ +namespace EmittedIL + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module CCtorDUWithMember = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> verifyBaseline + |> verifyILBaseline + + [] + let ``CCtorDUWithMember01a_RealInternalSignatureOn_fs`` compilation = + compilation + |> asFs + |> withRealInternalSignatureOn + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember01.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember01a_RealInternalSignatureOff_fs`` compilation = + compilation + |> asFs + |> withRealInternalSignatureOff + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember01.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember02a_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember02.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember02a_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember02.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember03a_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember03.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember03a_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember03.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember04a_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember04.fs")) + |> verifyCompilation + + [] + let ``CCtorDUWithMember04a_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> asFs + |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember04.fs")) + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOff.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOff.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOff.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember01a.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOff.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOn.il.net472.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.net472.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOn.il.net472.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOn.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs.il.netcore.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember01a.fs.RealInternalSignatureOn.il.netcore.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember02a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember03a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember04a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs deleted file mode 100644 index 5871f7641d7..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOff/CCtorDUWithMember.fs +++ /dev/null @@ -1,47 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module CCtorDUWithMemberRealInternalSignatureOff = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> ignoreWarnings - |> withRealInternalSignatureOff - |> verifyBaseline - |> verifyILBaseline - - [] - let ``CCtorDUWithMember01a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember01.fs")) - |> verifyCompilation - - [] - let ``CCtorDUWithMember02a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember02.fs")) - |> verifyCompilation - - [] - let ``CCtorDUWithMember03a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember03.fs")) - |> verifyCompilation - - [] - let ``CCtorDUWithMember04a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember04.fs")) - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember.fs deleted file mode 100644 index 744f4bc6492..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember.fs +++ /dev/null @@ -1,47 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module CCtorDUWithMemberRealInternalSignatureOn = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> ignoreWarnings - |> withRealInternalSignatureOn - |> verifyBaseline - |> verifyILBaseline - - [] - let ``CCtorDUWithMember01a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember01.fs")) - |> verifyCompilation - - [] - let ``CCtorDUWithMember02a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember02.fs")) - |> verifyCompilation - - [] - let ``CCtorDUWithMember03a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember03.fs")) - |> verifyCompilation - - [] - let ``CCtorDUWithMember04a_fs`` compilation = - compilation - |> asFs - |> withAdditionalSourceFile (SourceFromPath (__SOURCE_DIRECTORY__ ++ "CCtorDUWithMember04.fs")) - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01.fs deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs deleted file mode 100644 index 5e1a5a64006..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember01a.fs +++ /dev/null @@ -1,8 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Unions -module CCtorDUWithMember01a -type C = - | A - | B - member x.P = 1 - -let e2 = C.A diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02.fs deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs deleted file mode 100644 index 71e2df833cc..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember02a.fs +++ /dev/null @@ -1,9 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Unions -module CCtorDUWithMember02a -printfn "hello1" - -module M = - printfn "hello2" - let mutable x = ("1".Length) - -let y = (printfn "hello3"; M.x) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03.fs deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs deleted file mode 100644 index 20517cac94f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember03a.fs +++ /dev/null @@ -1,3 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Unions -module CCtorDUWithMember03a -let mutable x = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs deleted file mode 100644 index 41bce046054..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04.fs +++ /dev/null @@ -1,3 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Unions -module Program -printfn "File1.x = %A" CCtorDUWithMember04a.x diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs deleted file mode 100644 index 24dfbc8ca0f..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/RealInternalSignatureOn/CCtorDUWithMember04a.fs +++ /dev/null @@ -1,3 +0,0 @@ -// #NoMono #NoMT #CodeGen #EmittedIL #Unions -module CCtorDUWithMember04a -let x = 1 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs new file mode 100644 index 00000000000..346cffd487e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs @@ -0,0 +1,101 @@ +namespace EmittedIL + +open Xunit +open FSharp.Test +open FSharp.Test.Compiler + +module ListExpressionStepping = + + let verifyCompilation compilation = + compilation + |> withOptions [ "--test:EmitFeeFeeAs100001" ] + |> asExe + |> withNoOptimize + |> withEmbeddedPdb + |> withEmbedAllSource + |> ignoreWarnings + |> verifyILBaseline + + // SOURCE=ListExpressionSteppingTest1.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest1.exe" # ListExpressionSteppingTest1.fs - + [] + let ``ListExpressionStepping01_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest1.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest1.exe" # ListExpressionSteppingTest1.fs - + [] + let ``ListExpressionStepping01_RealInternalSignatureOn_Off`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest2.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest2.exe" # ListExpressionSteppingTest2.fs - + [] + let ``ListExpressionStepping02_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest2.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest2.exe" # ListExpressionSteppingTest2.fs - + [] + let ``ListExpressionStepping02_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest3.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest3.exe" # ListExpressionSteppingTest3.fs + [] + let ``ListExpressionStepping03_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest3.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest3.exe" # ListExpressionSteppingTest3.fs + [] + let ``ListExpressionStepping03_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest4.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest4.exe" # ListExpressionSteppingTest4.fs - + [] + let ``ListExpressionStepping04_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest4.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest4.exe" # ListExpressionSteppingTest4.fs - + [] + let ``ListExpressionStepping04_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest5.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest5.exe" # ListExpressionSteppingTest5.fs - + [] + let ``ListExpressionStepping05_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest5.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest5.exe" # ListExpressionSteppingTest5.fs - + [] + let ``ListExpressionStepping05_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest6.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest6.exe" # ListExpressionSteppingTest6.fs - + [] + let ``ListExpressionStepping06_RealInternalSignatureOn_fs`` compilation = + compilation + |> withRealInternalSignatureOn + |> verifyCompilation + + // SOURCE=ListExpressionSteppingTest6.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest6.exe" # ListExpressionSteppingTest6.fs - + [] + let ``ListExpressionStepping06_RealInternalSignatureOff_fs`` compilation = + compilation + |> withRealInternalSignatureOff + |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOff.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping06.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOff.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOn.il.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs deleted file mode 100644 index 71b748c8971..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOff/ListExpressionStepping.fs +++ /dev/null @@ -1,54 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module ListExpressionSteppingRealInternalSignatureOff = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOff - |> ignoreWarnings - |> verifyILBaseline - - // SOURCE=ListExpressionSteppingTest1.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest1.exe" # ListExpressionSteppingTest1.fs - - [] - let ``ListExpressionStepping01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest2.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest2.exe" # ListExpressionSteppingTest2.fs - - [] - let ``ListExpressionStepping02_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest3.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest3.exe" # ListExpressionSteppingTest3.fs - [] - let ``ListExpressionStepping03_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest4.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest4.exe" # ListExpressionSteppingTest4.fs - - [] - let ``ListExpressionStepping04_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest5.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest5.exe" # ListExpressionSteppingTest5.fs - - [] - let ``ListExpressionStepping05_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest6.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest6.exe" # ListExpressionSteppingTest6.fs - - [] - let ``ListExpressionStepping06_fs`` compilation = - compilation - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping.fs deleted file mode 100644 index 3526b2edefd..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping.fs +++ /dev/null @@ -1,54 +0,0 @@ -namespace EmittedIL.RealInternalSignature - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -module ListExpressionSteppingRealInternalSignatureOn = - - let verifyCompilation compilation = - compilation - |> withOptions [ "--test:EmitFeeFeeAs100001" ] - |> asExe - |> withNoOptimize - |> withEmbeddedPdb - |> withEmbedAllSource - |> withRealInternalSignatureOn - |> ignoreWarnings - |> verifyILBaseline - - // SOURCE=ListExpressionSteppingTest1.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest1.exe" # ListExpressionSteppingTest1.fs - - [] - let ``ListExpressionStepping01_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest2.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest2.exe" # ListExpressionSteppingTest2.fs - - [] - let ``ListExpressionStepping02_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest3.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest3.exe" # ListExpressionSteppingTest3.fs - [] - let ``ListExpressionStepping03_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest4.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest4.exe" # ListExpressionSteppingTest4.fs - - [] - let ``ListExpressionStepping04_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest5.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest5.exe" # ListExpressionSteppingTest5.fs - - [] - let ``ListExpressionStepping05_fs`` compilation = - compilation - |> verifyCompilation - - // SOURCE=ListExpressionSteppingTest6.fs SCFLAGS="-g --test:EmitFeeFeeAs100001 --optimize-" COMPILE_ONLY=1 POSTCMD="..\\CompareIL.cmd ListExpressionSteppingTest6.exe" # ListExpressionSteppingTest6.fs - - [] - let ``ListExpressionStepping06_fs`` compilation = - compilation - |> verifyCompilation diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs deleted file mode 100644 index a3bbb454983..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping01.fs +++ /dev/null @@ -1,8 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists -// Regression test for FSHARP1.0:4058 -module ListExpressionSteppingTest1 -module ListExpressionSteppingTest1 = - let f0 () = - [ yield 1 ] - let _ = f0() - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs deleted file mode 100644 index b8bc07e5119..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping02.fs +++ /dev/null @@ -1,30 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists -// Regression test for FSHARP1.0:4058 -module ListExpressionSteppingTest2 -module ListExpressionSteppingTest2 = - let f1 () = - [ printfn "hello" - yield 1 - printfn "goodbye" - yield 2] - - let _ = f1() - - // Test debug point generation for ||> and |||> - let f2 x = - let xs1 = - ([x;x;x], [0..2]) - ||> List.zip - |> List.map (fun (a,b) -> a, b+1) - |> List.map (fun (a,b) -> a, b+1) - - let xs2 = - ([x;x;x], [0..2], [0..2]) - |||> List.zip3 - |> List.map (fun (a,b,c) -> a, b+1, c) - |> List.map (fun (a,b,c) -> a, b+1, c) - - xs1, xs2 - - let _ = f2 5 - diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs deleted file mode 100644 index 54aa23146fc..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping03.fs +++ /dev/null @@ -1,12 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists -// Regression test for FSHARP1.0:4058 -module ListExpressionSteppingTest3 -module ListExpressionSteppingTest3 = - let f2 () = - let mutable x = 0 - [ while x < 4 do - x <- x + 1 - printfn "hello" - yield x ] - - let _ = f2() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs deleted file mode 100644 index c9c88fbd1b0..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping04.fs +++ /dev/null @@ -1,14 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists -// Regression test for FSHARP1.0:4058 -module ListExpressionSteppingTest4 -module ListExpressionSteppingTest4 = - let f3 () = - [ let mutable x = 0 - x <- x + 1 - let mutable y = 0 - y <- y + 1 - yield x - let z = x + y - yield z ] - - let _ = f3() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs deleted file mode 100644 index 3c4df22fa62..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping05.fs +++ /dev/null @@ -1,17 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists -// Regression test for FSHARP1.0:4058 -module ListExpressionSteppingTest5 -module ListExpressionSteppingTest5 = - let f4 () = - [ let mutable x = 0 - try - let mutable y = 0 - y <- y + 1 - yield x - let z = x + y - yield z - finally - x <- x + 1 - printfn "done" ] - - let _ = f4() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs deleted file mode 100644 index ee50e966869..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/RealInternalSignatureOn/ListExpressionStepping06.fs +++ /dev/null @@ -1,14 +0,0 @@ -// #Regression #NoMono #NoMT #CodeGen #EmittedIL #Lists -// Regression test for FSHARP1.0:4058 -module ListExpressionSteppingTest6 -module ListExpressionSteppingTest6 = - let es = [1;2;3] - let f7 () = - [ for x in es do - printfn "hello" - yield x - for x in es do - printfn "goodbye" - yield x ] - - let _ = f7() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs index 1495b974d6b..2a2d666d221 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs index 786f0a930b9..021916c97e5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs index 1615106a3d3..03aa9042e3b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test.Compiler diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs index 5211a913085..1495d1de50c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs index e4e2ae6cedb..c7732635056 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test.Compiler diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index a9f214c2f0a..7cd799c1ef4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL.RealInternalSignature +namespace EmittedIL open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index af19c59d8e1..2a95fa4e92b 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -149,8 +149,7 @@ - - + @@ -160,8 +159,7 @@ - - + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs index 1500123883b..481ecc7b421 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs @@ -1,110 +1,112 @@ -module FSharp.Compiler.ComponentTests.TypeChecks.TypeExtensions.PropertyShadowingTests +namespace EmittedIL open Xunit open FSharp.Test open FSharp.Test.Compiler -let [] folder = __SOURCE_DIRECTORY__ + "/PropertyShadowing" +module PropertyShadowingTests = -[] -let ``can hide property - realInternalSignatureOff`` compilation = - compilation - |> asFsx - |> withOptions ["--langversion:preview"] - |> withRealInternalSignatureOff - |> verifyBaselines - |> compileAndRun - |> shouldSucceed + let [] folder = __SOURCE_DIRECTORY__ + "/PropertyShadowing" -[] -let ``can hide property - realInternalSignatureOn`` compilation = - compilation - |> asFsx - |> withOptions ["--langversion:preview"] - |> withRealInternalSignatureOn - |> verifyBaselines - |> compileAndRun - |> shouldSucceed + [] + let ``can hide property - realInternalSignatureOff`` compilation = + compilation + |> asFsx + |> withOptions ["--langversion:preview"] + |> withRealInternalSignatureOff + |> verifyBaselines + |> compileAndRun + |> shouldSucceed -[] -let ``cannot hide property v7.0 support added later`` compilation = - compilation - |> asFsx - |> withOptions ["--langversion:7.0"] - |> verifyBaselines - |> compile - |> shouldFail + [] + let ``can hide property - realInternalSignatureOn`` compilation = + compilation + |> asFsx + |> withOptions ["--langversion:preview"] + |> withRealInternalSignatureOn + |> verifyBaselines + |> compileAndRun + |> shouldSucceed -[] -let ``cannot hide property`` compilation = - compilation - |> asFsx - |> withOptions ["--langversion:preview"] - |> verifyBaselines - |> compile - |> shouldFail + [] + let ``cannot hide property v7_0 support added later`` compilation = + compilation + |> asFsx + |> withOptions ["--langversion:7.0"] + |> verifyBaselines + |> compile + |> shouldFail + + [] + let ``cannot hide property`` compilation = + compilation + |> asFsx + |> withOptions ["--langversion:preview"] + |> verifyBaselines + |> compile + |> shouldFail -[] -let ``cannot hide property v7.0`` compilation = - compilation - |> asFsx - |> withOptions ["--langversion:7.0"] - |> verifyBaselines - |> compile - |> shouldFail + [] + let ``cannot hide property v7_0`` compilation = + compilation + |> asFsx + |> withOptions ["--langversion:7.0"] + |> verifyBaselines + |> compile + |> shouldFail From 305fae945c00857a3533aeb7fa662fed17f74581 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 23 Jan 2024 20:22:19 -0800 Subject: [PATCH 22/58] temp --- azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index e564f16de9f..7e2295dbad9 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -364,7 +364,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -realInternalSignature -testCoreclr -configuration Release /p:FSharpLangVersion=preview + - script: eng\CIBuild.cmd -compressallmetadata -realInternalSignature -testCoreclr -configuration Release env: NativeToolsOnMachine: true displayName: Build @@ -392,7 +392,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -realInternalSignature -testDesktop -configuration Release /p:FSharpLangVersion=preview + - script: eng\CIBuild.cmd -compressallmetadata -realInternalSignature -testDesktop -configuration Release env: NativeToolsOnMachine: true displayName: Build From fd62c724c1f483b43acc1e2e2b6057ee79cac57a Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Wed, 24 Jan 2024 16:21:09 -0800 Subject: [PATCH 23/58] cleanup --- src/Compiler/CodeGen/IlxGen.fs | 33 ++++++++----------- src/Compiler/TypedTree/TypedTreeBasics.fs | 31 ----------------- .../AsyncExpressionStepping.fs | 2 +- .../AttributeTargets/AttributeTargets.fs | 2 +- .../CCtorDUWithMember/CCtorDUWithMember.fs | 2 +- .../CompiledNameAttribute.fs | 2 +- .../ComputationExpressions.fs | 2 +- .../GeneratedIterators/GeneratedIterators.fs | 2 +- .../EmittedIL/Inlining/Inlining.fs | 2 +- .../ListExpressionStepping.fs | 2 +- .../EmittedIL/Misc/Misc.fs | 2 +- .../QueryExpressionStepping.fs | 2 +- .../ClassTypeInitialization.fs | 30 ++++++++++++++++- .../ClassTypeVisibilityModuleRoot.fs | 2 +- .../ClassTypeVisibilityModuleRootWithFsi.fs | 2 +- .../ClassTypeVisibilityNamespaceRoot.fs | 2 +- ...ClassTypeVisibilityNamespaceRootWithFsi.fs | 2 +- .../ModuleInitialization.fs | 2 +- .../SeqExpressionStepping.fs | 2 +- .../SerializableAttribute.fs | 2 +- .../EmittedIL/StaticInit/StaticInit.fs | 2 +- .../EmittedIL/TestFunctions/TestFunctions.fs | 2 +- .../EmittedIL/Tuples/Tuples.fs | 2 +- .../EmittedIL/operators/Operators.fs | 2 +- .../TypeChecks/PropertyShadowingTests.fs | 2 +- 25 files changed, 65 insertions(+), 73 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 0a6bedc078e..592165998a3 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -489,26 +489,21 @@ let TypeRefForCompLoc cloc = let mkILTyForCompLoc cloc = mkILNonGenericBoxedTy (TypeRefForCompLoc cloc) +/// Compute visibility for type members +/// based on hidden and acessibility from the source code +/// when hidden and realInternalSignature is specified then +/// as typed in source code, I.e internal or public +/// when hidden and not realInternalSignature is specified then +/// then they are internal, old behaviour (anything not public is internal) +/// otherwise it is public, by definition let ComputeMemberAccess hidden (accessibility: Accessibility) realInternalSignature = - // @@@@@@@@@@@ combine with below - let accessibility = - match hidden, accessibility.IsPublic with - | true, true -> None - | _ -> Some accessibility - - if hidden then - match accessibility with - | Some access when realInternalSignature -> - // public let bindings on types are not public. - match access.AsILMemberAccess() with - | ILMemberAccess.Public -> ILMemberAccess.Public - | nonPublicScope -> nonPublicScope - | _ -> ILMemberAccess.Assembly + if (not accessibility.IsPublic) && realInternalSignature then + accessibility.AsILMemberAccess() + elif hidden then + ILMemberAccess.Assembly else - match accessibility with - | Some access when realInternalSignature -> access.AsILMemberAccess() - | _ -> ILMemberAccess.Public + ILMemberAccess.Public let ComputeTypeAccess (tref: ILTypeRef) hidden (accessibility: Accessibility) realInternalSignature = @@ -10100,7 +10095,7 @@ and CodeGenInitMethod cenv (cgbuf: CodeGenBuffer) eenv tref (codeGenInitFunc: Co let _, body = CodeGenMethod cenv cgbuf.mgbuf ([], eenv.staticInitializationName, eenv, 0, None, codeGenInitFunc, m) - if checkCodeDoesSomething body.Code then + if CheckCodeDoesSomething body.Code then // We are here because the module we just grabbed has an interesting static initializer let feefee, seqpt = if body.Code.Instrs.Length > 0 then @@ -10384,7 +10379,7 @@ and GenImplFile cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (implFile: Checke // Library file (mainInfoOpt = None) : optional .cctor if topCode has initialization effect // Final file, explicit entry point (mainInfoOpt = Some _, GetExplicitEntryPointInfo() = Some) : main + optional .cctor if topCode has initialization effect // Final file, implicit entry point (mainInfoOpt = Some _, GetExplicitEntryPointInfo() = None) : main + initialize + optional .cctor calling initialize - let doesSomething = checkCodeDoesSomething topCode.Code + let doesSomething = CheckCodeDoesSomething topCode.Code // Make a FEEFEE instruction to mark hidden code regions // We expect the first instruction to be a debug point when generating debug symbols diff --git a/src/Compiler/TypedTree/TypedTreeBasics.fs b/src/Compiler/TypedTree/TypedTreeBasics.fs index 9ad77bd5735..d19d79eb83a 100644 --- a/src/Compiler/TypedTree/TypedTreeBasics.fs +++ b/src/Compiler/TypedTree/TypedTreeBasics.fs @@ -474,37 +474,6 @@ let combineAccess access1 access2 = else (a1@a2) TAccess combined -//@@@@@@@@@@@@@@@@@@@ -//let getSyntaxAccessForCompPath = function CompPath(_, syntaxAccess, _) -> syntaxAccess - -//let newcombineAccess access1 access2 = -// let syntaxAccess1 = getSyntaxAccessForCompPath access1 -// let syntaxAccess2 = getSyntaxAccessForCompPath access2 -// if access1 = taccessPublic then - -// elif access1 = taccessInternal then - -// else - -// match syntaxAccess1 with -// | TypedTree.SyntaxAccess.Public -> -// let (TAccess a1) = access1 -// let (TAccess a2) = access2 -// TAccess(a1@a2) -// | TypedTree.SyntaxAccess.Internal -> -// | TypedTree.SyntaxAccess.Private -> -// | TypedTree.SyntaxAccess.Unknown -> - - - //let (TAccess a1) = access1 - //let (TAccess a2) = access2 - - //let syntaxAccess1 = getSyntaxAccessForCompPath a1 - //let syntaxAccess2 = getSyntaxAccessForCompPath a2 - //TAccess(a1@a2) - -//@@@@@@@@@@@@@@@@@@@ - exception Duplicate of string * string * range exception NameClash of string * string * string * range * string * string * range diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs index fa1b043718c..89c1c62c7c0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionStepping.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs index 7b2fccb071f..199fb7bda05 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/AttributeTargets.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs index 7c31a7db6cd..99c31471aba 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs index c1533a3d723..7821dd195d0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs index 460fbc1226e..1c35663d6e3 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open System.IO open Xunit diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs index f4c9163dc51..68899c67afe 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GeneratedIterators.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs index 7b6e87b556f..f716ffdffef 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Inlining/Inlining.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs index 346cffd487e..abdc6368d11 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs index fddab2c7899..5e8206137b1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Misc.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs index a55402bc1b7..ff590c10dae 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/QueryExpressionStepping.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs index 2a2d666d221..fc6d0483636 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test @@ -43,6 +43,34 @@ module MyModule = "Hello from main method" ] + + [] // RealSig + [] // Regular + [] + let ``Simple types in implicit main`` (realSig) = + + FSharp """ +type MyFirstType = + static let x1 = 1100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyProgram.MyFirstType" + +type MySecondType = + static let x2 = 2100 + System.Random().Next(0) + static let _ = printfn "Hello, World from MyProgram.MySecondType" + +printfn "Hello from implicit main method" + """ + |> withLangVersionPreview + |> withRealInternalSignature realSig + |> compileExeAndRun + |> shouldSucceed + |> withStdOutContainsAllInOrder [ + "Hello, World from MyProgram.MyFirstType" + "Hello, World from MyProgram.MySecondType" + "Hello from implicit main method" + ] + + [] // RealSig [] // Regular [] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs index 021916c97e5..786f0a930b9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs index 03aa9042e3b..1615106a3d3 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test.Compiler diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs index 1495d1de50c..5211a913085 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs index c7732635056..e4e2ae6cedb 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test.Compiler diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index 7cd799c1ef4..a9f214c2f0a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -1,6 +1,6 @@ // Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs index 50f93546ea0..6d8d2f0a5af 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionStepping.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs index b112e67bcf4..3a801ed3dce 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SerializableAttribute/SerializableAttribute.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs index 950b48bd36b..2f9a1277528 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs index 17bfc528df4..9b2ce64194e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunctions.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs index 0aefc942291..e72af2b7caf 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuples.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open System.IO diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs index a893a3c4a60..a6b967742fe 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/Operators.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs index 481ecc7b421..b3a73b6aadc 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs @@ -1,4 +1,4 @@ -namespace EmittedIL +namespace EmittedIL.RealInternalSignature open Xunit open FSharp.Test open FSharp.Test.Compiler From 87f9dae8c393f41c702c357159a5f2fd9358f4b0 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 25 Jan 2024 15:19:33 -0800 Subject: [PATCH 24/58] fantomas --- src/Compiler/CodeGen/IlxGen.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 592165998a3..7ff0bb87486 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -499,7 +499,7 @@ let mkILTyForCompLoc cloc = let ComputeMemberAccess hidden (accessibility: Accessibility) realInternalSignature = if (not accessibility.IsPublic) && realInternalSignature then - accessibility.AsILMemberAccess() + accessibility.AsILMemberAccess() elif hidden then ILMemberAccess.Assembly else From e4880079826372b8f36c4ba554b7b9cc22a75621 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 25 Jan 2024 18:45:54 -0800 Subject: [PATCH 25/58] temp --- src/Compiler/CodeGen/IlxGen.fs | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 7ff0bb87486..8adcec35aef 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8203,6 +8203,57 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( // Generate the actual bindings let skipBinding = HashSet() + let groupBinds = + let getStampForVal (v: Val) = + match v.HasDeclaringEntity with + | false -> 0L + | true -> v.DeclaringEntity.Deref.Stamp + + let result = List() + let rec loopAllBinds remainder = + match remainder with + | [] -> result + | _ -> + let stamp = remainder |> List.head |> (fun (TBind(v, _, _)) -> getStampForVal v) + let taken = remainder |> List.takeWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) + let remainder = remainder |> List.skipWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) + result.Add taken + loopAllBinds remainder + loopAllBinds allBinds + + //let _ = + // (recursiveVars, groupBinds) + // ||> List.fold (fun forwardReferenceSet (bindGroup: Binding list) -> + + // bindGroup + + + + + + // // Record the variable as defined + // let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet + + // // Execute and discard any fixups that can now be committed + // let newFixups = + // fixups.Value + // |> List.filter (fun (boundv, fv, action) -> + // if (Zset.contains boundv forwardReferenceSet || Zset.contains fv forwardReferenceSet) then + // true + // else + // action () + // false) + + // fixups.Value <- newFixups + // forwardReferenceSet) + + + + + + + +// do System.Diagnostics.Debugger.Break() let _ = (recursiveVars, allBinds) ||> List.fold (fun forwardReferenceSet (bind: Binding) -> From 0b8af9d3317d1144b58a23bda16736596cd7ba26 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Thu, 25 Jan 2024 19:31:53 -0800 Subject: [PATCH 26/58] temp --- src/Compiler/CodeGen/IlxGen.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 8adcec35aef..adcc3833cee 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8203,7 +8203,7 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( // Generate the actual bindings let skipBinding = HashSet() - let groupBinds = + let _groupBinds = let getStampForVal (v: Val) = match v.HasDeclaringEntity with | false -> 0L From 50b6730d15caa05816271f4e3d780c02d197987c Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Thu, 25 Jan 2024 23:52:33 -0800 Subject: [PATCH 27/58] temp --- src/Compiler/CodeGen/IlxGen.fs | 145 ++++++++++++++++----------------- 1 file changed, 72 insertions(+), 73 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index adcc3833cee..37ed88ae388 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -1246,6 +1246,15 @@ let EnvForTycon tps eenv = tyenv = eenv.tyenv.ForTycon tps } +let EnvWithEnclosingToEnv eenv enclosing name ns = + { eenv with + cloc = + { eenv.cloc with + Enclosing = enclosing @ [ name ] + Namespace = ns + } + } + let AddTyparsToEnv typars (eenv: IlxGenEnv) = { eenv with tyenv = eenv.tyenv.Add typars @@ -8177,6 +8186,23 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( let fixups = ref [] + let updateFixups (bind: Binding) (forwardReferenceSet: Zset) = + // Record the variable as defined + let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet + + // Execute and discard any fixups that can now be committed + let newFixups = + fixups.Value + |> List.filter (fun (boundv, fv, action) -> + if (Zset.contains boundv forwardReferenceSet || Zset.contains fv forwardReferenceSet) then + true + else + action () + false) + + fixups.Value <- newFixups + forwardReferenceSet + let recursiveVars = Zset.addList (bindsPossiblyRequiringFixup |> List.map (fun v -> v.Var)) (Zset.empty valOrder) @@ -8195,65 +8221,63 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( "internal error: should never need to set non-delayed recursive val: " + bind.Var.LogicalName ))) + // Record the variable as defined let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet forwardReferenceSet) - // @@@@@@@@@@@@ This needs big style simplification - // Generate the actual bindings - let skipBinding = HashSet() - - let _groupBinds = - let getStampForVal (v: Val) = - match v.HasDeclaringEntity with - | false -> 0L - | true -> v.DeclaringEntity.Deref.Stamp + let getStampForVal (v: Val) = + match v.HasDeclaringEntity with + | false -> 0L + | true -> v.DeclaringEntity.Deref.Stamp - let result = List() + let groupBinds = + let mutable bindings : Binding list list = [[]] let rec loopAllBinds remainder = match remainder with - | [] -> result + | [] -> bindings |> List.rev | _ -> let stamp = remainder |> List.head |> (fun (TBind(v, _, _)) -> getStampForVal v) let taken = remainder |> List.takeWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) let remainder = remainder |> List.skipWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) - result.Add taken + bindings <- bindings |> List.append [taken] loopAllBinds remainder loopAllBinds allBinds - //let _ = - // (recursiveVars, groupBinds) - // ||> List.fold (fun forwardReferenceSet (bindGroup: Binding list) -> - - // bindGroup - - - - - - // // Record the variable as defined - // let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet - - // // Execute and discard any fixups that can now be committed - // let newFixups = - // fixups.Value - // |> List.filter (fun (boundv, fv, action) -> - // if (Zset.contains boundv forwardReferenceSet || Zset.contains fv forwardReferenceSet) then - // true - // else - // action () - // false) - - // fixups.Value <- newFixups - // forwardReferenceSet) - - - - - - - -// do System.Diagnostics.Debugger.Break() + let _ = + (recursiveVars, groupBinds) + ||> List.fold(fun forwardReferenceSet (binds: Binding list) -> + match dict, cenv.g.realInternalSignature, binds with + | _, false, _ | None, _, _ | _, _, [] -> + (forwardReferenceSet, binds) + ||> List.fold (fun forwardReferenceSet (bind: Binding) -> + GenBinding cenv cgbuf eenv bind false + updateFixups bind forwardReferenceSet) + | Some dict, true, _ -> + let (TBind(v, _, _)) = binds |> List.head + match dict.TryGetValue(getStampForVal v) with + | false, _ -> + (forwardReferenceSet, binds) + ||> List.fold (fun forwardReferenceSet (bind: Binding) -> + GenBinding cenv cgbuf eenv bind false + updateFixups bind forwardReferenceSet) + | true, tref -> + CodeGenInitMethod + cenv + cgbuf + (EnvWithEnclosingToEnv eenv tref.Enclosing tref.Name None) + tref + (fun cgbuf eenv -> + // Generate chunks of non-nested bindings together to allow recursive fixups. + GenLetRecBindings cenv cgbuf eenv (binds, m) None + CG.EmitInstr cgbuf (pop 0) Push0 I_ret) + m + (forwardReferenceSet, binds) + ||> List.fold (fun forwardReferenceSet (bind: Binding) -> + updateFixups bind forwardReferenceSet) + ) + () +(* let _ = (recursiveVars, allBinds) ||> List.fold (fun forwardReferenceSet (bind: Binding) -> @@ -8291,24 +8315,14 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( | true -> v.DeclaringEntity.Deref.Stamp | false -> 0L) |> Seq.iter (fun (stamp, bindings) -> bgs.Add(stamp, bindings)) - bgs - let eenv = - { eenv with - cloc = - { eenv.cloc with - Enclosing = tref.Enclosing @ [ tref.Name ] - Namespace = None - } - } - match bindGroups.TryGetValue(stamp) with | true, binds -> CodeGenInitMethod cenv cgbuf - eenv + (EnvWithEnclosingToEnv eenv tref.Enclosing tref.Name None) tref (fun cgbuf eenv -> // Generate chunks of non-nested bindings together to allow recursive fixups. @@ -8317,23 +8331,8 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( m | _ -> () - // Record the variable as defined - let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet - - // Execute and discard any fixups that can now be committed - let newFixups = - fixups.Value - |> List.filter (fun (boundv, fv, action) -> - if (Zset.contains boundv forwardReferenceSet || Zset.contains fv forwardReferenceSet) then - true - else - action () - false) - - fixups.Value <- newFixups - forwardReferenceSet) - - () + updateFixups bind forwardReferenceSet) +*) and GenLetRec cenv cgbuf eenv (binds, body, m) sequel = let _, endMark as scopeMarks = StartLocalScope "letrec" cgbuf From e649e934dd63812e0f04543b30cbed2ecb49635c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 10:45:59 +0000 Subject: [PATCH 28/58] Automated command ran: fantomas Co-authored-by: KevinRansom <5175830+KevinRansom@users.noreply.github.com> --- src/Compiler/CodeGen/IlxGen.fs | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 37ed88ae388..1deb0037e30 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8232,29 +8232,39 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( | true -> v.DeclaringEntity.Deref.Stamp let groupBinds = - let mutable bindings : Binding list list = [[]] + let mutable bindings: Binding list list = [ [] ] + let rec loopAllBinds remainder = match remainder with | [] -> bindings |> List.rev | _ -> let stamp = remainder |> List.head |> (fun (TBind(v, _, _)) -> getStampForVal v) - let taken = remainder |> List.takeWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) - let remainder = remainder |> List.skipWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) - bindings <- bindings |> List.append [taken] + + let taken = + remainder |> List.takeWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) + + let remainder = + remainder |> List.skipWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) + + bindings <- bindings |> List.append [ taken ] loopAllBinds remainder + loopAllBinds allBinds let _ = (recursiveVars, groupBinds) - ||> List.fold(fun forwardReferenceSet (binds: Binding list) -> + ||> List.fold (fun forwardReferenceSet (binds: Binding list) -> match dict, cenv.g.realInternalSignature, binds with - | _, false, _ | None, _, _ | _, _, [] -> + | _, false, _ + | None, _, _ + | _, _, [] -> (forwardReferenceSet, binds) ||> List.fold (fun forwardReferenceSet (bind: Binding) -> GenBinding cenv cgbuf eenv bind false updateFixups bind forwardReferenceSet) | Some dict, true, _ -> let (TBind(v, _, _)) = binds |> List.head + match dict.TryGetValue(getStampForVal v) with | false, _ -> (forwardReferenceSet, binds) @@ -8272,10 +8282,10 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( GenLetRecBindings cenv cgbuf eenv (binds, m) None CG.EmitInstr cgbuf (pop 0) Push0 I_ret) m + (forwardReferenceSet, binds) - ||> List.fold (fun forwardReferenceSet (bind: Binding) -> - updateFixups bind forwardReferenceSet) - ) + ||> List.fold (fun forwardReferenceSet (bind: Binding) -> updateFixups bind forwardReferenceSet)) + () (* let _ = From 1823714010c99b84e1de6fd9beef363ad920175f Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 26 Jan 2024 14:41:22 -0800 Subject: [PATCH 29/58] Some cleanup --- Directory.Build.props | 3 +- FSharpBuild.Directory.Build.props | 6 +- azure-pipelines.yml | 8 +-- eng/Build.ps1 | 10 +-- src/Compiler/AbstractIL/il.fs | 1 + src/Compiler/CodeGen/IlxGen.fs | 70 ++----------------- src/Compiler/FSComp.txt | 2 +- src/Compiler/FSharp.Compiler.Service.fsproj | 8 ++- src/Compiler/Optimize/Optimizer.fs | 1 - src/Compiler/xlf/FSComp.txt.cs.xlf | 4 +- src/Compiler/xlf/FSComp.txt.de.xlf | 4 +- src/Compiler/xlf/FSComp.txt.es.xlf | 4 +- src/Compiler/xlf/FSComp.txt.fr.xlf | 4 +- src/Compiler/xlf/FSComp.txt.it.xlf | 4 +- src/Compiler/xlf/FSComp.txt.ja.xlf | 4 +- src/Compiler/xlf/FSComp.txt.ko.xlf | 4 +- src/Compiler/xlf/FSComp.txt.pl.xlf | 4 +- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 4 +- src/Compiler/xlf/FSComp.txt.ru.xlf | 4 +- src/Compiler/xlf/FSComp.txt.tr.xlf | 4 +- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 4 +- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 4 +- src/FSharp.Build/FSharp.Build.fsproj | 2 + ...Sharp.Compiler.Interactive.Settings.fsproj | 2 + src/FSharp.Core/FSharp.Core.fsproj | 3 +- .../FSharp.DependencyManager.Nuget.fsproj | 2 + src/fsc/fsc.targets | 2 + src/fsi/fsi.targets | 2 + tests/Directory.Build.props | 1 + .../fsc/misc/compiler_help_output.bsl | 2 +- .../expected-help-output.bsl | 4 +- vsintegration/Directory.Build.props | 1 + 32 files changed, 72 insertions(+), 110 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index cc9fa5cf667..90609ba530b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,8 +6,7 @@ true - - $(DefineConstants);REALINTERNALSIGNATURE + $(OtherFlags) --realInternalSignature+ diff --git a/FSharpBuild.Directory.Build.props b/FSharpBuild.Directory.Build.props index c5355b30269..f991ba6b072 100644 --- a/FSharpBuild.Directory.Build.props +++ b/FSharpBuild.Directory.Build.props @@ -113,11 +113,11 @@ - - + --> diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 7e2295dbad9..94c471445df 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -351,7 +351,7 @@ stages: ArtifactType: Container parallel: true - - job: WindowsRealInternalSignature_testCoreclr + - job: WindowsRealsig_testCoreclr pool: # The PR build definition sets this variable: # WindowsMachineQueueName=Windows.vs2022.amd64.open @@ -364,7 +364,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -realInternalSignature -testCoreclr -configuration Release + - script: eng\CIBuild.cmd -compressallmetadata -realsig -testCoreclr -configuration Release env: NativeToolsOnMachine: true displayName: Build @@ -379,7 +379,7 @@ stages: ArtifactType: Container parallel: true - - job: WindowsRealInternalSignature_testDesktop + - job: WindowsRealsig_testDesktop pool: # The PR build definition sets this variable: # WindowsMachineQueueName=Windows.vs2022.amd64.open @@ -392,7 +392,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -realInternalSignature -testDesktop -configuration Release + - script: eng\CIBuild.cmd -compressallmetadata -realsig -testDesktop -configuration Release env: NativeToolsOnMachine: true displayName: Build diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 239b1549a26..aacaffc1b08 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -68,7 +68,7 @@ param ( [switch]$sourceBuild, [switch]$skipBuild, [switch]$compressAllMetadata, - [switch]$realInternalSignature, + [switch]$realsig, [switch]$verifypackageshipstatus = $false, [parameter(ValueFromRemainingArguments = $true)][string[]]$properties) @@ -128,7 +128,7 @@ function Print-Usage() { Write-Host " -sourceBuild Simulate building for source-build." Write-Host " -skipbuild Skip building product" Write-Host " -compressAllMetadata Build product with compressed metadata" - Write-Host " -realInternalSignature Build product with realInternalSignature" + Write-Host " -realsig Build product with realsig" Write-Host " -verifypackageshipstatus Verify whether the packages we are building have already shipped to nuget" Write-Host "" Write-Host "Command line arguments starting with '/p:' are passed through to MSBuild." @@ -208,8 +208,8 @@ function Process-Arguments() { $script:compressAllMetadata = $True; } - if ($realInternalSignature) { - $script:realInternalSignature = $True; + if ($realsig) { + $script:realsig = $True; } if ($verifypackageshipstatus) { @@ -290,7 +290,7 @@ function BuildSolution([string] $solutionName, $nopack) { /p:TestTargetFrameworks=$testTargetFrameworks ` /p:DotNetBuildFromSource=$sourceBuild ` /p:CompressAllMetadata=$CompressAllMetadata ` - /p:realInternalSignature=$realInternalSignature ` + /p:TestingRealSig=$realsig ` /v:$verbosity ` $suppressExtensionDeployment ` @properties diff --git a/src/Compiler/AbstractIL/il.fs b/src/Compiler/AbstractIL/il.fs index e681752944f..7f303178553 100644 --- a/src/Compiler/AbstractIL/il.fs +++ b/src/Compiler/AbstractIL/il.fs @@ -1909,6 +1909,7 @@ type ILMethodDef customAttrsStored: ILAttributesStored, metadataIndex: int32 ) = + new(name, attributes, implAttributes, callingConv, parameters, ret, body, isEntryPoint, genericParams, securityDecls, customAttrs) = ILMethodDef( name, diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 1deb0037e30..71f63b5e517 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -1246,7 +1246,7 @@ let EnvForTycon tps eenv = tyenv = eenv.tyenv.ForTycon tps } -let EnvWithEnclosingToEnv eenv enclosing name ns = +let AddEnclosingToEnv eenv enclosing name ns = { eenv with cloc = { eenv.cloc with @@ -8186,7 +8186,7 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( let fixups = ref [] - let updateFixups (bind: Binding) (forwardReferenceSet: Zset) = + let updateForwardReferenceSet (bind: Binding) (forwardReferenceSet: Zset) = // Record the variable as defined let forwardReferenceSet = Zset.remove bind.Var forwardReferenceSet @@ -8246,7 +8246,7 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( let remainder = remainder |> List.skipWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) - bindings <- bindings |> List.append [ taken ] + bindings <- taken :: bindings loopAllBinds remainder loopAllBinds allBinds @@ -8261,7 +8261,7 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( (forwardReferenceSet, binds) ||> List.fold (fun forwardReferenceSet (bind: Binding) -> GenBinding cenv cgbuf eenv bind false - updateFixups bind forwardReferenceSet) + updateForwardReferenceSet bind forwardReferenceSet) | Some dict, true, _ -> let (TBind(v, _, _)) = binds |> List.head @@ -8270,12 +8270,12 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( (forwardReferenceSet, binds) ||> List.fold (fun forwardReferenceSet (bind: Binding) -> GenBinding cenv cgbuf eenv bind false - updateFixups bind forwardReferenceSet) + updateForwardReferenceSet bind forwardReferenceSet) | true, tref -> CodeGenInitMethod cenv cgbuf - (EnvWithEnclosingToEnv eenv tref.Enclosing tref.Name None) + (AddEnclosingToEnv eenv tref.Enclosing tref.Name None) tref (fun cgbuf eenv -> // Generate chunks of non-nested bindings together to allow recursive fixups. @@ -8284,65 +8284,9 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( m (forwardReferenceSet, binds) - ||> List.fold (fun forwardReferenceSet (bind: Binding) -> updateFixups bind forwardReferenceSet)) + ||> List.fold (fun forwardReferenceSet (bind: Binding) -> updateForwardReferenceSet bind forwardReferenceSet)) () -(* - let _ = - (recursiveVars, allBinds) - ||> List.fold (fun forwardReferenceSet (bind: Binding) -> - match cenv.g.realInternalSignature with - | false -> GenBinding cenv cgbuf eenv bind false - | true -> - let (TBind(v, _, _)) = bind - - let nested, skip, stamp = - match dict, v.HasDeclaringEntity with - | None, _ - | Some _, false -> None, false, 0L - | Some dict, true -> - let stamp = v.DeclaringEntity.Deref.Stamp - - match dict.TryGetValue(stamp), skipBinding.Contains(stamp) with - | (false, _), _ -> None, false, stamp - | (_, _), true -> None, true, stamp - | (true, tref), _ -> - let added = skipBinding.Add(stamp) - Some tref, not added, stamp - - match nested, skip with - | _, true -> () - | None, false -> GenBinding cenv cgbuf eenv bind false - | Some tref, false -> - let bindGroups = - let bgs = Dictionary() - - allBinds - |> List.groupBy (fun bind -> - let (TBind(v, _, _)) = bind - - match v.HasDeclaringEntity with - | true -> v.DeclaringEntity.Deref.Stamp - | false -> 0L) - |> Seq.iter (fun (stamp, bindings) -> bgs.Add(stamp, bindings)) - bgs - - match bindGroups.TryGetValue(stamp) with - | true, binds -> - CodeGenInitMethod - cenv - cgbuf - (EnvWithEnclosingToEnv eenv tref.Enclosing tref.Name None) - tref - (fun cgbuf eenv -> - // Generate chunks of non-nested bindings together to allow recursive fixups. - GenLetRecBindings cenv cgbuf eenv (binds, m) None - CG.EmitInstr cgbuf (pop 0) Push0 I_ret) - m - | _ -> () - - updateFixups bind forwardReferenceSet) -*) and GenLetRec cenv cgbuf eenv (binds, body, m) sequel = let _, endMark as scopeMarks = StartLocalScope "letrec" cgbuf diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index bf7e7ceb518..3c72d9e12ce 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -879,7 +879,7 @@ optsDebug,"Specify debugging type: full, portable, embedded, pdbonly. ('%s' is t optsOptimize,"Enable optimizations (Short form: -O)" optsTailcalls,"Enable or disable tailcalls" optsDeterministic,"Produce a deterministic assembly (including module version GUID and timestamp)" -optsRealInternalSignature,"Generate assembly with dotnet visibility that matches source visibility" +optsRealInternalSignature,"Generate assembly with IL visibility that matches the source code visibility" optsRefOnly,"Produce a reference assembly, instead of a full assembly, as the primary output" optsRefOut,"Produce a reference assembly with the specified file path." optsPathMap,"Maps physical paths to source path names output by the compiler" diff --git a/src/Compiler/FSharp.Compiler.Service.fsproj b/src/Compiler/FSharp.Compiler.Service.fsproj index dd7b6e25c1a..24766be61fe 100644 --- a/src/Compiler/FSharp.Compiler.Service.fsproj +++ b/src/Compiler/FSharp.Compiler.Service.fsproj @@ -21,7 +21,13 @@ $(OtherFlags) --warnon:3218 $(OtherFlags) --warnon:3390 - + + $(OtherFlags) --realInternalSignature- + $(OtherFlags) --realInternalSignature+ true $(IntermediateOutputPath)$(TargetFramework)\ $(IntermediateOutputPath)$(TargetFramework)\ diff --git a/src/Compiler/Optimize/Optimizer.fs b/src/Compiler/Optimize/Optimizer.fs index 0a6a47fcaba..01133d752b4 100644 --- a/src/Compiler/Optimize/Optimizer.fs +++ b/src/Compiler/Optimize/Optimizer.fs @@ -559,7 +559,6 @@ let mkValInfo info (v: Val) = { ValExprInfo=info.Info; ValMakesNoCriticalTailcal (* Bind a value *) let BindInternalLocalVal cenv (v: Val) vval env = - let vval = if v.IsMutable then UnknownValInfo else vval match vval.ValExprInfo with diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index deec8e2fe7b..c850767a13c 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index fc8e5f3d5ed..1e85a8b6f61 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index 9715d21a4ba..4272cf936f9 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index f45cb12e075..ae4121ad7e7 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index ddb1046a01a..9a42a32a14f 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index 93fd52da56d..15c299f2deb 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index a49575e2145..1682cd6bc16 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index ab40b92a82f..51ce87b8558 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index 9554d8396ce..e1e2fb1b8b1 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index e99e14c72c5..6f71cb82d53 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index df25f76b04d..2a94a17dca5 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index b24ffa5045f..4c0e77162aa 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 13c820b5f30..31b3da84683 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -818,8 +818,8 @@ - Generate assembly with dotnet visibility that matches source visibility - Generate assembly with dotnet visibility that matches source visibility + Generate assembly with IL visibility that matches the source code visibility + Generate assembly with IL visibility that matches the source code visibility diff --git a/src/FSharp.Build/FSharp.Build.fsproj b/src/FSharp.Build/FSharp.Build.fsproj index f8fbc7138ef..04e33450d35 100644 --- a/src/FSharp.Build/FSharp.Build.fsproj +++ b/src/FSharp.Build/FSharp.Build.fsproj @@ -14,6 +14,8 @@ true 7.0 Debug;Release;Proto;ReleaseCompressed + + $(OtherFlags) --realInternalSignature+ diff --git a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj index 8c159c34f01..fe7ca5fe39b 100644 --- a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj +++ b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj @@ -8,6 +8,8 @@ FSharp.Compiler.Interactive.Settings true Debug;Release;ReleaseCompressed + + $(OtherFlags) --realInternalSignature+ diff --git a/src/FSharp.Core/FSharp.Core.fsproj b/src/FSharp.Core/FSharp.Core.fsproj index cf267f6f914..b5488947b42 100644 --- a/src/FSharp.Core/FSharp.Core.fsproj +++ b/src/FSharp.Core/FSharp.Core.fsproj @@ -25,10 +25,11 @@ $(OtherFlags) --nowarn:3513 $(OtherFlags) --compiling-fslib --compiling-fslib-40 --maxerrors:100 --extraoptimizationloops:1 + + $(OtherFlags) --realInternalSignature- true true - true FSharp.Core $(FSCorePackageVersion) diff --git a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj index 3d15f45e103..7799c543f64 100644 --- a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj +++ b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj @@ -11,6 +11,8 @@ $(OtherFlags) --warnon:1182 true Debug;Release;ReleaseCompressed + + $(OtherFlags) --realInternalSignature+ diff --git a/src/fsc/fsc.targets b/src/fsc/fsc.targets index 2973feb613e..42febaf4740 100644 --- a/src/fsc/fsc.targets +++ b/src/fsc/fsc.targets @@ -8,6 +8,8 @@ $(NoWarn);75 true true + + $(OtherFlags) --realInternalSignature+ true false diff --git a/src/fsi/fsi.targets b/src/fsi/fsi.targets index 2f38a20ecc3..1b9ee94b6b5 100644 --- a/src/fsi/fsi.targets +++ b/src/fsi/fsi.targets @@ -9,6 +9,8 @@ $(OtherFlags) --warnon:1182 $(MSBuildThisFileDirectory)fsi.res true + + $(OtherFlags) --realInternalSignature+ true false diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 91c969b0ec6..36456924353 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -5,6 +5,7 @@ true portable + $(OtherFlags) --realInternalSignature+ diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl index 9f884a75090..1b76b19a8d8 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl @@ -59,7 +59,7 @@ Copyright (c) Microsoft Corporation. All Rights Reserved. --tailcalls[+|-] Enable or disable tailcalls --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) ---realInternalSignature[+|-] Generate assembly with dotnet visibility that matches source visibility +--realInternalSignature[+|-] Generate assembly with IL visibility that matches the source code visibility --pathmap: Maps physical paths to source path names output by the compiler --crossoptimize[+|-] Enable or disable cross-module optimizations --reflectionfree Disable implicit generation of constructs using reflection diff --git a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl index e59e161d025..acb8f88ea94 100644 --- a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl +++ b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl @@ -91,8 +91,8 @@ --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) ---realInternalSignature[+|-] Generate assembly with dotnet - visibility that matches source +--realInternalSignature[+|-] Generate assembly with IL visibility + that matches the source code visibility --pathmap: Maps physical paths to source path names output by the compiler diff --git a/vsintegration/Directory.Build.props b/vsintegration/Directory.Build.props index 3506c3888d2..1fa6bb8d755 100644 --- a/vsintegration/Directory.Build.props +++ b/vsintegration/Directory.Build.props @@ -7,6 +7,7 @@ true Neutral true + $(OtherFlags) --realInternalSignature+ From 70209c811a1ec306fd6b99f854bd9680b6696c88 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 26 Jan 2024 16:02:54 -0800 Subject: [PATCH 30/58] clean --- Directory.Build.props | 11 +++- eng/Build.ps1 | 14 ++-- eng/build.sh | 6 ++ src/Compiler/Checking/CheckBasics.fs | 6 +- src/Compiler/Checking/CheckBasics.fsi | 4 +- src/Compiler/Checking/CheckDeclarations.fs | 10 +-- src/Compiler/Checking/CheckExpressions.fs | 2 +- src/Compiler/Checking/PostInferenceChecks.fs | 6 +- src/Compiler/Checking/PostInferenceChecks.fsi | 2 +- src/Compiler/CodeGen/IlxGen.fs | 66 +++++++++---------- src/Compiler/Driver/CompilerConfig.fs | 6 +- src/Compiler/Driver/CompilerConfig.fsi | 4 +- src/Compiler/Driver/CompilerImports.fs | 2 +- src/Compiler/Driver/CompilerOptions.fs | 10 +-- src/Compiler/Driver/ParseAndCheckInputs.fs | 8 +-- src/Compiler/FSComp.txt | 2 +- src/Compiler/FSharp.Compiler.Service.fsproj | 7 -- .../Optimize/InnerLambdasToTopLevelFuncs.fs | 2 +- src/Compiler/Optimize/Optimizer.fs | 4 +- src/Compiler/TypedTree/TcGlobals.fs | 4 +- src/Compiler/xlf/FSComp.txt.cs.xlf | 2 +- src/Compiler/xlf/FSComp.txt.de.xlf | 2 +- src/Compiler/xlf/FSComp.txt.es.xlf | 2 +- src/Compiler/xlf/FSComp.txt.fr.xlf | 2 +- src/Compiler/xlf/FSComp.txt.it.xlf | 2 +- src/Compiler/xlf/FSComp.txt.ja.xlf | 2 +- src/Compiler/xlf/FSComp.txt.ko.xlf | 2 +- src/Compiler/xlf/FSComp.txt.pl.xlf | 2 +- src/Compiler/xlf/FSComp.txt.pt-BR.xlf | 2 +- src/Compiler/xlf/FSComp.txt.ru.xlf | 2 +- src/Compiler/xlf/FSComp.txt.tr.xlf | 2 +- src/Compiler/xlf/FSComp.txt.zh-Hans.xlf | 2 +- src/Compiler/xlf/FSComp.txt.zh-Hant.xlf | 2 +- src/FSharp.Build/FSharp.Build.fsproj | 2 - ...Sharp.Compiler.Interactive.Settings.fsproj | 2 - src/FSharp.Core/FSharp.Core.fsproj | 2 +- .../FSharp.DependencyManager.Nuget.fsproj | 2 - src/fsc/fsc.targets | 2 - src/fsi/fsi.targets | 2 - tests/Directory.Build.props | 1 - .../fsc/misc/compiler_help_output.bsl | 2 +- .../CompilerGeneratedAttributeOnAccessors.fs | 2 +- .../ComputationExpressions.fs | 4 +- .../ClassTypeInitialization.fs | 2 +- .../ClassTypeVisibility.fs | 2 +- .../ClassTypeVisibilityModuleRoot.fs | 2 +- .../ClassTypeVisibilityModuleRootWithFsi.fs | 2 +- .../ClassTypeVisibilityNamespaceRoot.fs | 2 +- ...ClassTypeVisibilityNamespaceRootWithFsi.fs | 2 +- .../ModuleInitialization.fs | 2 +- .../RealInternalSignature.fs | 2 +- .../expected-help-output.bsl | 2 +- tests/FSharp.Test.Utilities/Compiler.fs | 6 +- vsintegration/Directory.Build.props | 1 - 54 files changed, 122 insertions(+), 126 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 90609ba530b..5a7a972e193 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,8 +6,15 @@ true - - $(OtherFlags) --realInternalSignature+ + + + $(OtherFlags) --realsig- + $(OtherFlags) --realsig+ + $(OtherFlags) --warnon:3390 - - $(OtherFlags) --realInternalSignature- - $(OtherFlags) --realInternalSignature+ true $(IntermediateOutputPath)$(TargetFramework)\ $(IntermediateOutputPath)$(TargetFramework)\ diff --git a/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs b/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs index 89fb83de49c..291e24fe6e9 100644 --- a/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs +++ b/src/Compiler/Optimize/InnerLambdasToTopLevelFuncs.fs @@ -196,7 +196,7 @@ module Pass1_DetermineTLRAndArities = let arity = Operators.min nFormals nMaxApplied if atTopLevel then Some (f, arity) - elif g.realInternalSignature then + elif g.realsig then None else if arity<>0 || not (isNil tps) then Some (f, arity) diff --git a/src/Compiler/Optimize/Optimizer.fs b/src/Compiler/Optimize/Optimizer.fs index 01133d752b4..347554af791 100644 --- a/src/Compiler/Optimize/Optimizer.fs +++ b/src/Compiler/Optimize/Optimizer.fs @@ -435,7 +435,7 @@ type cenv = stackGuard: StackGuard - realInternalSignature: bool + realsig: bool } override x.ToString() = "" @@ -4363,7 +4363,7 @@ let OptimizeImplFile (settings, ccu, tcGlobals, tcVal, importMap, optEnv, isIncr emitTailcalls=emitTailcalls casApplied=Dictionary() stackGuard = StackGuard(OptimizerStackGuardDepth, "OptimizerStackGuardDepth") - realInternalSignature = tcGlobals.realInternalSignature + realsig = tcGlobals.realsig } let env, _, _, _ as results = OptimizeImplFileInternal cenv optEnv isIncrementalFragment fsiMultiAssemblyEmit hidden mimpls diff --git a/src/Compiler/TypedTree/TcGlobals.fs b/src/Compiler/TypedTree/TcGlobals.fs index 0410018d4a9..4f713fb4d5d 100644 --- a/src/Compiler/TypedTree/TcGlobals.fs +++ b/src/Compiler/TypedTree/TcGlobals.fs @@ -194,7 +194,7 @@ type TcGlobals( noDebugAttributes: bool, pathMap: PathMap, langVersion: LanguageVersion, - realInternalSignature: bool) = + realsig: bool) = // empty flags let v_knownWithoutNull = 0uy @@ -1105,7 +1105,7 @@ type TcGlobals( member _.langVersion = langVersion - member _.realInternalSignature = realInternalSignature + member _.realsig = realsig member _.unionCaseRefEq x y = primUnionCaseRefEq compilingFSharpCore fslibCcu x y diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index c850767a13c..4d81435c4d6 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -817,7 +817,7 @@ Název výstupního souboru pdb se nemůže shodovat s výstupním názvem souboru sestavení pomocí --pdb:filename.pdb. - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index 1e85a8b6f61..d8ee18eb8eb 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -817,7 +817,7 @@ Der Name der PDB-Ausgabedatei kann nicht mit dem Ausgabedateinamen für den Build übereinstimmen, verwenden Sie --pdb:filename.pdb - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index 4272cf936f9..c3968e7f693 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -817,7 +817,7 @@ El nombre del archivo de salida pdb no puede coincidir con el nombre de archivo de salida de compilación. Use --pdb:filename.pdb - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index ae4121ad7e7..a755b4c1b13 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -817,7 +817,7 @@ Le nom du fichier de sortie pdb ne peut pas correspondre au nom de fichier de sortie de build utilisé --pdb:filename.pdb. - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index 9a42a32a14f..f94952491b0 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -817,7 +817,7 @@ Il nome del file di output pdb non può corrispondere all’uso del nome file di output della compilazione --pdb:filename.pdb - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index 15c299f2deb..8f80b16efcc 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -817,7 +817,7 @@ PDB 出力ファイルåãŒãƒ“ルド出力ファイルåã¨ä¸€è‡´ã—ã¾ã›ã‚“ - --pdb:filename.pdb を使用ã—ã¦ãã ã•ã„ - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 1682cd6bc16..65ed5aa2cfb 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -817,7 +817,7 @@ pdb 출력 íŒŒì¼ ì´ë¦„ì€ ë¹Œë“œ 출력 íŒŒì¼ ì´ë¦„ 사용 --pdb:filename.pdb와 ì¼ì¹˜í•  수 없습니다. - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index 51ce87b8558..bd65530ff4b 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -817,7 +817,7 @@ Nazwa pliku wyjÅ›ciowego pdb nie może być zgodna z nazwÄ… pliku wyjÅ›ciowego kompilacji, użyj parametru --pdb:filename.pdb - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index e1e2fb1b8b1..7e5417683d5 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -817,7 +817,7 @@ O nome do arquivo de saída pdb não pode corresponder ao nome do arquivo de saída do build. Use --pdb:filename.pdb - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index 6f71cb82d53..a3298a8ff71 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -817,7 +817,7 @@ Ð˜Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла pdb не может Ñовпадать Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ выходного файла Ñборки. ИÑпользуйте --pdb:filename.pdb - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 2a94a17dca5..c456c4ff4e2 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -817,7 +817,7 @@ pdb çıkış dosyası adı, derleme çıkış dosya adı kullanımı --pdb:filename.pdb ile eÅŸleÅŸmiyor - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index 4c0e77162aa..76d404dfd76 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -817,7 +817,7 @@ pdb 输出文件åä¸èƒ½ä¸Žç”Ÿæˆè¾“出文件å use --pdb: filename.pdb åŒ¹é… - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 31b3da84683..e402bb53882 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -817,7 +817,7 @@ pdb 輸出檔案å與使用 --pdb:filename.pdb 的建置輸出檔案åä¸ç›¸ç¬¦ - + Generate assembly with IL visibility that matches the source code visibility Generate assembly with IL visibility that matches the source code visibility diff --git a/src/FSharp.Build/FSharp.Build.fsproj b/src/FSharp.Build/FSharp.Build.fsproj index 04e33450d35..f8fbc7138ef 100644 --- a/src/FSharp.Build/FSharp.Build.fsproj +++ b/src/FSharp.Build/FSharp.Build.fsproj @@ -14,8 +14,6 @@ true 7.0 Debug;Release;Proto;ReleaseCompressed - - $(OtherFlags) --realInternalSignature+ diff --git a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj index fe7ca5fe39b..8c159c34f01 100644 --- a/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj +++ b/src/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj @@ -8,8 +8,6 @@ FSharp.Compiler.Interactive.Settings true Debug;Release;ReleaseCompressed - - $(OtherFlags) --realInternalSignature+ diff --git a/src/FSharp.Core/FSharp.Core.fsproj b/src/FSharp.Core/FSharp.Core.fsproj index b5488947b42..c2ad1d456a3 100644 --- a/src/FSharp.Core/FSharp.Core.fsproj +++ b/src/FSharp.Core/FSharp.Core.fsproj @@ -26,7 +26,7 @@ $(OtherFlags) --nowarn:3513 $(OtherFlags) --compiling-fslib --compiling-fslib-40 --maxerrors:100 --extraoptimizationloops:1 - $(OtherFlags) --realInternalSignature- + $(OtherFlags) --realsig- true true diff --git a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj index 7799c543f64..3d15f45e103 100644 --- a/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj +++ b/src/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Nuget.fsproj @@ -11,8 +11,6 @@ $(OtherFlags) --warnon:1182 true Debug;Release;ReleaseCompressed - - $(OtherFlags) --realInternalSignature+ diff --git a/src/fsc/fsc.targets b/src/fsc/fsc.targets index 42febaf4740..2973feb613e 100644 --- a/src/fsc/fsc.targets +++ b/src/fsc/fsc.targets @@ -8,8 +8,6 @@ $(NoWarn);75 true true - - $(OtherFlags) --realInternalSignature+ true false diff --git a/src/fsi/fsi.targets b/src/fsi/fsi.targets index 1b9ee94b6b5..2f38a20ecc3 100644 --- a/src/fsi/fsi.targets +++ b/src/fsi/fsi.targets @@ -9,8 +9,6 @@ $(OtherFlags) --warnon:1182 $(MSBuildThisFileDirectory)fsi.res true - - $(OtherFlags) --realInternalSignature+ true false diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 36456924353..91c969b0ec6 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -5,7 +5,6 @@ true portable - $(OtherFlags) --realInternalSignature+ diff --git a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl index 1b76b19a8d8..8e207799112 100644 --- a/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl +++ b/tests/FSharp.Compiler.ComponentTests/CompilerOptions/fsc/misc/compiler_help_output.bsl @@ -59,7 +59,7 @@ Copyright (c) Microsoft Corporation. All Rights Reserved. --tailcalls[+|-] Enable or disable tailcalls --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) ---realInternalSignature[+|-] Generate assembly with IL visibility that matches the source code visibility +--realsig[+|-] Generate assembly with IL visibility that matches the source code visibility --pathmap: Maps physical paths to source path names output by the compiler --crossoptimize[+|-] Enable or disable cross-module optimizations --reflectionfree Disable implicit generation of constructs using reflection diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs index 57daed47789..2d2f4fdede3 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompilerGeneratedAttributeOnAccessors.fs @@ -187,7 +187,7 @@ module ``Let bindings in classes shoulnd't have DebuggerNonUserCodeAttribute`` = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] [] // RealSig [] // Regular diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs index 1c35663d6e3..107fa567487 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs @@ -9,11 +9,11 @@ module ComputationExpressions = let withRealInternalSignature compilation = compilation - |> withOptions ["--realInternalSignature-"] + |> withOptions ["--realsig-"] let withoutRealInternalSignature compilation = compilation - |> withOptions ["--realInternalSignature-"] + |> withOptions ["--realsig-"] let computationExprLibrary = FsFromPath (Path.Combine(__SOURCE_DIRECTORY__, "ComputationExprLibrary.fs")) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs index fc6d0483636..19165b3fe8c 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeInitialization.fs @@ -10,7 +10,7 @@ module ClassTypeInitialization = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] [] // RealSig [] // Regular diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs index 2d299616b6a..acd800eb0a6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibility.fs @@ -10,7 +10,7 @@ module ClassTypeVisibilityModuleRoot = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] [] // RealSig [] // Regular diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs index 786f0a930b9..318a5f3a7cb 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRoot.fs @@ -10,7 +10,7 @@ module ClassTypeVisibilityModuleRoot = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] [] // RealSig [] // Regular diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs index 1615106a3d3..77f5a5fefb8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs @@ -9,7 +9,7 @@ module ClassTypeVisibilityModuleRootWithFsi = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] [] // RealSig [] // Regular diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs index 5211a913085..c12fe0c6829 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRoot.fs @@ -10,7 +10,7 @@ module ClassTypeVisibilityNamespaceRoot = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] [] // RealSig [] // Regular diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs index e4e2ae6cedb..f3b105f64a1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs @@ -9,7 +9,7 @@ module ClassTypeVisibilityNamespaceRootWithFsi = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] [] // RealSig [] // Regular diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs index a9f214c2f0a..8666aaad2ac 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ModuleInitialization.fs @@ -10,7 +10,7 @@ module ModuleInitialization = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] let simplePublicModule = FSharp """ diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs index 0b8bb2e98dc..b0b12e502d0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/RealInternalSignature.fs @@ -10,7 +10,7 @@ module RealInternalSignature = let withRealInternalSignature realSig compilation = compilation - |> withOptions [if realSig then "--realInternalSignature+" else "--realInternalSignature-" ] + |> withOptions [if realSig then "--realsig+" else "--realsig-" ] let simplePublicModule = FSharp """ diff --git a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl index acb8f88ea94..8f80673a9ba 100644 --- a/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl +++ b/tests/FSharp.Compiler.Service.Tests/expected-help-output.bsl @@ -91,7 +91,7 @@ --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) ---realInternalSignature[+|-] Generate assembly with IL visibility +--realsig[+|-] Generate assembly with IL visibility that matches the source code visibility --pathmap: Maps physical paths to source path diff --git a/tests/FSharp.Test.Utilities/Compiler.fs b/tests/FSharp.Test.Utilities/Compiler.fs index b41ceed40a9..0220f6babe2 100644 --- a/tests/FSharp.Test.Utilities/Compiler.fs +++ b/tests/FSharp.Test.Utilities/Compiler.fs @@ -207,7 +207,7 @@ module rec Compiler = | Arm = 5 | Arm64 = 6 - let public defaultOptions : string list = ["--realInternalSignature+"] + let public defaultOptions : string list = ["--realsig+"] let normalizePathSeparator (text:string) = text.Replace(@"\", "/") @@ -586,12 +586,12 @@ module rec Compiler = let withRealInternalSignatureOff (cUnit: CompilationUnit) : CompilationUnit = match cUnit with - | FS fs -> FS { fs with Options = fs.Options @ ["--realInternalSignature-"] } + | FS fs -> FS { fs with Options = fs.Options @ ["--realsig-"] } | _ -> failwith "withRealInternalSignatureOff only supported by f#" let withRealInternalSignatureOn (cUnit: CompilationUnit) : CompilationUnit = match cUnit with - | FS fs -> FS { fs with Options = fs.Options @ ["--realInternalSignature+"] } + | FS fs -> FS { fs with Options = fs.Options @ ["--realsig+"] } | _ -> failwith "withRealInternalSignatureOn only supported by f#" let asExe (cUnit: CompilationUnit) : CompilationUnit = diff --git a/vsintegration/Directory.Build.props b/vsintegration/Directory.Build.props index 1fa6bb8d755..3506c3888d2 100644 --- a/vsintegration/Directory.Build.props +++ b/vsintegration/Directory.Build.props @@ -7,7 +7,6 @@ true Neutral true - $(OtherFlags) --realInternalSignature+ From 9016237ebfb7e466f077d74afacc48b0e1268136 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 26 Jan 2024 16:29:16 -0800 Subject: [PATCH 31/58] fantoms --- azure-pipelines.yml | 8 ++++---- src/Compiler/CodeGen/IlxGen.fs | 18 ++++++------------ src/Compiler/Driver/CompilerOptions.fs | 8 +------- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 94c471445df..704f5622660 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -351,7 +351,7 @@ stages: ArtifactType: Container parallel: true - - job: WindowsRealsig_testCoreclr + - job: WindowsNoRealsig_testCoreclr pool: # The PR build definition sets this variable: # WindowsMachineQueueName=Windows.vs2022.amd64.open @@ -364,7 +364,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -realsig -testCoreclr -configuration Release + - script: eng\CIBuild.cmd -compressallmetadata -norealsig -testCoreclr -configuration Release env: NativeToolsOnMachine: true displayName: Build @@ -379,7 +379,7 @@ stages: ArtifactType: Container parallel: true - - job: WindowsRealsig_testDesktop + - job: WindowsNoRealsig_testDesktop pool: # The PR build definition sets this variable: # WindowsMachineQueueName=Windows.vs2022.amd64.open @@ -392,7 +392,7 @@ stages: - checkout: self clean: true - - script: eng\CIBuild.cmd -compressallmetadata -realsig -testDesktop -configuration Release + - script: eng\CIBuild.cmd -compressallmetadata -norealsig -testDesktop -configuration Release env: NativeToolsOnMachine: true displayName: Build diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 75c718fbdae..415ca3b70d1 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8510,8 +8510,7 @@ and GenBindingAfterDebugPoint cenv cgbuf eenv bind isStateVar startMarkOpt = let ilFieldDefs = let hidden = not hasLiteralAttr || IsHiddenVal eenv.sigToImplRemapInfo vspec - let access = - ComputeMemberAccess hidden vspec.Accessibility cenv.g.realsig + let access = ComputeMemberAccess hidden vspec.Accessibility cenv.g.realsig let ilFieldDef = mkILStaticField (fspec.Name, fty, None, None, access) @@ -10861,8 +10860,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) : ILTypeRef option let tyconRepr = tycon.TypeReprInfo - let reprAccess = - ComputeMemberAccess hiddenRepr taccessPublic cenv.g.realsig + let reprAccess = ComputeMemberAccess hiddenRepr taccessPublic cenv.g.realsig // DebugDisplayAttribute gets copied to the subtypes generated as part of DU compilation let debugDisplayAttrs, normalAttrs = @@ -11028,8 +11026,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) : ILTypeRef option [ g.CompilerGeneratedAttribute; g.DebuggerBrowsableNeverAttribute ] | _ -> [] // don't hide fields in classes in debug display - let access = - ComputeMemberAccess isFieldHidden taccessPublic cenv.g.realsig + let access = ComputeMemberAccess isFieldHidden taccessPublic cenv.g.realsig let literalValue = Option.map (GenFieldInit m) fspec.LiteralValue @@ -11100,8 +11097,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) : ILTypeRef option let ilPropName = fspec.LogicalName let ilMethName = "get_" + ilPropName - let access = - ComputeMemberAccess isPropHidden taccessPublic cenv.g.realsig + let access = ComputeMemberAccess isPropHidden taccessPublic cenv.g.realsig let isStruct = isStructTyconRef tcref @@ -11126,8 +11122,7 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) : ILTypeRef option let ilParams = [ mkILParamNamed ("value", ilPropType) ] let ilReturn = mkILReturn ILType.Void - let iLAccess = - ComputeMemberAccess isPropHidden taccessPublic cenv.g.realsig + let iLAccess = ComputeMemberAccess isPropHidden taccessPublic cenv.g.realsig let ilMethodDef = if isStatic then @@ -11665,8 +11660,7 @@ and GenExnDef cenv mgbuf eenv m (exnc: Tycon) : ILTypeRef option = ComputeTypeAccess tref isHidden tycon.Accessibility cenv.g.realsig - let reprAccess = - ComputeMemberAccess isHidden taccessPublic cenv.g.realsig + let reprAccess = ComputeMemberAccess isHidden taccessPublic cenv.g.realsig let fspecs = exnc.TrueInstanceFieldsAsList diff --git a/src/Compiler/Driver/CompilerOptions.fs b/src/Compiler/Driver/CompilerOptions.fs index 29469a2098f..e742a20e139 100644 --- a/src/Compiler/Driver/CompilerOptions.fs +++ b/src/Compiler/Driver/CompilerOptions.fs @@ -1029,13 +1029,7 @@ let codeGenerationFlags isFsi (tcConfigB: TcConfigBuilder) = Some(FSComp.SR.optsDeterministic ()) ) - CompilerOption( - "realsig", - tagNone, - OptionSwitch(SetRealsig tcConfigB), - None, - Some(FSComp.SR.optsRealsig ()) - ) + CompilerOption("realsig", tagNone, OptionSwitch(SetRealsig tcConfigB), None, Some(FSComp.SR.optsRealsig ())) CompilerOption("pathmap", tagPathMap, OptionStringList(AddPathMapping tcConfigB), None, Some(FSComp.SR.optsPathMap ())) From d8625a9f1f392724ba1febbaad1a480f195090f2 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Fri, 26 Jan 2024 20:33:42 -0800 Subject: [PATCH 32/58] temp --- .../CompilerOptions/fsi/help/help40-nologo.437.1033.bsl | 4 ++-- .../Source/CompilerOptions/fsi/help/help40.437.1033.bsl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl index 1d64f0abcc0..971ab021d50 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40-nologo.437.1033.bsl @@ -34,8 +34,8 @@ Usage: fsiAnyCpu [script.fsx []] --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) ---realInternalSignature[+|-] Generate assembly with dotnet - visibility that matches source +--realsig[+|-] Generate assembly with IL visibility + that matches the source code visibility --pathmap: Maps physical paths to source path names output by the compiler diff --git a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl index 2f60c980bcb..3f4de3d42fa 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl +++ b/tests/fsharpqa/Source/CompilerOptions/fsi/help/help40.437.1033.bsl @@ -36,8 +36,8 @@ Usage: fsiAnyCpu [script.fsx []] --deterministic[+|-] Produce a deterministic assembly (including module version GUID and timestamp) ---realInternalSignature[+|-] Generate assembly with dotnet - visibility that matches source +--realsig[+|-] Generate assembly with IL visibility + that matches the source code visibility --pathmap: Maps physical paths to source path names output by the compiler From 392e4a5bde75420af0078ea14f16e5efc46f19de Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 9 Feb 2024 14:58:13 -0800 Subject: [PATCH 33/58] merge issues --- src/Compiler/CodeGen/IlxGen.fs | 3 +-- .../EmittedIL/ByRefTests.fs | 6 +----- tests/FSharp.Test.Utilities/Compiler.fs | 21 ++++++++----------- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 415ca3b70d1..7e7386e47bf 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -10113,8 +10113,7 @@ and CodeGenInitMethod cenv (cgbuf: CodeGenBuffer) eenv tref (codeGenInitFunc: Co // Call global file initializer match eenv.initClassFieldSpec with | Some fs -> - cgbuf.mgbuf.AddExplicitInitToSpecificMethodDef( - (fun md -> md.Name = ".cctor"), + cgbuf.mgbuf.AddExplicitInitToCctor( tref, fs.Force(), ilDebugRange, diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs index ccbada39132..ef8dbac0f0d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ByRefTests.fs @@ -355,8 +355,7 @@ type IsReadOnlyAttribute() = type C() = let x = 59 - member _.X: inref<_> = &x - """ + member _.X: inref<_> = &x""" let verifyProperty = """.property instance int32& modreq([netstandard]System.Runtime.InteropServices.InAttribute) X() @@ -369,9 +368,6 @@ type C() = { .param [0] .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" - .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" - .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" - .custom instance void System.Runtime.CompilerServices.IsReadOnlyAttribute::.ctor() = ( 01 00 00 00 )""" let verifyIsReadOnlyAttribute = """ .class public auto ansi serializable System.Runtime.CompilerServices.IsReadOnlyAttribute diff --git a/tests/FSharp.Test.Utilities/Compiler.fs b/tests/FSharp.Test.Utilities/Compiler.fs index 0220f6babe2..c10b6cf7e19 100644 --- a/tests/FSharp.Test.Utilities/Compiler.fs +++ b/tests/FSharp.Test.Utilities/Compiler.fs @@ -1196,17 +1196,14 @@ Actual: | None -> String.Empty let success, errorMsg, actualIL = ILChecker.verifyILAndReturnActual [] p [expectedIL] - match success, baseline with - | false, Some baseline -> - // Failed try update baselines if required - // If we are here then the il file has been produced we can write it back to the baseline location - // if the environment variable TEST_UPDATE_BSL has been set - updateBaseLineIfEnvironmentSaysSo baseline.ILBaseline - createBaselineErrors baseline.ILBaseline actualIL - let errorMsg = (convenienceBaselineInstructions baseline.ILBaseline expectedIL actualIL) + errorMsg - Assert.Fail(errorMsg) - | false, None -> Assert.Fail("No baseline provided") - | _, _ -> () + if not success then + // Failed try update baselines if required + // If we are here then the il file has been produced we can write it back to the baseline location + // if the environment variable TEST_UPDATE_BSL has been set + updateBaseLineIfEnvironmentSaysSo baseline.ILBaseline + createBaselineErrors baseline.ILBaseline actualIL + let errorMsg = (convenienceBaselineInstructions baseline.ILBaseline expectedIL actualIL) + errorMsg + Assert.Fail(errorMsg) let verifyILBaseline (cUnit: CompilationUnit) : CompilationUnit = match cUnit with @@ -1222,7 +1219,7 @@ Actual: File.WriteAllText(baseline.ILBaseline.BslSource, "") else failwith $"Build failure empty baseline at {baseline.ILBaseline.BslSource}: {a}" - | CompilationResult.Success s, Some baseline -> verifyFSILBaseline (Some baseline) s + | CompilationResult.Success s, Some baseline -> verifyFSILBaseline baseline s | _, None -> failwithf $"Baseline was not provided." | _ -> failwith "Baseline tests are only supported for F#." From b5e3c9b6ab7970c7281d90bfa6966f804059a374 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Fri, 9 Feb 2024 22:43:13 -0800 Subject: [PATCH 34/58] fantomas --- src/Compiler/CodeGen/IlxGen.fs | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 7e7386e47bf..d42c44691df 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -10112,15 +10112,7 @@ and CodeGenInitMethod cenv (cgbuf: CodeGenBuffer) eenv tref (codeGenInitFunc: Co // Call global file initializer match eenv.initClassFieldSpec with - | Some fs -> - cgbuf.mgbuf.AddExplicitInitToCctor( - tref, - fs.Force(), - ilDebugRange, - eenv.imports, - feefee, - seqpt - ) + | Some fs -> cgbuf.mgbuf.AddExplicitInitToCctor(tref, fs.Force(), ilDebugRange, eenv.imports, feefee, seqpt) | None -> () // Add code to invoke envinner's class static initializer From 209aae1a97de1093ff2b203624ad4383dca0f84d Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 12 Feb 2024 17:54:43 -0800 Subject: [PATCH 35/58] temp --- .../ClassTypeVisibilityModuleRootWithFsi.fs | 103 +++++++++++++++- ...ClassTypeVisibilityNamespaceRootWithFsi.fs | 114 ++++++++++++++++-- 2 files changed, 201 insertions(+), 16 deletions(-) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs index 77f5a5fefb8..4d7d55c1e8e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityModuleRootWithFsi.fs @@ -30,6 +30,7 @@ type TypeOne () = class end type TypeTwo () = class end type TypeThree () = class end type TypeFour () = class end +type HiddenType () = class end """)) |> asLibrary |> withLangVersionPreview @@ -113,6 +114,24 @@ type TypeFour () = class end } """ + """ + .class auto ansi serializable nested assembly HiddenType + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + }""" + else """ .class auto ansi serializable nested public TypeOne @@ -190,6 +209,24 @@ type TypeFour () = class end } """ + """ + .class auto ansi serializable nested assembly HiddenType + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + ] |> shouldSucceed @@ -212,6 +249,7 @@ type TypeOne () = class end type TypeTwo () = class end type TypeThree () = class end type TypeFour () = class end +type HiddenType () = class end """)) |> asLibrary |> withLangVersionPreview @@ -289,6 +327,25 @@ type TypeFour () = class end } } """ + + """ + .class auto ansi serializable nested assembly HiddenType + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + } """ + else """ .class auto ansi serializable nested assembly TypeOne @@ -359,6 +416,24 @@ type TypeFour () = class end IL_0008: ret } + } """ + + """ + .class auto ansi serializable nested assembly HiddenType + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + } """ ] @@ -383,7 +458,8 @@ type TestType () = member _.PublicMethod() = () member _.InternalMethod() = () member _.PrivateMethod() = () - member _.DefaultMethod() = ()""")) + member _.DefaultMethod() = () + member _.HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -394,11 +470,13 @@ type TestType () = ".method assembly hidebysig instance void InternalMethod() cil managed" ".method private hidebysig instance void PrivateMethod() cil managed" ".method public hidebysig instance void DefaultMethod() cil managed" + ".method assembly hidebysig instance void HiddenMethod() cil managed" else ".method public hidebysig instance void PublicMethod() cil managed" ".method assembly hidebysig instance void InternalMethod() cil managed" ".method assembly hidebysig instance void PrivateMethod() cil managed" ".method public hidebysig instance void DefaultMethod() cil managed" + ".method assembly hidebysig instance void HiddenMethod() cil managed" ] |> shouldSucceed @@ -422,7 +500,8 @@ type TestType () = member _.PublicMethod() = () member _.InternalMethod() = () member _.PrivateMethod() = () - member _.DefaultMethod() = ()""")) + member _.DefaultMethod() = () + member _.HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -518,7 +597,8 @@ type TestType () = member val PublicProperty = 0 with get, set member val InternalProperty = 0 with get, set member val PrivateProperty = 0 with get, set - member val DefaultProperty = 0 with get, set""")) + member val DefaultProperty = 0 with get, set + member val HiddenProperty = 0 with get, set""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -533,6 +613,8 @@ type TestType () = ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_HiddenProperty() cil managed" + ".method assembly hidebysig specialname instance void set_HiddenProperty(int32 v) cil managed" else ".method assembly hidebysig specialname instance int32 get_PublicProperty() cil managed" @@ -543,6 +625,8 @@ type TestType () = ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" ".method assembly hidebysig specialname instance int32 get_DefaultProperty() cil managed" ".method assembly hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_HiddenProperty() cil managed" + ".method assembly hidebysig specialname instance void set_HiddenProperty(int32 v) cil managed" ] |> shouldSucceed @@ -781,7 +865,8 @@ type TestType () = static member PublicMethod() = () static member InternalMethod() = () static member PrivateMethod() = () - static member DefaultMethod() = ()""")) + static member DefaultMethod() = () + static member HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -792,11 +877,14 @@ type TestType () = ".method assembly static void InternalMethod() cil managed" ".method private static void PrivateMethod() cil managed" ".method public static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" + else ".method public static void PublicMethod() cil managed" ".method assembly static void InternalMethod() cil managed" ".method assembly static void PrivateMethod() cil managed" ".method public static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" ] |> shouldSucceed @@ -857,7 +945,8 @@ type TestType () = static member val PublicProperty = 0 with get, set static member val InternalProperty = 0 with get, set static member val PrivateProperty = 0 with get, set - static member val DefaultProperty = 0 with get, set""")) + static member val DefaultProperty = 0 with get, set + static member val HiddenProperty = 0 with get, set""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -872,6 +961,8 @@ type TestType () = ".method private specialname static void set_PrivateProperty(int32 v) cil managed" ".method public specialname static int32 get_DefaultProperty() cil managed" ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_HiddenProperty() cil managed" + ".method assembly specialname static void set_HiddenProperty(int32 v) cil managed" else ".method public specialname static int32 get_PublicProperty() cil managed" @@ -882,6 +973,8 @@ type TestType () = ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" ".method public specialname static int32 get_DefaultProperty() cil managed" ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_HiddenProperty() cil managed" + ".method assembly specialname static void set_HiddenProperty(int32 v) cil managed" ] |> shouldSucceed diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs index f3b105f64a1..6f3b58e6f66 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/RealInternalSignature/ClassTypeVisibilityNamespaceRootWithFsi.fs @@ -30,6 +30,7 @@ type TypeOne () = class end type TypeTwo () = class end type TypeThree () = class end type TypeFour () = class end +type HiddenType () = class end """)) |> asLibrary |> withLangVersionPreview @@ -73,7 +74,6 @@ type TypeFour () = class end }""" - """ .class public auto ansi serializable RealInternalSignature.TypeThree extends [runtime]System.Object @@ -109,6 +109,24 @@ type TypeFour () = class end } }""" + """ +.class private auto ansi serializable RealInternalSignature.HiddenType + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + +}""" + else """ .class public auto ansi serializable RealInternalSignature.TypeOne @@ -146,7 +164,6 @@ type TypeFour () = class end }""" - """ .class public auto ansi serializable RealInternalSignature.TypeThree extends [runtime]System.Object @@ -181,6 +198,24 @@ type TypeFour () = class end IL_0008: ret } +}""" + + """ +.class private auto ansi serializable RealInternalSignature.HiddenType + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + }""" ] @@ -205,6 +240,7 @@ type TypeOne () = class end type TypeTwo () = class end type TypeThree () = class end type TypeFour () = class end +type HiddenType () = class end """)) |> asLibrary |> withLangVersionPreview @@ -281,6 +317,24 @@ type TypeFour () = class end IL_0008: ret } +}""" + + """ +.class private auto ansi serializable RealInternalSignature.HiddenType + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + }""" ] @@ -305,7 +359,8 @@ type TestType () = member _.PublicMethod() = () member _.InternalMethod() = () member _.PrivateMethod() = () - member _.DefaultMethod() = ()""")) + member _.DefaultMethod() = () + member _.HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -316,11 +371,14 @@ type TestType () = ".method assembly hidebysig instance void InternalMethod() cil managed" ".method private hidebysig instance void PrivateMethod() cil managed" ".method public hidebysig instance void DefaultMethod() cil managed" + ".method assembly hidebysig instance void HiddenMethod() cil managed" + else ".method public hidebysig instance void PublicMethod() cil managed" ".method assembly hidebysig instance void InternalMethod() cil managed" ".method assembly hidebysig instance void PrivateMethod() cil managed" ".method public hidebysig instance void DefaultMethod() cil managed" + ".method assembly hidebysig instance void HiddenMethod() cil managed" ] |> shouldSucceed @@ -344,7 +402,8 @@ type TestType () = member _.PublicMethod() = () member _.InternalMethod() = () member _.PrivateMethod() = () - member _.DefaultMethod() = ()""")) + member _.DefaultMethod() = () + member _.HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -355,12 +414,14 @@ type TestType () = ".method assembly hidebysig instance void InternalMethod() cil managed" ".method private hidebysig instance void PrivateMethod() cil managed" ".method public hidebysig instance void DefaultMethod() cil managed" + ".method assembly hidebysig instance void HiddenMethod() cil managed" else ".method assembly hidebysig instance void PublicMethod() cil managed" ".method assembly hidebysig instance void InternalMethod() cil managed" ".method assembly hidebysig instance void PrivateMethod() cil managed" ".method assembly hidebysig instance void DefaultMethod() cil managed" + ".method assembly hidebysig instance void HiddenMethod() cil managed" ] |> shouldSucceed @@ -388,7 +449,8 @@ type TestType () = member val PublicProperty = 0 with get, set member val InternalProperty = 0 with get, set member val PrivateProperty = 0 with get, set - member val DefaultProperty = 0 with get, set""")) + member val DefaultProperty = 0 with get, set + member val HiddenProperty = 0 with get, set""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -403,6 +465,8 @@ type TestType () = ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_HiddenProperty() cil managed" + ".method assembly hidebysig specialname instance void set_HiddenProperty(int32 v) cil managed" else ".method public hidebysig specialname instance int32 get_PublicProperty() cil managed" @@ -413,6 +477,8 @@ type TestType () = ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_HiddenProperty() cil managed" + ".method assembly hidebysig specialname instance void set_HiddenProperty(int32 v) cil managed" ] |> shouldSucceed @@ -440,7 +506,8 @@ type TestType () = member val PublicProperty = 0 with get, set member val InternalProperty = 0 with get, set member val PrivateProperty = 0 with get, set - member val DefaultProperty = 0 with get, set""")) + member val DefaultProperty = 0 with get, set + member val HiddenProperty = 0 with get, set""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -455,6 +522,8 @@ type TestType () = ".method private hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" ".method public hidebysig specialname instance int32 get_DefaultProperty() cil managed" ".method public hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_HiddenProperty() cil managed" + ".method assembly hidebysig specialname instance void set_HiddenProperty(int32 v) cil managed" else ".method assembly hidebysig specialname instance int32 get_PublicProperty() cil managed" @@ -465,6 +534,8 @@ type TestType () = ".method assembly hidebysig specialname instance void set_PrivateProperty(int32 v) cil managed" ".method assembly hidebysig specialname instance int32 get_DefaultProperty() cil managed" ".method assembly hidebysig specialname instance void set_DefaultProperty(int32 v) cil managed" + ".method assembly hidebysig specialname instance int32 get_HiddenProperty() cil managed" + ".method assembly hidebysig specialname instance void set_HiddenProperty(int32 v) cil managed" ] |> shouldSucceed @@ -705,7 +776,8 @@ type TestType () = static member PublicMethod() = () static member InternalMethod() = () static member PrivateMethod() = () - static member DefaultMethod() = ()""")) + static member DefaultMethod() = () + static member HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -716,11 +788,14 @@ type TestType () = ".method assembly static void InternalMethod() cil managed" ".method private static void PrivateMethod() cil managed" ".method public static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" + else ".method public static void PublicMethod() cil managed" ".method assembly static void InternalMethod() cil managed" ".method assembly static void PrivateMethod() cil managed" ".method public static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" ] |> shouldSucceed @@ -781,7 +856,8 @@ type TestType () = static member val PublicProperty = 0 with get, set static member val InternalProperty = 0 with get, set static member val PrivateProperty = 0 with get, set - static member val DefaultProperty = 0 with get, set""")) + static member val DefaultProperty = 0 with get, set + static member val HiddenProperty = 0 with get, set""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -796,6 +872,8 @@ type TestType () = ".method private specialname static void set_PrivateProperty(int32 v) cil managed" ".method public specialname static int32 get_DefaultProperty() cil managed" ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_HiddenProperty() cil managed" + ".method assembly specialname static void set_HiddenProperty(int32 v) cil managed" else ".method public specialname static int32 get_PublicProperty() cil managed" @@ -806,6 +884,8 @@ type TestType () = ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" ".method public specialname static int32 get_DefaultProperty() cil managed" ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_HiddenProperty() cil managed" + ".method assembly specialname static void set_HiddenProperty(int32 v) cil managed" ] |> shouldSucceed @@ -833,7 +913,8 @@ type TestType () = static member val PublicProperty = 0 with get, set static member val InternalProperty = 0 with get, set static member val PrivateProperty = 0 with get, set - static member val DefaultProperty = 0 with get, set""")) + static member val DefaultProperty = 0 with get, set + static member val HiddenProperty = 0 with get, set""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -848,6 +929,8 @@ type TestType () = ".method private specialname static void set_PrivateProperty(int32 v) cil managed" ".method public specialname static int32 get_DefaultProperty() cil managed" ".method public specialname static void set_DefaultProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_HiddenProperty() cil managed" + ".method assembly specialname static void set_HiddenProperty(int32 v) cil managed" else ".method assembly specialname static int32 get_PublicProperty() cil managed" @@ -858,6 +941,8 @@ type TestType () = ".method assembly specialname static void set_PrivateProperty(int32 v) cil managed" ".method assembly specialname static int32 get_DefaultProperty() cil managed" ".method assembly specialname static void set_DefaultProperty(int32 v) cil managed" + ".method assembly specialname static int32 get_HiddenProperty() cil managed" + ".method assembly specialname static void set_HiddenProperty(int32 v) cil managed" ] |> shouldSucceed @@ -1098,7 +1183,8 @@ type TestType () = static member PublicMethod() = () static member InternalMethod() = () static member PrivateMethod() = () - static member DefaultMethod() = ()""")) + static member DefaultMethod() = () + static member HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -1109,11 +1195,14 @@ type TestType () = ".method assembly static void InternalMethod() cil managed" ".method assembly static void PrivateMethod() cil managed" ".method assembly static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" + else ".method public static void PublicMethod() cil managed" ".method assembly static void InternalMethod() cil managed" ".method assembly static void PrivateMethod() cil managed" ".method assembly static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" ] |> shouldSucceed @@ -1139,7 +1228,8 @@ type TestType () = static member PublicMethod() = () static member InternalMethod() = () static member PrivateMethod() = () - static member DefaultMethod() = ()""")) + static member DefaultMethod() = () + static member HiddenMethod() = ()""")) |> asLibrary |> withLangVersionPreview |> withRealInternalSignature realSig @@ -1150,11 +1240,13 @@ type TestType () = ".method assembly static void InternalMethod() cil managed" ".method assembly static void PrivateMethod() cil managed" ".method assembly static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" else ".method public static void PublicMethod() cil managed" ".method assembly static void InternalMethod() cil managed" ".method assembly static void PrivateMethod() cil managed" ".method assembly static void DefaultMethod() cil managed" + ".method assembly static void HiddenMethod() cil managed" ] |> shouldSucceed From f7366a4ba5e63c420cdbc4049605878236992d4d Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Tue, 13 Feb 2024 08:03:10 -0800 Subject: [PATCH 36/58] Update src/Compiler/TypedTree/TypedTreeBasics.fs Co-authored-by: Tomas Grosup --- src/Compiler/TypedTree/TypedTreeBasics.fs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Compiler/TypedTree/TypedTreeBasics.fs b/src/Compiler/TypedTree/TypedTreeBasics.fs index d19d79eb83a..1fca2981579 100644 --- a/src/Compiler/TypedTree/TypedTreeBasics.fs +++ b/src/Compiler/TypedTree/TypedTreeBasics.fs @@ -462,7 +462,6 @@ let compPathOfCcu (ccu: CcuThunk) = CompPath(ccu.ILScopeRef, SyntaxAccess.Unknow let taccessPublic = TAccess [] let compPathInternal = CompPath(ILScopeRef.Local, SyntaxAccess.Internal, []) let taccessInternal = TAccess [compPathInternal] -//let taccessPrivate accessPath = TAccess [accessPath] let taccessPrivate accessPath = let (CompPath(sc,_, paths)) = accessPath in TAccess [CompPath(sc, TypedTree.SyntaxAccess.Private, paths)] let combineAccess access1 access2 = From 1ad525d4cbd1b3ebd7bb32d81b4fadcb3086f9e0 Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Tue, 13 Feb 2024 08:06:44 -0800 Subject: [PATCH 37/58] Update src/Compiler/Optimize/Optimizer.fs Co-authored-by: Tomas Grosup --- src/Compiler/Optimize/Optimizer.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Compiler/Optimize/Optimizer.fs b/src/Compiler/Optimize/Optimizer.fs index 347554af791..db690c80baa 100644 --- a/src/Compiler/Optimize/Optimizer.fs +++ b/src/Compiler/Optimize/Optimizer.fs @@ -3068,7 +3068,7 @@ and TryOptimizeVal cenv env (vOpt: ValRef option, shouldInline, inlineIfLambda, if fvs.UsesMethodLocalConstructs then // Discarding lambda for binding because uses protected members --- TBD: Should we warn or error here None - elif fvs.FreeLocals.ToArray() |> Seq.fold(fun acc v -> if not acc then v.Accessibility.IsPrivate else acc) false then + elif fvs.FreeLocals |> Seq.exists(fun v -> v.Accessibility.IsPrivate ) then // Discarding lambda for binding because uses private members --- TBD: Should we warn or error here None else From 5f4601d9ae0e1e7b75e4f72481a32c542d6a12e9 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 13 Feb 2024 13:48:30 -0800 Subject: [PATCH 38/58] inline --- src/FSharp.Core/printf.fs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/FSharp.Core/printf.fs b/src/FSharp.Core/printf.fs index 60095d03422..a326492c672 100644 --- a/src/FSharp.Core/printf.fs +++ b/src/FSharp.Core/printf.fs @@ -2,8 +2,6 @@ namespace Microsoft.FSharp.Core -#nowarn "1118" // 'Make' marked 'inline', perhaps because a recursive value was marked 'inline' - open System open System.IO open System.Text @@ -548,7 +546,7 @@ module internal PrintfImpl = /// A wrapper struct used to slightly strengthen the types of "ValueConverter" objects produced during composition of /// the dynamic implementation. These are always functions but sometimes they take one argument, sometimes two. [] - type ValueConverter private (f: obj) = + type ValueConverter internal (f: obj) = member x.FuncObj = f static member inline Make (f: obj -> string) = ValueConverter(box f) From e2e6965c137b46482f528ca813bdca0add21b347 Mon Sep 17 00:00:00 2001 From: Vlad Zarytovskii Date: Wed, 14 Feb 2024 10:42:40 +0100 Subject: [PATCH 39/58] Fix plain build. --- Directory.Build.props | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 5a7a972e193..1fc1a4c9b91 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -6,17 +6,6 @@ true - - - $(OtherFlags) --realsig- - $(OtherFlags) --realsig+ - - - + $(OtherFlags) --realsig- + $(OtherFlags) --realsig+ + + From 54935e41f37a9de0fd5c6a30ffa28a19f722e8df Mon Sep 17 00:00:00 2001 From: Vlad Zarytovskii Date: Tue, 20 Feb 2024 12:12:16 +0100 Subject: [PATCH 40/58] Update changelog --- docs/release-notes/.FSharp.Core/8.0.200.md | 1 - docs/release-notes/.FSharp.Core/8.0.300.md | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/.FSharp.Core/8.0.200.md b/docs/release-notes/.FSharp.Core/8.0.200.md index 034e5acc7df..8a1feafaf64 100644 --- a/docs/release-notes/.FSharp.Core/8.0.200.md +++ b/docs/release-notes/.FSharp.Core/8.0.200.md @@ -1,5 +1,4 @@ ### Added * More inlines for Result module. ([PR #16106](https://github.com/dotnet/fsharp/pull/16106)) -* Add switch to generate types and members with IL visibility that accurately epresents their F# visibility. ([PR #15484](https://github.com/dotnet/fsharp/pull/15484), [#PR 16427](https://github.com/dotnet/fsharp/pull/15484) * Added a new parameterless constructor for `CustomOperationAttribute` ([PR #16475](https://github.com/dotnet/fsharp/pull/16475), part of implementation for [fslang-suggestions/1250](https://github.com/fsharp/fslang-suggestions/issues/1250)) diff --git a/docs/release-notes/.FSharp.Core/8.0.300.md b/docs/release-notes/.FSharp.Core/8.0.300.md index 3f799b15f94..a978645b641 100644 --- a/docs/release-notes/.FSharp.Core/8.0.300.md +++ b/docs/release-notes/.FSharp.Core/8.0.300.md @@ -1,5 +1,6 @@ ### Added -* minor tweaks to inline specifications to support Visibility PR ([PR #15484](https://github.com/dotnet/fsharp/pull/15484), [#PR 16427](https://github.com/dotnet/fsharp/pull/15484) + +* Minor tweaks to inline specifications to support Visibility PR ([PR #15484](https://github.com/dotnet/fsharp/pull/15484), [#PR 16427](https://github.com/dotnet/fsharp/pull/15484) ### Fixed * Preserve original stack traces in resumable state machines generated code if available. ([PR #16568](https://github.com/dotnet/fsharp/pull/16568)) From 379a65f29e7f70273d0948ef1f55d47bdc709ea1 Mon Sep 17 00:00:00 2001 From: Vlad Zarytovskii Date: Thu, 22 Feb 2024 12:07:34 +0100 Subject: [PATCH 41/58] Fixed release notes --- docs/release-notes/.FSharp.Compiler.Service/8.0.300.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md index 91a2e2e2cbf..18a74654259 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md +++ b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md @@ -18,7 +18,7 @@ * Parser recovers on complex primary constructor patterns, better tree representation for primary constructor patterns. ([PR #16425](https://github.com/dotnet/fsharp/pull/16425)) * Name resolution: keep type vars in subsequent checks ([PR #16456](https://github.com/dotnet/fsharp/pull/16456)) * Higher-order-function-based API for working with the untyped abstract syntax tree. ([PR #16462](https://github.com/dotnet/fsharp/pull/16462)) -* Add switch to generate types and members with IL visibility that accurately represents their F# visibility. ([PR #15484](https://github.com/dotnet/fsharp/pull/15484), [#PR 16427](https://github.com/dotnet/fsharp/pull/15484) +* Add switch to generate types and members with IL visibility that accurately represents their F# visibility. ([PR #15484](https://github.com/dotnet/fsharp/pull/15484) * Allow returning bool instead of unit option for partial active patterns. ([Language suggestion #1041](https://github.com/fsharp/fslang-suggestions/issues/1041), [PR #16473](https://github.com/dotnet/fsharp/pull/16473)) * Symbols: Add GenericArguments to FSharpEntity ([PR #16470](https://github.com/dotnet/fsharp/pull/16470)) From 4ea9451eced111b9f7658d079b20e8b925542b62 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 22 Feb 2024 14:29:08 -0800 Subject: [PATCH 42/58] feedback --- src/FSharp.Core/array.fs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/FSharp.Core/array.fs b/src/FSharp.Core/array.fs index a88f3b2070d..344d7e3e7cf 100644 --- a/src/FSharp.Core/array.fs +++ b/src/FSharp.Core/array.fs @@ -2,7 +2,7 @@ namespace Microsoft.FSharp.Collections -#nowarn "1118" // 'Make' marked 'inline', perhaps because a recursive value was marked 'inline' +//#nowarn "1118" // 'Make' marked 'inline', perhaps because a recursive value was marked 'inline' open System open System.Diagnostics @@ -2083,10 +2083,10 @@ module Array = // The following two parameters were benchmarked and found to be optimal. // Benchmark was run using: 11th Gen Intel Core i9-11950H 2.60GHz, 1 CPU, 16 logical and 8 physical cores - let private maxPartitions = Environment.ProcessorCount // The maximum number of partitions to use - let private minChunkSize = 256 // The minimum size of a chunk to be sorted in parallel + let maxPartitions = Environment.ProcessorCount // The maximum number of partitions to use + let minChunkSize = 256 // The minimum size of a chunk to be sorted in parallel - let private createPartitionsUpToWithMinChunkSize maxIdxExclusive minChunkSize (array: 'T array) = + let createPartitionsUpToWithMinChunkSize maxIdxExclusive minChunkSize (array: 'T array) = [| let chunkSize = match maxIdxExclusive with @@ -2103,7 +2103,7 @@ module Array = yield new ArraySegment<'T>(array, offset, maxIdxExclusive - offset) |] - let private createPartitionsUpTo maxIdxExclusive (array: 'T array) = + let createPartitionsUpTo maxIdxExclusive (array: 'T array) = createPartitionsUpToWithMinChunkSize maxIdxExclusive minChunkSize array (* This function is there also as a support vehicle for other aggregations. From 89795dd561c81b67c09c5639eddeffa0db4d0828 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 22 Feb 2024 17:12:43 -0800 Subject: [PATCH 43/58] remove surplus realsigs --- src/Compiler/Checking/CheckBasics.fs | 6 +----- src/Compiler/Checking/CheckBasics.fsi | 4 ---- src/Compiler/Checking/CheckDeclarations.fs | 8 +++----- src/Compiler/Checking/CheckDeclarations.fsi | 2 -- src/Compiler/Checking/PostInferenceChecks.fs | 6 +----- src/Compiler/Checking/PostInferenceChecks.fsi | 1 - src/Compiler/Driver/ParseAndCheckInputs.fs | 4 ---- 7 files changed, 5 insertions(+), 26 deletions(-) diff --git a/src/Compiler/Checking/CheckBasics.fs b/src/Compiler/Checking/CheckBasics.fs index ca52d05c44b..bbfa5557b2d 100644 --- a/src/Compiler/Checking/CheckBasics.fs +++ b/src/Compiler/Checking/CheckBasics.fs @@ -308,9 +308,6 @@ type TcFileState = /// The set of active conditional defines. The value is None when conditional erasure is disabled in tooling. conditionalDefines: string list option - /// retain visibilities for internal/private members - realsig: bool - namedDebugPointsForInlinedCode: Dictionary isInternalTestSpanStackReferring: bool @@ -337,7 +334,7 @@ type TcFileState = /// Create a new compilation environment static member Create - (g, isScript, amap, thisCcu, isSig, haveSig, realsig, conditionalDefines, tcSink, tcVal, isInternalTestSpanStackReferring, diagnosticOptions, + (g, isScript, amap, thisCcu, isSig, haveSig, conditionalDefines, tcSink, tcVal, isInternalTestSpanStackReferring, diagnosticOptions, tcPat, tcSimplePats, tcSequenceExpressionEntry, @@ -366,7 +363,6 @@ type TcFileState = namedDebugPointsForInlinedCode = Dictionary() compilingCanonicalFslibModuleType = (isSig || not haveSig) && g.compilingFSharpCore conditionalDefines = conditionalDefines - realsig = realsig isInternalTestSpanStackReferring = isInternalTestSpanStackReferring diagnosticOptions = diagnosticOptions argInfoCache = ConcurrentDictionary() diff --git a/src/Compiler/Checking/CheckBasics.fsi b/src/Compiler/Checking/CheckBasics.fsi index d397d73c11a..e3ad581cb61 100644 --- a/src/Compiler/Checking/CheckBasics.fsi +++ b/src/Compiler/Checking/CheckBasics.fsi @@ -258,9 +258,6 @@ type TcFileState = /// The set of active conditional defines. The value is None when conditional erasure is disabled in tooling. conditionalDefines: string list option - // Retain internal/private visibility - realsig: bool - namedDebugPointsForInlinedCode: Dictionary isInternalTestSpanStackReferring: bool @@ -320,7 +317,6 @@ type TcFileState = thisCcu: CcuThunk * isSig: bool * haveSig: bool * - realsig: bool * conditionalDefines: string list option * tcSink: TcResultsSink * tcVal: TcValF * diff --git a/src/Compiler/Checking/CheckDeclarations.fs b/src/Compiler/Checking/CheckDeclarations.fs index d30fe618d4c..5bb8d4081a0 100644 --- a/src/Compiler/Checking/CheckDeclarations.fs +++ b/src/Compiler/Checking/CheckDeclarations.fs @@ -5654,7 +5654,6 @@ let CheckOneImplFile thisCcu, openDecls0, checkForErrors, - realsig, conditionalDefines, tcSink, isInternalTestSpanStackReferring, @@ -5675,7 +5674,6 @@ let CheckOneImplFile |] let cenv = cenv.Create (g, isScript, amap, thisCcu, false, Option.isSome rootSigOpt, - realsig, conditionalDefines, tcSink, LightweightTcValForUsingInBuildMethodCall g, @@ -5772,7 +5770,7 @@ let CheckOneImplFile Activity.Tags.qualifiedNameOfFile, qualNameOfFile.Text |] PostTypeCheckSemanticChecks.CheckImplFile - (g, cenv.amap, cenv.realsig, reportErrors, cenv.infoReader, + (g, cenv.amap, reportErrors, cenv.infoReader, env.eInternalsVisibleCompPaths, cenv.thisCcu, tcVal, envAtEnd.DisplayEnv, implFileTy, implFileContents, extraAttribs, isLastCompiland, isInternalTestSpanStackReferring) @@ -5809,7 +5807,7 @@ let CheckOneImplFile /// Check an entire signature file -let CheckOneSigFile (g, amap, thisCcu, checkForErrors, realsig, conditionalDefines, tcSink, isInternalTestSpanStackReferring, diagnosticOptions) tcEnv (sigFile: ParsedSigFileInput) = +let CheckOneSigFile (g, amap, thisCcu, checkForErrors, conditionalDefines, tcSink, isInternalTestSpanStackReferring, diagnosticOptions) tcEnv (sigFile: ParsedSigFileInput) = cancellable { use _ = Activity.start "CheckDeclarations.CheckOneSigFile" @@ -5818,7 +5816,7 @@ let CheckOneSigFile (g, amap, thisCcu, checkForErrors, realsig, conditionalDefin Activity.Tags.qualifiedNameOfFile, sigFile.QualifiedName.Text |] let cenv = - cenv.Create(g, false, amap, thisCcu, true, false, realsig, + cenv.Create(g, false, amap, thisCcu, true, false, conditionalDefines, tcSink, LightweightTcValForUsingInBuildMethodCall g, diff --git a/src/Compiler/Checking/CheckDeclarations.fsi b/src/Compiler/Checking/CheckDeclarations.fsi index 797c8004b85..fb4679f2438 100644 --- a/src/Compiler/Checking/CheckDeclarations.fsi +++ b/src/Compiler/Checking/CheckDeclarations.fsi @@ -54,7 +54,6 @@ val CheckOneImplFile: CcuThunk * OpenDeclaration list * (unit -> bool) * - bool * ConditionalDefines option * TcResultsSink * bool * @@ -69,7 +68,6 @@ val CheckOneSigFile: ImportMap * CcuThunk * (unit -> bool) * - bool * ConditionalDefines option * TcResultsSink * bool * diff --git a/src/Compiler/Checking/PostInferenceChecks.fs b/src/Compiler/Checking/PostInferenceChecks.fs index fb14b836a61..e15d9e9463f 100644 --- a/src/Compiler/Checking/PostInferenceChecks.fs +++ b/src/Compiler/Checking/PostInferenceChecks.fs @@ -85,9 +85,6 @@ type env = /// "module remap info", i.e. hiding information down the signature chain, used to compute what's hidden by a signature sigToImplRemapInfo: (Remap * SignatureHidingInfo) list - /// preserve internal/private signature information - realsig: bool - /// Are we in a quotation? quote : bool @@ -2605,7 +2602,7 @@ let CheckImplFileContents cenv env implFileTy implFileContents = UpdatePrettyTyparNames.updateModuleOrNamespaceType implFileTy CheckDefnInModule cenv env implFileContents -let CheckImplFile (g, amap, realsig, reportErrors, infoReader, internalsVisibleToPaths, viewCcu, tcValF, denv, implFileTy, implFileContents, extraAttribs, isLastCompiland: bool*bool, isInternalTestSpanStackReferring) = +let CheckImplFile (g, amap, reportErrors, infoReader, internalsVisibleToPaths, viewCcu, tcValF, denv, implFileTy, implFileContents, extraAttribs, isLastCompiland: bool*bool, isInternalTestSpanStackReferring) = let cenv = { g = g reportErrors = reportErrors @@ -2638,7 +2635,6 @@ let CheckImplFile (g, amap, realsig, reportErrors, infoReader, internalsVisibleT let env = { sigToImplRemapInfo=[] - realsig = realsig quote=false boundTyparNames=[] argVals = ValMap.Empty diff --git a/src/Compiler/Checking/PostInferenceChecks.fsi b/src/Compiler/Checking/PostInferenceChecks.fsi index f9b34ffea93..5ed4bb61fe8 100644 --- a/src/Compiler/Checking/PostInferenceChecks.fsi +++ b/src/Compiler/Checking/PostInferenceChecks.fsi @@ -14,7 +14,6 @@ open FSharp.Compiler.TcGlobals val CheckImplFile: g: TcGlobals * amap: ImportMap * - realsig: bool * reportErrors: bool * infoReader: InfoReader * internalsVisibleToPaths: CompilationPath list * diff --git a/src/Compiler/Driver/ParseAndCheckInputs.fs b/src/Compiler/Driver/ParseAndCheckInputs.fs index b19dec84b97..5a23c95ca7b 100644 --- a/src/Compiler/Driver/ParseAndCheckInputs.fs +++ b/src/Compiler/Driver/ParseAndCheckInputs.fs @@ -1306,7 +1306,6 @@ let CheckOneInput amap, tcState.tcsCcu, checkForErrors, - tcConfig.realsig, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, @@ -1357,7 +1356,6 @@ let CheckOneInput tcState.tcsCcu, tcState.tcsImplicitOpenDeclarations, checkForErrors, - tcConfig.realsig, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, @@ -1521,7 +1519,6 @@ let CheckOneInputWithCallback amap, tcState.tcsCcu, checkForErrors, - tcConfig.realsig, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, @@ -1576,7 +1573,6 @@ let CheckOneInputWithCallback tcState.tcsCcu, tcState.tcsImplicitOpenDeclarations, checkForErrors, - tcConfig.realsig, conditionalDefines, tcSink, tcConfig.internalTestSpanStackReferring, From afa9f2985c13609bf924c983f159ce5057508fe8 Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Thu, 22 Feb 2024 17:31:50 -0800 Subject: [PATCH 44/58] Update src/Compiler/TypedTree/TypedTree.fsi Co-authored-by: Petr Pokorny --- src/Compiler/TypedTree/TypedTree.fsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Compiler/TypedTree/TypedTree.fsi b/src/Compiler/TypedTree/TypedTree.fsi index 94e410fa133..00aee7a92ef 100644 --- a/src/Compiler/TypedTree/TypedTree.fsi +++ b/src/Compiler/TypedTree/TypedTree.fsi @@ -2182,7 +2182,7 @@ type Val = /// a true body. These cases are often causes of bugs in the compiler. member MemberInfo: ValMemberInfo option - /// Indicates whether the inline declaration for the value indicate that the value should be inlined? + /// Indicates whether the inline declaration for the value indicates that the value should be inlined. member ShouldInline: bool /// Get the number of 'this'/'self' object arguments for the member. Instance extension members return '1'. From 6dbbeb1b7cf078435254cde784bc159fac03e4f2 Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Thu, 22 Feb 2024 17:40:47 -0800 Subject: [PATCH 45/58] Update tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs Co-authored-by: Petr Pokorny --- .../EmittedIL/ComputationExpressions/ComputationExpressions.fs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs index 107fa567487..519d691cc18 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs @@ -9,7 +9,7 @@ module ComputationExpressions = let withRealInternalSignature compilation = compilation - |> withOptions ["--realsig-"] + |> withOptions ["--realsig+"] let withoutRealInternalSignature compilation = compilation From 6c7f787369260ddf74988b59e7d99d1375f9422e Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Thu, 22 Feb 2024 22:16:26 -0800 Subject: [PATCH 46/58] baselines --- ...Expr01.fs.RealInternalSignatureOff.il.bsl} | 9 +- ...onExpr01.fs.RealInternalSignatureOn.il.bsl | 157 ++++++++ ...Expr02.fs.RealInternalSignatureOff.il.bsl} | 9 +- ...onExpr02.fs.RealInternalSignatureOn.il.bsl | 168 ++++++++ ...Expr03.fs.RealInternalSignatureOff.il.bsl} | 36 +- ...onExpr03.fs.RealInternalSignatureOn.il.bsl | 367 ++++++++++++++++++ ...Expr04.fs.RealInternalSignatureOff.il.bsl} | 21 +- ...onExpr04.fs.RealInternalSignatureOn.il.bsl | 273 +++++++++++++ ...Expr05.fs.RealInternalSignatureOff.il.bsl} | 21 +- ...onExpr05.fs.RealInternalSignatureOn.il.bsl | 247 ++++++++++++ ...Expr06.fs.RealInternalSignatureOff.il.bsl} | 24 +- ...onExpr06.fs.RealInternalSignatureOn.il.bsl | 320 +++++++++++++++ ...Expr07.fs.RealInternalSignatureOff.il.bsl} | 19 +- ...onExpr07.fs.RealInternalSignatureOn.il.bsl | 284 ++++++++++++++ .../ComputationExpressions.fs | 28 +- 15 files changed, 1877 insertions(+), 106 deletions(-) rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/{ComputationExpr01.fs.il.bsl => ComputationExpr01.fs.RealInternalSignatureOff.il.bsl} (94%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/{ComputationExpr02.fs.il.bsl => ComputationExpr02.fs.RealInternalSignatureOff.il.bsl} (95%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/{ComputationExpr03.fs.il.bsl => ComputationExpr03.fs.RealInternalSignatureOff.il.bsl} (93%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/{ComputationExpr04.fs.il.bsl => ComputationExpr04.fs.RealInternalSignatureOff.il.bsl} (93%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/{ComputationExpr05.fs.il.bsl => ComputationExpr05.fs.RealInternalSignatureOff.il.bsl} (93%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/{ComputationExpr06.fs.il.bsl => ComputationExpr06.fs.RealInternalSignatureOff.il.bsl} (94%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl rename tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/{ComputationExpr07.fs.il.bsl => ComputationExpr07.fs.RealInternalSignatureOff.il.bsl} (96%) create mode 100644 tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOff.il.bsl similarity index 94% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOff.il.bsl index dabd1b0c57f..0ffa9021a8b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOff.il.bsl @@ -54,8 +54,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -69,8 +68,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 8 @@ -84,8 +82,7 @@ } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res1() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res1() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..aa6495b7f20 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,157 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern ComputationExprLibrary +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit res1@10 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res1@10::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res1@10::builder@ + IL_0006: ldc.i4.1 + IL_0007: tail. + IL_0009: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_000e: ret + } + + } + + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res1@8 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res1@8 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [ComputationExprLibrary]Library.EventuallyBuilder V_0, + class [ComputationExprLibrary]Library.Eventually`1 V_1) + IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void Program/res1@10::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_000d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0012: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res1@8 + IL_0017: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res1() + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0023: pop + IL_0024: ret + } + + .property class [ComputationExprLibrary]Library.Eventually`1 + res1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res1() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOff.il.bsl similarity index 95% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOff.il.bsl index 997c267a7f4..6cd61a10cd0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOff.il.bsl @@ -54,8 +54,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -69,8 +68,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 7 @@ -95,8 +93,7 @@ } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res2() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res2() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..3b9defc04a6 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,168 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern ComputationExprLibrary +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit res2@9 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res2@9::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [runtime]System.String::get_Length() + IL_001b: stloc.0 + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res2@9::builder@ + IL_0022: ldloc.0 + IL_0023: ldloc.0 + IL_0024: add + IL_0025: tail. + IL_0027: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_002c: ret + } + + } + + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res2@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res2@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [ComputationExprLibrary]Library.EventuallyBuilder V_0, + class [ComputationExprLibrary]Library.Eventually`1 V_1) + IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void Program/res2@9::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_000d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0012: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res2@7 + IL_0017: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res2() + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0023: pop + IL_0024: ret + } + + .property class [ComputationExprLibrary]Library.Eventually`1 + res2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res2() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOff.il.bsl similarity index 93% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOff.il.bsl index e0e48f1667a..f5f20503b19 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOff.il.bsl @@ -54,8 +54,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -69,8 +68,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 7 @@ -102,8 +100,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -117,8 +114,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 6 @@ -148,8 +144,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -163,8 +158,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(int32 _arg2) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(int32 _arg2) cil managed { .maxstack 6 @@ -188,8 +182,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -203,8 +196,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(int32 _arg1) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(int32 _arg1) cil managed { .maxstack 7 @@ -238,8 +230,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -253,8 +244,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 8 @@ -272,8 +262,7 @@ } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res2() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res2() cil managed { .maxstack 8 @@ -281,8 +270,7 @@ IL_0005: ret } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res3() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res3() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..9f116f47f17 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,367 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern ComputationExprLibrary +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit res2@9 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res2@9::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [runtime]System.String::get_Length() + IL_001b: stloc.0 + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res2@9::builder@ + IL_0022: ldloc.0 + IL_0023: ldloc.0 + IL_0024: add + IL_0025: tail. + IL_0027: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res3@18-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res3@18-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: nop + IL_0001: ldstr "hello" + IL_0006: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000b: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0010: pop + IL_0011: ldstr "hello" + IL_0016: callvirt instance int32 [runtime]System.String::get_Length() + IL_001b: stloc.0 + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res3@18-2'::builder@ + IL_0022: ldc.i4.1 + IL_0023: tail. + IL_0025: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_002a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res3@21-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res3@21-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(int32 _arg2) cil managed + { + + .maxstack 6 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res3@21-3'::builder@ + IL_0008: ldc.i4.1 + IL_0009: tail. + IL_000b: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_0010: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res3@16-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res3@16-1'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 7 + .locals init (int32 V_0, + class [ComputationExprLibrary]Library.EventuallyBuilder V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res3@16-1'::builder@ + IL_0008: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_000d: stloc.1 + IL_000e: ldloc.1 + IL_000f: ldloc.1 + IL_0010: newobj instance void Program/'res3@18-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0015: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001a: ldarg.0 + IL_001b: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res3@16-1'::builder@ + IL_0020: newobj instance void Program/'res3@21-3'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0025: tail. + IL_0027: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Bind(class [ComputationExprLibrary]Library.Eventually`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit res3@15 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res3@15::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res3@15::builder@ + IL_0006: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res2() + IL_000b: ldarg.0 + IL_000c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res3@15::builder@ + IL_0011: newobj instance void Program/'res3@16-1'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0016: tail. + IL_0018: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Bind(class [ComputationExprLibrary]Library.Eventually`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001d: ret + } + + } + + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res2@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res3@13 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res2@7 + IL_0005: ret + } + + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res3() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res3@13 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [ComputationExprLibrary]Library.EventuallyBuilder V_0, + class [ComputationExprLibrary]Library.Eventually`1 V_1, + class [ComputationExprLibrary]Library.EventuallyBuilder V_2, + class [ComputationExprLibrary]Library.Eventually`1 V_3) + IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void Program/res2@9::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_000d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0012: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res2@7 + IL_0017: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res2() + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0023: pop + IL_0024: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0029: stloc.2 + IL_002a: ldloc.2 + IL_002b: ldloc.2 + IL_002c: newobj instance void Program/res3@15::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0031: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0036: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res3@13 + IL_003b: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res3() + IL_0040: stloc.3 + IL_0041: ldloc.3 + IL_0042: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0047: pop + IL_0048: ret + } + + .property class [ComputationExprLibrary]Library.Eventually`1 + res2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res2() + } + .property class [ComputationExprLibrary]Library.Eventually`1 + res3() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res3() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOff.il.bsl similarity index 93% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOff.il.bsl index 09fdff46070..64e755d264f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOff.il.bsl @@ -54,8 +54,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -69,8 +68,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 6 @@ -116,8 +114,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -131,8 +128,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [runtime]System.Exception _arg1) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [runtime]System.Exception _arg1) cil managed { .maxstack 6 @@ -165,8 +161,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -180,8 +175,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 8 @@ -204,8 +198,7 @@ } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res4() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res4() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..8efd066d3e9 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,273 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern ComputationExprLibrary +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'res4@8-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res4@8-1'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (int32 V_0, + string V_1) + IL_0000: nop + IL_0001: nop + IL_0002: ldstr "hello" + IL_0007: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0011: pop + IL_0012: ldstr "hello" + IL_0017: callvirt instance int32 [runtime]System.String::get_Length() + IL_001c: stloc.0 + IL_001d: ldstr "fail" + IL_0022: stloc.1 + IL_0023: ldc.i4.0 + IL_0024: brfalse.s IL_002e + + IL_0026: ldnull + IL_0027: unbox.any [FSharp.Core]Microsoft.FSharp.Core.Unit + IL_002c: br.s IL_0035 + + IL_002e: ldloc.1 + IL_002f: call class [runtime]System.Exception [FSharp.Core]Microsoft.FSharp.Core.Operators::Failure(string) + IL_0034: throw + + IL_0035: pop + IL_0036: ldarg.0 + IL_0037: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res4@8-1'::builder@ + IL_003c: ldloc.0 + IL_003d: tail. + IL_003f: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_0044: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res4@7-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res4@7-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [runtime]System.Exception _arg1) cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.Exception V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldstr "hello" + IL_0008: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0012: pop + IL_0013: ldstr "hello" + IL_0018: callvirt instance int32 [runtime]System.String::get_Length() + IL_001d: stloc.1 + IL_001e: ldarg.0 + IL_001f: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res4@7-2'::builder@ + IL_0024: ldloc.1 + IL_0025: tail. + IL_0027: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit res4@7 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res4@7::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res4@7::builder@ + IL_0006: ldarg.0 + IL_0007: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res4@7::builder@ + IL_000c: ldarg.0 + IL_000d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res4@7::builder@ + IL_0012: newobj instance void Program/'res4@8-1'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0017: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001c: ldarg.0 + IL_001d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res4@7::builder@ + IL_0022: newobj instance void Program/'res4@7-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0027: tail. + IL_0029: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::TryWith(class [ComputationExprLibrary]Library.Eventually`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_002e: ret + } + + } + + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res4@5 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res4() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res4@5 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [ComputationExprLibrary]Library.EventuallyBuilder V_0, + class [ComputationExprLibrary]Library.Eventually`1 V_1) + IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void Program/res4@7::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_000d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0012: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res4@5 + IL_0017: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res4() + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0023: pop + IL_0024: ret + } + + .property class [ComputationExprLibrary]Library.Eventually`1 + res4() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res4() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOff.il.bsl similarity index 93% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOff.il.bsl index 062fefa2572..1868fb32858 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOff.il.bsl @@ -52,8 +52,7 @@ implements [runtime]System.IDisposable { .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) - .method public specialname rtspecialname - instance void .ctor() cil managed + .method public specialname rtspecialname instance void .ctor() cil managed { .maxstack 8 @@ -64,8 +63,7 @@ IL_0008: ret } - .method private hidebysig newslot virtual final - instance void System.IDisposable.Dispose() cil managed + .method private hidebysig newslot virtual final instance void System.IDisposable.Dispose() cil managed { .override [runtime]System.IDisposable::Dispose @@ -85,8 +83,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -100,8 +97,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [runtime]System.IDisposable _arg1) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [runtime]System.IDisposable _arg1) cil managed { .maxstack 6 @@ -134,8 +130,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -149,8 +144,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 7 @@ -178,8 +172,7 @@ } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res5() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res5() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..773cf0053ba --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,247 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern ComputationExprLibrary +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto autochar serializable sealed nested assembly beforefieldinit specialname 'res5@10-1' + extends [runtime]System.Object + implements [runtime]System.IDisposable + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method private hidebysig newslot virtual final instance void System.IDisposable.Dispose() cil managed + { + .override [runtime]System.IDisposable::Dispose + + .maxstack 4 + .locals init (class [runtime]System.IDisposable V_0) + IL_0000: ldarg.0 + IL_0001: stloc.0 + IL_0002: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res5@11-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res5@11-2'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [runtime]System.IDisposable _arg1) cil managed + { + + .maxstack 6 + .locals init (class [runtime]System.IDisposable V_0, + int32 V_1) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: nop + IL_0003: ldstr "hello" + IL_0008: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000d: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0012: pop + IL_0013: ldstr "hello" + IL_0018: callvirt instance int32 [runtime]System.String::get_Length() + IL_001d: stloc.1 + IL_001e: ldarg.0 + IL_001f: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res5@11-2'::builder@ + IL_0024: ldc.i4.1 + IL_0025: tail. + IL_0027: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_002c: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit res5@9 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res5@9::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: nop + IL_0001: nop + IL_0002: ldstr "hello" + IL_0007: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000c: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_0011: pop + IL_0012: ldstr "hello" + IL_0017: callvirt instance int32 [runtime]System.String::get_Length() + IL_001c: stloc.0 + IL_001d: ldarg.0 + IL_001e: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res5@9::builder@ + IL_0023: newobj instance void Program/'res5@10-1'::.ctor() + IL_0028: ldarg.0 + IL_0029: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res5@9::builder@ + IL_002e: newobj instance void Program/'res5@11-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0033: tail. + IL_0035: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Using(class [runtime]System.IDisposable, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_003a: ret + } + + } + + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res5@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res5() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res5@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [ComputationExprLibrary]Library.EventuallyBuilder V_0, + class [ComputationExprLibrary]Library.Eventually`1 V_1) + IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void Program/res5@9::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_000d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0012: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res5@7 + IL_0017: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res5() + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0023: pop + IL_0024: ret + } + + .property class [ComputationExprLibrary]Library.Eventually`1 + res5() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res5() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOff.il.bsl similarity index 94% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOff.il.bsl index c1cb4280c84..5553e1bfff9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOff.il.bsl @@ -51,8 +51,7 @@ extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 { .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x - .method assembly specialname rtspecialname - instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -66,8 +65,7 @@ IL_000d: ret } - .method public strict virtual instance bool - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance bool Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 8 @@ -108,8 +106,7 @@ IL_0014: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 7 @@ -157,8 +154,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -172,8 +168,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 8 @@ -194,8 +189,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -209,8 +203,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 10 @@ -248,8 +241,7 @@ } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res6() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res6() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..88afccefe06 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,320 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern ComputationExprLibrary +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'res6@10-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2 + { + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname instance void .ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res6@10-1'::x + IL_000d: ret + } + + .method public strict virtual instance bool Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res6@10-1'::x + IL_0006: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_000b: ldc.i4.0 + IL_000c: cgt + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res6@11-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname + instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res6@11-2'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res6@11-2'::x + IL_0014: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 7 + IL_0000: ldstr "hello" + IL_0005: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_000a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_000f: pop + IL_0010: ldstr "hello" + IL_0015: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_001a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_001f: pop + IL_0020: ldstr "hello" + IL_0025: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_002a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_002f: pop + IL_0030: ldstr "hello" + IL_0035: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_003a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_003f: pop + IL_0040: ldstr "hello" + IL_0045: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`5::.ctor(string) + IL_004a: call !!0 [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::PrintFormatLine(class [FSharp.Core]Microsoft.FSharp.Core.PrintfFormat`4) + IL_004f: pop + IL_0050: ldarg.0 + IL_0051: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res6@11-2'::x + IL_0056: ldarg.0 + IL_0057: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res6@11-2'::x + IL_005c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0061: ldc.i4.1 + IL_0062: sub + IL_0063: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_0068: ldarg.0 + IL_0069: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res6@11-2'::builder@ + IL_006e: tail. + IL_0070: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Zero() + IL_0075: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res6@17-3' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res6@17-3'::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res6@17-3'::builder@ + IL_0006: ldc.i4.1 + IL_0007: tail. + IL_0009: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit res6@9 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res6@9::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 10 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0) + IL_0000: ldc.i4.1 + IL_0001: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res6@9::builder@ + IL_000d: ldarg.0 + IL_000e: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res6@9::builder@ + IL_0013: ldloc.0 + IL_0014: newobj instance void Program/'res6@10-1'::.ctor(class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0019: ldarg.0 + IL_001a: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res6@9::builder@ + IL_001f: ldarg.0 + IL_0020: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res6@9::builder@ + IL_0025: ldloc.0 + IL_0026: newobj instance void Program/'res6@11-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_002b: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0030: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::While(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2, + class [ComputationExprLibrary]Library.Eventually`1) + IL_0035: ldarg.0 + IL_0036: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res6@9::builder@ + IL_003b: ldarg.0 + IL_003c: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res6@9::builder@ + IL_0041: newobj instance void Program/'res6@17-3'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_0046: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_004b: tail. + IL_004d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Combine(class [ComputationExprLibrary]Library.Eventually`1, + class [ComputationExprLibrary]Library.Eventually`1) + IL_0052: ret + } + + } + + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res6@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res6() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res6@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [ComputationExprLibrary]Library.EventuallyBuilder V_0, + class [ComputationExprLibrary]Library.Eventually`1 V_1, + int32 V_2, + int32 V_3) + IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void Program/res6@9::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_000d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0012: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res6@7 + IL_0017: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res6() + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0023: stloc.2 + IL_0024: ldloc.2 + IL_0025: stloc.3 + IL_0026: ret + } + + .property class [ComputationExprLibrary]Library.Eventually`1 + res6() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res6() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOff.il.bsl similarity index 96% rename from tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.il.bsl rename to tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOff.il.bsl index 6b0f84999c2..ddc2e25a3e9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOff.il.bsl @@ -74,8 +74,7 @@ IL_0014: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(int32 _arg1) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(int32 _arg1) cil managed { .maxstack 7 @@ -126,8 +125,7 @@ IL_0014: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 8 @@ -150,8 +148,7 @@ .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) - .method assembly specialname rtspecialname - instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed { .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) @@ -165,8 +162,7 @@ IL_000d: ret } - .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 - Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed { .maxstack 9 @@ -182,8 +178,8 @@ IL_0014: ldc.i4.1 IL_0015: ldc.i4.3 IL_0016: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, - int32, - int32) + int32, + int32) IL_001b: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) IL_0020: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) IL_0025: ldarg.0 @@ -209,8 +205,7 @@ } - .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 - get_res7() cil managed + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res7() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..f9fe5bf4eba --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl @@ -0,0 +1,284 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern ComputationExprLibrary +{ + .ver 0:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + + + + + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.exe + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed Program + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable sealed nested assembly beforefieldinit 'res7@10-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname + instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res7@10-1'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res7@10-1'::x + IL_0014: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(int32 _arg1) cil managed + { + + .maxstack 7 + .locals init (int32 V_0) + IL_0000: ldarg.1 + IL_0001: stloc.0 + IL_0002: ldarg.0 + IL_0003: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res7@10-1'::x + IL_0008: ldarg.0 + IL_0009: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res7@10-1'::x + IL_000e: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0013: ldloc.0 + IL_0014: sub + IL_0015: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::set_contents(!0) + IL_001a: ldarg.0 + IL_001b: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res7@10-1'::builder@ + IL_0020: tail. + IL_0022: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Zero() + IL_0027: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'res7@12-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .field public class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x + .method assembly specialname rtspecialname + instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 x) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res7@12-2'::builder@ + IL_000d: ldarg.0 + IL_000e: ldarg.2 + IL_000f: stfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res7@12-2'::x + IL_0014: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/'res7@12-2'::builder@ + IL_0006: ldarg.0 + IL_0007: ldfld class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 Program/'res7@12-2'::x + IL_000c: call instance !0 class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::get_contents() + IL_0011: tail. + IL_0013: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Return(!!0) + IL_0018: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit res7@9 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2> + { + .field public class [ComputationExprLibrary]Library.EventuallyBuilder builder@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(class [ComputationExprLibrary]Library.EventuallyBuilder builder@) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res7@9::builder@ + IL_000d: ret + } + + .method public strict virtual instance class [ComputationExprLibrary]Library.Eventually`1 Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 9 + .locals init (class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1 V_0) + IL_0000: ldc.i4.1 + IL_0001: newobj instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1::.ctor(!0) + IL_0006: stloc.0 + IL_0007: ldarg.0 + IL_0008: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res7@9::builder@ + IL_000d: ldarg.0 + IL_000e: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res7@9::builder@ + IL_0013: ldc.i4.0 + IL_0014: ldc.i4.1 + IL_0015: ldc.i4.3 + IL_0016: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators/OperatorIntrinsics::RangeInt32(int32, + int32, + int32) + IL_001b: call class [runtime]System.Collections.Generic.IEnumerable`1 [FSharp.Core]Microsoft.FSharp.Core.Operators::CreateSequence(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0020: call class [FSharp.Core]Microsoft.FSharp.Collections.FSharpList`1 [FSharp.Core]Microsoft.FSharp.Collections.SeqModule::ToList(class [runtime]System.Collections.Generic.IEnumerable`1) + IL_0025: ldarg.0 + IL_0026: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res7@9::builder@ + IL_002b: ldloc.0 + IL_002c: newobj instance void Program/'res7@10-1'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0031: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::For(class [runtime]System.Collections.Generic.IEnumerable`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0036: ldarg.0 + IL_0037: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res7@9::builder@ + IL_003c: ldarg.0 + IL_003d: ldfld class [ComputationExprLibrary]Library.EventuallyBuilder Program/res7@9::builder@ + IL_0042: ldloc.0 + IL_0043: newobj instance void Program/'res7@12-2'::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpRef`1) + IL_0048: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_004d: tail. + IL_004f: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Combine(class [ComputationExprLibrary]Library.Eventually`1, + class [ComputationExprLibrary]Library.Eventually`1) + IL_0054: ret + } + + } + + .field static assembly class [ComputationExprLibrary]Library.Eventually`1 res7@7 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [ComputationExprLibrary]Library.Eventually`1 get_res7() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res7@7 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$Program::init@ + IL_0006: ldsfld int32 ''.$Program::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly static void staticInitialization@() cil managed + { + + .maxstack 4 + .locals init (class [ComputationExprLibrary]Library.EventuallyBuilder V_0, + class [ComputationExprLibrary]Library.Eventually`1 V_1, + int32 V_2, + int32 V_3) + IL_0000: call class [ComputationExprLibrary]Library.EventuallyBuilder [ComputationExprLibrary]Library.TheEventuallyBuilder::get_eventually() + IL_0005: stloc.0 + IL_0006: ldloc.0 + IL_0007: ldloc.0 + IL_0008: newobj instance void Program/res7@9::.ctor(class [ComputationExprLibrary]Library.EventuallyBuilder) + IL_000d: callvirt instance class [ComputationExprLibrary]Library.Eventually`1 [ComputationExprLibrary]Library.EventuallyBuilder::Delay(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0012: stsfld class [ComputationExprLibrary]Library.Eventually`1 Program::res7@7 + IL_0017: call class [ComputationExprLibrary]Library.Eventually`1 Program::get_res7() + IL_001c: stloc.1 + IL_001d: ldloc.1 + IL_001e: call !!0 [ComputationExprLibrary]Library.EventuallyModule::force(class [ComputationExprLibrary]Library.Eventually`1) + IL_0023: stloc.2 + IL_0024: ldloc.2 + IL_0025: stloc.3 + IL_0026: ret + } + + .property class [ComputationExprLibrary]Library.Eventually`1 + res7() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [ComputationExprLibrary]Library.Eventually`1 Program::get_res7() + } +} + +.class private abstract auto ansi sealed ''.$Program + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void Program::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs index 519d691cc18..b1e8ca4f4c8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpressions.fs @@ -32,85 +32,85 @@ module ComputationExpressions = |> ignoreWarnings |> verifyILBaseline - [] + [] let ``ComputationExpr01_realsig=true`` compilation = compilation |> withRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr01_realsig=false`` compilation = compilation |> withoutRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr02_realsig=true`` compilation = compilation |> withRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr02_realsig=false`` compilation = compilation |> withoutRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr03_realsig=true`` compilation = compilation |> withRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr03_realsig=false`` compilation = compilation |> withoutRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr04_realsig=true`` compilation = compilation |> withRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr04_realsig=false`` compilation = compilation |> withoutRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr05_realsig=true`` compilation = compilation |> withRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr05_realsig=false`` compilation = compilation |> withoutRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr06_realsig=true`` compilation = compilation |> withRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr06_realsig=false`` compilation = compilation |> withoutRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr07_realsig=true`` compilation = compilation |> withRealInternalSignature |> verifyCompilation - [] + [] let ``ComputationExpr07_realsig=false`` compilation = compilation |> withoutRealInternalSignature From 1b68f1c5232e4c50624a0a815240ce09c2951b6d Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Thu, 22 Feb 2024 23:12:37 -0800 Subject: [PATCH 47/58] baselines --- src/Compiler/CodeGen/IlxGen.fs | 3 ++- ...nSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl | 4 ++-- ...nSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl | 4 ++-- ...nSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl | 4 ++-- ...nSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl | 4 ++-- ...nSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl | 4 ++-- ...nSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl | 4 ++-- .../Default.fs.RealInternalSignatureOn.il.release.bsl | 2 +- .../Field.fs.RealInternalSignatureOn.il.release.bsl | 2 +- .../Property.fs.RealInternalSignatureOn.il.bsl | 2 +- .../CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl | 4 ++-- .../CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl | 2 +- .../CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl | 2 +- ...ibute04_RealInternalSignatureOn.fs.il.net472.release.bsl | 2 +- ...bute04_RealInternalSignatureOn.fs.il.netcore.release.bsl | 2 +- .../ComputationExpr01.fs.RealInternalSignatureOn.il.bsl | 2 +- .../ComputationExpr02.fs.RealInternalSignatureOn.il.bsl | 2 +- .../ComputationExpr03.fs.RealInternalSignatureOn.il.bsl | 2 +- .../ComputationExpr04.fs.RealInternalSignatureOn.il.bsl | 2 +- .../ComputationExpr05.fs.RealInternalSignatureOn.il.bsl | 2 +- .../ComputationExpr06.fs.RealInternalSignatureOn.il.bsl | 2 +- .../ComputationExpr07.fs.RealInternalSignatureOn.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd01.fs.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd02.fs.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd03.fs.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd04.fs.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd05.fs.il.bsl | 2 +- .../NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl | 2 +- .../GenIter04_RealInternalSignatureOn.fs.il.bsl | 2 +- ...stExpressionStepping01.fs.RealInternalSignatureOn.il.bsl | 4 ++-- ...stExpressionStepping02.fs.RealInternalSignatureOn.il.bsl | 4 ++-- ...stExpressionStepping03.fs.RealInternalSignatureOn.il.bsl | 4 ++-- ...stExpressionStepping04.fs.RealInternalSignatureOn.il.bsl | 4 ++-- ...stExpressionStepping05.fs.RealInternalSignatureOn.il.bsl | 4 ++-- ...stExpressionStepping06.fs.RealInternalSignatureOn.il.bsl | 4 ++-- .../Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl | 2 +- .../CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl | 2 +- ...buteGenericParameter01.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl | 2 +- .../Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl | 2 +- .../Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl | 2 +- .../ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl | 2 +- ...ationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl | 2 +- ...tionOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl | 2 +- .../EmittedIL/Misc/IfThenElse01.fs.il.bsl | 4 ++-- .../Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl | 2 +- .../Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl | 2 +- .../MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl | 2 +- ...ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl | 4 ++-- .../Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl | 2 +- ...rrayElements01.fs.RealInternalSignatureOn.il.release.bsl | 2 +- ...yWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl | 2 +- ...gates01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...ates01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...ators01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...tors01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...uping01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...ping01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...oins01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...ering01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...ring01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...oning01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...ning01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...fiers01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...iers01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...elect01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...lect01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...ators01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...tors01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- ...Where01.fs.RealInternalSignatureOn.il.net472.release.bsl | 2 +- ...here01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 2 +- .../SeqExpressionSteppingTest01.fs.il.bsl | 4 ++-- .../SeqExpressionSteppingTest02.fs.il.bsl | 4 ++-- .../SeqExpressionSteppingTest03.fs.il.bsl | 4 ++-- .../SeqExpressionSteppingTest04.fs.il.bsl | 4 ++-- .../SeqExpressionSteppingTest05.fs.il.bsl | 4 ++-- .../SeqExpressionSteppingTest06.fs.il.bsl | 4 ++-- .../SeqExpressionSteppingTest07.fs.il.net472.release.bsl | 2 +- .../SeqExpressionSteppingTest07.fs.il.netcore.release.bsl | 2 +- .../LetBinding01.fs.RealInternalSignatureOn.il.bsl | 2 +- .../StaticInit_Class01.fs.RealInternalSignatureOn.il.bsl | 4 ++-- .../StaticInit_Module01.fs.RealInternalSignatureOn.il.bsl | 6 +++--- ...truct01.fs.RealInternalSignatureOn.il.net472.release.bsl | 4 ++-- ...ruct01.fs.RealInternalSignatureOn.il.netcore.release.bsl | 4 ++-- .../Structure/FloatsAndDoubles_2.fs.il.release.bsl | 2 +- .../TestFunction09b4_RealInternalSignatureOn.fs.il.bsl | 2 +- .../TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl | 2 +- ...TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl | 2 +- ...TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl | 2 +- ...estFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl | 2 +- ...TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl | 2 +- ...estFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl | 2 +- ...TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl | 2 +- ...estFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl | 2 +- ...TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl | 2 +- ...estFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl | 2 +- .../TestFunction22f_RealInternalSignatureOn.fs.il.bsl | 2 +- ...TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl | 2 +- ...TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl | 2 +- ...estFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl | 2 +- .../Verify13043_RealInternalSignatureOn.fs.il.release.bsl | 2 +- .../Tuples/Tuple02.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Tuples/Tuple03.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Tuples/Tuple04.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Tuples/Tuple05.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Tuples/Tuple07.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Tuples/Tuple08.fs.RealInternalSignatureOn.il.bsl | 2 +- .../Tuples/TupleMonster.fs.RealInternalSignatureOn.il.bsl | 2 +- ...liasConstructor.fs.RealInternalSignatureOn.il.net472.bsl | 2 +- ...iasConstructor.fs.RealInternalSignatureOn.il.netcore.bsl | 2 +- ...parison_RealInternalSignatureOn.fs.il.net472.release.bsl | 2 +- ...arison_RealInternalSignatureOn.fs.il.netcore.release.bsl | 2 +- .../LinqCount.fsx.realInternalSignatureOn.il.net472.bsl | 2 +- .../LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl | 2 +- .../ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl | 4 ++-- ...owWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl | 2 +- ...tOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl | 4 ++-- ...adowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl | 2 +- ...illOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl | 2 +- 127 files changed, 156 insertions(+), 155 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index d42c44691df..78e4ac2e8a7 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -10122,7 +10122,8 @@ and CodeGenInitMethod cenv (cgbuf: CodeGenBuffer) eenv tref (codeGenInitFunc: Co let ilReturn = mkILReturn ILType.Void let method = - mkILNonGenericStaticMethod (eenv.staticInitializationName, access, [], ilReturn, ilBody) + (mkILNonGenericStaticMethod (eenv.staticInitializationName, access, [], ilReturn, ilBody)) + .WithSpecialName cgbuf.mgbuf.AddMethodDef(tref, method) CountMethodDef() diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl index 8cb9e1adb0e..b8ab856f75a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.release.bsl @@ -119,7 +119,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -152,7 +152,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl index ba47f8fe54a..39b879bc70a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.release.bsl @@ -217,7 +217,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -250,7 +250,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl index ff8b2cb73ad..ebae270051a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.release.bsl @@ -179,7 +179,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -212,7 +212,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl index 03a3f844910..222deea406e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.release.bsl @@ -319,7 +319,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -352,7 +352,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl index c18fb037a12..7690231f5e1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.release.bsl @@ -354,7 +354,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 6 @@ -404,7 +404,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl index ccd7f5f26c9..4daf09ef651 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.release.bsl @@ -721,7 +721,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -754,7 +754,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.release.bsl index a3ed8269dab..fdd3ee27a69 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.release.bsl @@ -83,7 +83,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.release.bsl index 63be332b043..c5544f82a78 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.release.bsl @@ -83,7 +83,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.bsl index f4a6cfcd6df..1abdfba7578 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.bsl @@ -82,7 +82,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl index 7ae7dcfd0e3..2c5467b662b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember02a.fs.RealInternalSignatureOn.il.bsl @@ -96,7 +96,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -139,7 +139,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl index f3c21b8e7e0..978d0e366ea 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember03a.fs.RealInternalSignatureOn.il.bsl @@ -92,7 +92,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl index 46cb4d1f008..315a9ab425d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CCtorDUWithMember/CCtorDUWithMember04a.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl index f117b1d6a00..4f200c9131a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.release.bsl @@ -346,7 +346,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl index 833f576f2d3..23bd08a2e1a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.release.bsl @@ -347,7 +347,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl index aa6495b7f20..b0676e7e397 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr01.fs.RealInternalSignatureOn.il.bsl @@ -103,7 +103,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl index 3b9defc04a6..bf700dceabe 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr02.fs.RealInternalSignatureOn.il.bsl @@ -114,7 +114,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl index 9f116f47f17..50ce6ea0746 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr03.fs.RealInternalSignatureOn.il.bsl @@ -293,7 +293,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl index 8efd066d3e9..5b286edf1c4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr04.fs.RealInternalSignatureOn.il.bsl @@ -219,7 +219,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl index 773cf0053ba..9e005d2638d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr05.fs.RealInternalSignatureOn.il.bsl @@ -193,7 +193,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl index 88afccefe06..be250545d89 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr06.fs.RealInternalSignatureOn.il.bsl @@ -262,7 +262,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl index f9fe5bf4eba..8e72593dcde 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ComputationExpressions/ComputationExpr07.fs.RealInternalSignatureOn.il.bsl @@ -226,7 +226,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl index f39ef8b9a7e..e8db92a48a8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl index f39ef8b9a7e..e8db92a48a8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd01.fs.opt.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl index c3223f5ab40..cfa46cc2c6d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl index c3223f5ab40..cfa46cc2c6d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd02.fs.opt.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl index 72ff1c43573..475e4e35c66 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.il.bsl @@ -132,7 +132,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl index 72ff1c43573..475e4e35c66 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd03.fs.opt.il.bsl @@ -132,7 +132,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl index 4b2fcaa2cab..07b8377812d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.il.bsl @@ -132,7 +132,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl index 4b2fcaa2cab..07b8377812d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd04.fs.opt.il.bsl @@ -132,7 +132,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl index 2d1498a9e80..89d1309f7bd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl index 2d1498a9e80..89d1309f7bd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ForLoop/RealInternalSignatureOn/NonTrivialBranchingBindingInEnd05.fs.opt.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 7 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl index 4dc09edbd98..84e9c999f30 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/GeneratedIterators/GenIter04_RealInternalSignatureOn.fs.il.bsl @@ -64,7 +64,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOn.il.bsl index 59c29526cb8..379732c096d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping01.fs.RealInternalSignatureOn.il.bsl @@ -73,7 +73,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -95,7 +95,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOn.il.bsl index fdda2ab6de7..a36fbb087b0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping02.fs.RealInternalSignatureOn.il.bsl @@ -388,7 +388,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -413,7 +413,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOn.il.bsl index 6c9ceafe31b..c1a7dfe6890 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping03.fs.RealInternalSignatureOn.il.bsl @@ -94,7 +94,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -116,7 +116,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOn.il.bsl index d3bd2f60a7d..cc32818bad8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping04.fs.RealInternalSignatureOn.il.bsl @@ -105,7 +105,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -127,7 +127,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOn.il.bsl index 9cb8378a0f3..7ceba50a9c1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping05.fs.RealInternalSignatureOn.il.bsl @@ -125,7 +125,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -147,7 +147,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOn.il.bsl index 1c6c4aa828b..c3bfc328598 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/ListExpressionStepping/ListExpressionStepping06.fs.RealInternalSignatureOn.il.bsl @@ -173,7 +173,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -212,7 +212,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl index 03d6b5647f0..ea37f2ffd74 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/AbstractClass.fs.RealInternalSignatureOn.il.bsl @@ -92,7 +92,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl index 80f440225d6..721b81b0430 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CodeGenRenamings01.fs.RealInternalSignatureOn.il.bsl @@ -323,7 +323,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl index d4341a9cfc7..6c8fac9faa7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/CustomAttributeGenericParameter01.fs.RealInternalSignatureOn.il.bsl @@ -64,7 +64,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl index f381037c5ab..b4095924a48 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.net472.bsl @@ -59,7 +59,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl index 30ee62be835..3af00969290 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Decimal01.fs.RealInternalSignatureOn.il.netcore.bsl @@ -59,7 +59,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl index 7d73f39f6f9..214395fe6ad 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop01.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl index f5cb5819a6a..6297992ad5f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop02.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl index 91e24e59c05..89116dd2c87 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.net472.bsl @@ -128,7 +128,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl index bdca59c16de..9c2772ab7b5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ForLoop03.fs.RealInternalSignatureOn.il.netcore.bsl @@ -133,7 +133,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl index 6166fa00a59..dd0d3a7a9b2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.net472.bsl @@ -397,7 +397,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl index 8a64ee49c92..2f63fb5a58f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/GeneralizationOnUnions01.fs.RealInternalSignatureOn.il.netcore.bsl @@ -397,7 +397,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl index be8de518fa4..bb7789ea103 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/IfThenElse01.fs.il.bsl @@ -182,7 +182,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -204,7 +204,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl index 4c58d288365..72bd28ab1d7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/LetIfThenElse01.fs.RealInternalSignatureOn.il.bsl @@ -137,7 +137,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 3 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl index 3063c1b736a..e67218a9cd4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.net472.bsl @@ -69,7 +69,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl index f12a7bef8d1..8e0327d73c7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Lock01.fs.RealInternalSignatureOn.il.netcore.bsl @@ -69,7 +69,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl index 3ff41021899..8d512541da2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/MethodImplNoInline02.fs.RealInternalSignatureOn.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl index 261799865d8..c2f8529b0e1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/ModuleWithExpression01.fs.RealInternalSignatureOn.il.bsl @@ -68,7 +68,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -96,7 +96,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl index 7baa5368107..298df4dbc92 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/Seq_for_all01.fs.RealInternalSignatureOn.il.bsl @@ -110,7 +110,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl index 551687ba324..0743b86a949 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.release.bsl @@ -282,7 +282,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl index 6c584a5191a..35a0349ec65 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/TryWith_NoFilterBlocks01.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.release.bsl index c1f91cfe16e..2d1d0cb1403 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -6253,7 +6253,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.release.bsl index b2385e700da..925e78803dd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -6253,7 +6253,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl index daa482d8266..c649190faa6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 4f96c84ef93..fee4817e146 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.release.bsl index 2f2c7dd3ec4..3ac4071a8d2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -1247,7 +1247,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.release.bsl index e652ee27fb2..f1572eba9b3 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -1247,7 +1247,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl index 5f34461ea49..2851858eb06 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -1097,7 +1097,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.release.bsl index c39cd03c3fa..88c309312cf 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -1097,7 +1097,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.release.bsl index 222178b86c3..747c16cfd99 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -1606,7 +1606,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 6361468d351..b3476f7d00d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -1606,7 +1606,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.release.bsl index 664a79bacda..afbad574fbe 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -1635,7 +1635,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 0640187da90..5e10bfe4ec9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -1635,7 +1635,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.release.bsl index 681890e5921..0b529d2bb16 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -1205,7 +1205,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 456ef335b0e..0762597cbf5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -1205,7 +1205,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.release.bsl index f0ef7c5f747..bc17e422cd1 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -3255,7 +3255,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 8fb9ad32dad..00e57c54bd9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -3255,7 +3255,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl index 5be630403be..4fc8a2245fd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 416d1ff8756..303f6f4ed2f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.release.bsl index 25026f3d0c1..7cdc7a9d4e7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -985,7 +985,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 6b7d9fb6114..f0e638e9a04 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -985,7 +985,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl index 4d2536d2b2e..3b2c45a9149 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest01.fs.il.bsl @@ -202,7 +202,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 3 @@ -228,7 +228,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl index 21eb5bfba91..c667f5ac064 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest02.fs.il.bsl @@ -230,7 +230,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 3 @@ -256,7 +256,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl index a11ee38e685..bd1abfe67c0 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest03.fs.il.bsl @@ -238,7 +238,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 3 @@ -264,7 +264,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl index ee137e733a2..a56865f2de9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest04.fs.il.bsl @@ -281,7 +281,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 3 @@ -307,7 +307,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl index 246b86af987..fca2f21dd75 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest05.fs.il.bsl @@ -388,7 +388,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 3 @@ -414,7 +414,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl index 0558f9c4ea1..343d2d040f7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest06.fs.il.bsl @@ -434,7 +434,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 6 @@ -477,7 +477,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl index a9c75cd06b9..f0812837c64 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.release.bsl @@ -745,7 +745,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl index 33cb4361953..e3eea368d57 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.release.bsl @@ -746,7 +746,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs.RealInternalSignatureOn.il.bsl index 178a9449394..5168ea5996e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/LetBinding01.fs.RealInternalSignatureOn.il.bsl @@ -64,7 +64,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs.RealInternalSignatureOn.il.bsl index f85f73782ed..0e57f39883d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Class01.fs.RealInternalSignatureOn.il.bsl @@ -95,7 +95,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -121,7 +121,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs.RealInternalSignatureOn.il.bsl index 96c019ab4be..870e8d0ba3d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Module01.fs.RealInternalSignatureOn.il.bsl @@ -82,7 +82,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -132,7 +132,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -161,7 +161,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.release.bsl index e03bac00ab6..029cf56bad8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.release.bsl @@ -284,7 +284,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -310,7 +310,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.release.bsl index 8dd2c0b1556..19c8b0f37a8 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.release.bsl @@ -284,7 +284,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -310,7 +310,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl index e571898c0f6..5f275dd75c6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.release.bsl @@ -1226,7 +1226,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 6 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl index fcd022c006c..c7cc5bdf8c7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction09b4_RealInternalSignatureOn.fs.il.bsl @@ -74,7 +74,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl index a73b534aaca..c6a7bd32400 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.net472.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl index a2bffacbbc6..cda3dec5378 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22_RealInternalSignatureOn.fs.il.netcore.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl index a73b534aaca..c6a7bd32400 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.net472.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl index a2bffacbbc6..cda3dec5378 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22b_RealInternalSignatureOn.fs.il.netcore.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl index a73b534aaca..c6a7bd32400 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.net472.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl index a2bffacbbc6..cda3dec5378 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22c_RealInternalSignatureOn.fs.il.netcore.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl index a73b534aaca..c6a7bd32400 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.net472.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl index a2bffacbbc6..cda3dec5378 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22d_RealInternalSignatureOn.fs.il.netcore.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl index 415128c44e6..8570fbc7b34 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.net472.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl index 8fae69670b8..f9537f15400 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22e_RealInternalSignatureOn.fs.il.netcore.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl index dc00482c86a..f12cd199eda 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.bsl @@ -60,7 +60,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl index 876f1572531..9fd9de44081 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22f_RealInternalSignatureOn.fs.il.net472.bsl @@ -59,7 +59,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl index aaf56d3b38d..a3b4e309f53 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.net472.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl index b3765267afb..986cc4ca1ce 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/TestFunction22g_RealInternalSignatureOn.fs.il.netcore.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl index e8cad3ccbb0..0862fa8c6f5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.release.bsl @@ -330,7 +330,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 6 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs.RealInternalSignatureOn.il.bsl index 56cea81c9ce..e7bdf60e87e 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple02.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs.RealInternalSignatureOn.il.bsl index 1ac3c6b46be..7bdcae4a84d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple03.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs.RealInternalSignatureOn.il.bsl index cccfd26e50e..671936095f5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple04.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs.RealInternalSignatureOn.il.bsl index 31819350a38..5a0849a78f9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple05.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs.RealInternalSignatureOn.il.bsl index a10fbaadf62..52c6b120eee 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple07.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 9 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs.RealInternalSignatureOn.il.bsl index df110d553d6..b49b131d3d7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/Tuple08.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs.RealInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs.RealInternalSignatureOn.il.bsl index fbc7110bdaf..6bea3250fef 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs.RealInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/TupleMonster.fs.RealInternalSignatureOn.il.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 28 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.net472.bsl index a534e8e8668..45dfb455378 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.net472.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.netcore.bsl index 88392715359..e9fe8f2e458 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Tuples/ValueTupleAliasConstructor.fs.RealInternalSignatureOn.il.netcore.bsl @@ -54,7 +54,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl index 3c1919809c3..e845b923b38 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.release.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl index bb5aa490e07..71cfc585372 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.release.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl index bcc8d5b601e..53e00c11f9c 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl @@ -79,7 +79,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl index d9d0242f7ff..93f09f050af 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl @@ -84,7 +84,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl index d6aa818e4f6..4b50483a50b 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl @@ -100,7 +100,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -162,7 +162,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl index 4950986c0ff..93ac1ea9b3e 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl @@ -150,7 +150,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl index deec7c5e04f..028dce7dc29 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl @@ -100,7 +100,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -458,7 +458,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl index a1bee123acc..dbcbebee176 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl @@ -149,7 +149,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl index 807a182aa63..c696c9e43d0 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl @@ -174,7 +174,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 From 26049edbc7f6697c665167387f461a531a032e42 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Fri, 23 Feb 2024 01:07:09 -0800 Subject: [PATCH 48/58] baselines --- .../Conformance/BasicGrammarElements/MethodResolution.fs | 2 +- .../StaticLet/StaticLetInUnionsAndRecords.fs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs index 4f05020ca90..f6145c01abc 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MethodResolution.fs @@ -317,7 +317,7 @@ let (_:bool), (_:int) = Thing.Do() IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs index 090e4319a32..17c7c03c808 100644 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs +++ b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/StaticLet/StaticLetInUnionsAndRecords.fs @@ -499,7 +499,7 @@ do Console.WriteLine("module after type") IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -521,7 +521,7 @@ do Console.WriteLine("module after type") IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -734,7 +734,7 @@ Console.Write(MyTypes.X.GetX) IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -769,7 +769,7 @@ Console.Write(MyTypes.X.GetX) IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 From 2fa69f48c925520fa92c12669454ea6f0c0a7dcc Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 23 Feb 2024 11:21:07 -0800 Subject: [PATCH 49/58] build.sh --- eng/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/build.sh b/eng/build.sh index 005cef372b3..f8db4462ff7 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -156,6 +156,7 @@ while [[ $# > 0 ]]; do ;; --norealsig) realsig=false + ;; --tfm) tfm=$2 shift From 309009e36ef739dadcc5e78538ab0c4f536e1f9a Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 23 Feb 2024 12:41:15 -0800 Subject: [PATCH 50/58] restore quotes --- tests/fsharp/core/quotes/cslib.cs | 11 + tests/fsharp/core/quotes/test.fsx | 5946 +++++++++++++++++++++++++++++ tests/fsharp/test.fs | 13 - tests/fsharp/test.fsi | 14 - tests/fsharp/tests.fs | 45 + 5 files changed, 6002 insertions(+), 27 deletions(-) create mode 100644 tests/fsharp/core/quotes/cslib.cs create mode 100644 tests/fsharp/core/quotes/test.fsx delete mode 100644 tests/fsharp/test.fs delete mode 100644 tests/fsharp/test.fsi diff --git a/tests/fsharp/core/quotes/cslib.cs b/tests/fsharp/core/quotes/cslib.cs new file mode 100644 index 00000000000..97a456275d7 --- /dev/null +++ b/tests/fsharp/core/quotes/cslib.cs @@ -0,0 +1,11 @@ + +public struct S { + public int x; +} + +public class Class1 +{ + public string myField; + public readonly string myReadonlyField; + public Class1(string v) { this.myReadonlyField = v; } +} diff --git a/tests/fsharp/core/quotes/test.fsx b/tests/fsharp/core/quotes/test.fsx new file mode 100644 index 00000000000..eb5151c4e66 --- /dev/null +++ b/tests/fsharp/core/quotes/test.fsx @@ -0,0 +1,5946 @@ +// #Conformance #Quotations #Interop #Classes #ObjectConstructors #Attributes #Reflection #ComputationExpression +#if TESTS_AS_APP +module Core_quotes +#endif +#light + +#if !TESTS_AS_APP && !NETCOREAPP +#r "cslib.dll" +#endif + + +#nowarn "57" +open System +open System.Reflection +open Microsoft.FSharp.Quotations +open Microsoft.FSharp.Quotations.Patterns +open Microsoft.FSharp.Quotations.DerivedPatterns + + +let failures = ref [] + +let report_failure (s : string) = + stderr.Write" NO: " + stderr.WriteLine s + failures := !failures @ [s] + +let test s b = stderr.Write(s:string); if b then stderr.WriteLine " OK" else report_failure s + +let check s v1 v2 = + stderr.Write(s:string); + if (v1 = v2) then + stderr.WriteLine " OK" + else + eprintf " FAILED: got %A, expected %A" v1 v2 + report_failure s + +let rec removeDoubleSpaces (s: string) = + let s2 = s.Replace(" ", " ") + if s = s2 then s else removeDoubleSpaces s2 + +let normalizeActivePatternResults (s: string) = + System.Text.RegularExpressions.Regex(@"activePatternResult\d+").Replace(s, "activePatternResult") + +let checkStrings s (v1: string) (v2: string) = + check s + (v1.Replace("\r","").Replace("\n","") |> removeDoubleSpaces |> normalizeActivePatternResults) + (v2.Replace("\r","").Replace("\n","") |> removeDoubleSpaces |> normalizeActivePatternResults) + +let checkQuoteString s expected (q: Expr) = checkStrings s (sprintf "%A" q) expected + +let (|TypedValue|_|) (v : 'T) value = + match value with + | Patterns.Value(:? 'T as v1, ty) when ty = typeof<'T> && v = v1-> Some () + | _ -> None + +let (|ObjTy|_|) ty = if ty = typeof then Some() else None +let (|IntTy|_|) ty = if ty = typeof then Some() else None +let (|StringTy|_|) ty = if ty = typeof then Some() else None + +let (|TupleTy|_|) ty = + if Microsoft.FSharp.Reflection.FSharpType.IsTuple ty then + let [| t1; t2 |] = Microsoft.FSharp.Reflection.FSharpType.GetTupleElements ty + Some (t1, t2) + else None + +[] +type S = + val mutable x : int + + +module TypedTest = begin + + // Checks the shape of the quotation to match that of + // foreach implemented in terms of GetEnumerator () + let (|ForEachShape|_|) = function + | Let ( + inputSequence, + inputSequenceBinding, + Let ( + enumerator, + enumeratorBinding, + TryFinally ( + WhileLoop ( + guard, + Let (i, currentExpr, body)), + cleanup) + ) + ) -> Some inputSequence + | _ -> None + + let x = <@ 1 @> + + test "check SByte" ((<@ 1y @> |> (function SByte 1y -> true | _ -> false))) + test "check Int16" ((<@ 1s @> |> (function Int16 1s -> true | _ -> false))) + test "check Int32" ((<@ 1 @> |> (function Int32 1 -> true | _ -> false))) + test "check Int64" ((<@ 1L @> |> (function Int64 1L -> true | _ -> false))) + test "check Byte" ((<@ 1uy @> |> (function Byte 1uy -> true | _ -> false))) + test "check UInt16" ((<@ 1us @> |> (function UInt16 1us -> true | _ -> false))) + test "check UInt32" ((<@ 1u @> |> (function UInt32 1u -> true | _ -> false))) + test "check UInt64" ((<@ 1UL @> |> (function UInt64 1UL -> true | _ -> false))) + test "check String" ((<@ "1" @> |> (function String "1" -> true | _ -> false))) + + test "check ~SByte" ((<@ "1" @> |> (function SByte _ -> false | _ -> true))) + test "check ~Int16" ((<@ "1" @> |> (function Int16 _ -> false | _ -> true))) + test "check ~Int32" ((<@ "1" @> |> (function Int32 _ -> false | _ -> true))) + test "check ~Int64" ((<@ "1" @> |> (function Int64 _ -> false | _ -> true))) + test "check ~Byte" ((<@ "1" @> |> (function Byte _ -> false | _ -> true))) + test "check ~UInt16" ((<@ "1" @> |> (function UInt16 _ -> false | _ -> true))) + test "check ~UInt32" ((<@ "1" @> |> (function UInt32 _ -> false | _ -> true))) + test "check ~UInt64" ((<@ "1" @> |> (function UInt64 _ -> false | _ -> true))) + test "check ~String" ((<@ 1 @> |> (function String "1" -> false | _ -> true))) + +#if !FSHARP_CORE_31 + test "check Decimal" ((<@ 1M @> |> (function Decimal 1M -> true | _ -> false))) + test "check ~Decimal" ((<@ "1" @> |> (function Decimal _ -> false | _ -> true))) + test "check ~Decimal neither" ((<@ 1M + 1M @> |> (function Decimal _ -> false | _ -> true))) +#endif + + test "check AndAlso" ((<@ true && true @> |> (function AndAlso(Bool(true),Bool(true)) -> true | _ -> false))) + test "check OrElse" ((<@ true || true @> |> (function OrElse(Bool(true),Bool(true)) -> true | _ -> false))) + test "check AndAlso" ((<@ true && true @> |> (function AndAlso(Bool(true),Bool(true)) -> true | _ -> false))) + test "check OrElse" ((<@ true || true @> |> (function OrElse(Bool(true),Bool(true)) -> true | _ -> false))) + test "check AndAlso" ((<@ false && false @> |> (function AndAlso(Bool(false),Bool(false)) -> true | _ -> false))) + test "check OrElse" ((<@ false || false @> |> (function OrElse(Bool(false),Bool(false)) -> true | _ -> false))) + test "check AndAlso - encoded" ((<@ true && false @> |> (function IfThenElse(Bool(true),Bool(false),Bool(false)) -> true | _ -> false))) + test "check OrElse - encoded" ((<@ true || false @> |> (function IfThenElse(Bool(true),Bool(true),Bool(false)) -> true | _ -> false))) + + + test "check ForIntegerRangeLoop" (<@ for i = 1 to 10 do printf "hello" @> |> (function ForIntegerRangeLoop(v,Int32(1),Int32(10),b) -> true | _ -> false)) + test "check ForIntegerRangeLoop" (<@ for i in 1 .. 10 do printf "hello" @> |> (function ForIntegerRangeLoop(v,Int32(1),Int32(10),b) -> true | _ -> false)) + // In this example, the types of the start and end points are not known at the point the loop + // is typechecked. There was a bug (6064) where the transformation to a ForIntegerRangeLoop was only happening + // when types were known + test "check ForIntegerRangeLoop" (<@ for i in failwith "" .. failwith "" do printf "hello" @> |> (function ForIntegerRangeLoop(v,_,_,b) -> true | _ -> false)) + // Checks that foreach over non-integer ranges should have the shape of foreach implemented in terms of GetEnumerator + test "check ForEachInSeq" (<@ for i in seq {for x in 0..10 -> x} do printf "hello" @> |> (function ForEachShape(_) -> true | _ -> false)) + test "check ForEachInList" (<@ for i in "123" do printf "hello" @> |> (function ForEachShape(_) -> true | _ -> false)) + test "check ForEachInString" (<@ for i in [1;2;3] do printf "hello" @> |> (function ForEachShape(_) -> true | _ -> false)) + // A slight non orthogonality is that all other 'for' loops go to (quite complex) the desugared form + test "check Other Loop" (<@ for i in 1 .. 2 .. 10 do printf "hello" @> |> (function Let(v,_,b) -> true | _ -> false)) + test "check Other Loop" (<@ for i in 1L .. 10L do printf "hello" @> |> (function Let(v,_,b) -> true | _ -> false)) + + let mutable mutableX = 1 + test "check mutableX top level set" ((<@ mutableX <- 10 @> |> (function PropertySet(None,pinfo,[],Int32 10) when pinfo.Name = "mutableX" -> true | _ -> false))) + test "check mutableX top level get" ((<@ mutableX @> |> (function PropertyGet(None,pinfo,[]) when pinfo.Name = "mutableX" -> true | _ -> false))) + + + let structFieldSetFromArray () = + <@ let mutable arr = [| S() |] + arr.[0].x <- 3 @> + + let structFieldGetFromArray () = + <@ let mutable arr = [| S() |] + arr.[0].x @> + + test "check struct field set from array" + ((structFieldSetFromArray() |> + (function + | Let (varr, NewArray (_, [ DefaultValue _ ]),FieldSet (Some (Call (None, getter, [arr; Int32 0])), field, Int32 3)) -> true + | _ -> false))) + + test "check struct field get from array" + ((structFieldGetFromArray() |> + (function + | Let (varr, NewArray (_, [ DefaultValue _ ]),FieldGet (Some (Call (None, getter, [arr; Int32 0])), field)) -> true + | _ -> false))) + + + test "checkIsMutable1" + (let e = <@@ let mutable x = 1 in if x = 1 then x <- 2 @@> + + match e with + |Let(v,e1,e2) -> v.IsMutable + |_ -> failwith "unexpected shape") + + test "checkIsMutable2" + (let e = <@@ let x = 1 in if x = 1 then 2 else 3 @@> + + match e with + |Let(v,e1,e2) -> not v.IsMutable + |_ -> failwith "unexpected shape") + + test "checkIsMutable3" + (let e = <@@ let f (x:int) = 1 in f 3 @@> + + match e with + |Let(v,e1,e2) -> not v.IsMutable + |_ -> failwith "unexpected shape") + + test "checkType" + (let e = <@@ let mutable x = 1 in if x = 1 then x <- 2 @@> + + match e with + |Let(v,e1,e2) -> v.Type = typeof + |_ -> failwith "unexpected shape") + + + type MyEnum = Foo = 0 | Bar = 1 + test "klnwce-0" + (match <@@ MyEnum.Foo @@> with | Value(x,ty) when ty = typeof && (x:?>MyEnum)=MyEnum.Foo -> true | _ -> false) + test "klnwce-1" + (match <@@ MyEnum.Bar @@> with | Value(x,ty) when ty = typeof && (x:?>MyEnum)=MyEnum.Bar -> true | _ -> false) + test "klnwce-2" + (match <@@ System.DayOfWeek.Monday @@> with | Value(x,ty) when ty = typeof && (x:?>System.DayOfWeek)=System.DayOfWeek.Monday -> true | _ -> false) + test "klnwce-3" + (<@@ System.DayOfWeek.Monday @@>.Type = typeof) + test "klnwce-4" + (match <@@ (fun () -> MyEnum.Bar) @@> with | Lambda(_,Value(x,ty)) when ty = typeof && (x:?>MyEnum)=MyEnum.Bar -> true | _ -> false) + + test "check NewArray" (<@ [| |] :int[] @> |> (function NewArray(typ,[]) when typ = typeof -> true | _ -> false)) + test "check NewArray" (<@ [| 1;2;3 |] @> |> (function NewArray(typ,[Int32(1);Int32(2);Int32(3)]) when typ = typeof -> true | _ -> false)) + test "check NewRecord" (<@ { contents = 3 } @> |> (function NewRecord(typ,args) -> true | _ -> false)) + test "check NewUnion" (<@ [] @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) + test "check NewUnion" (<@ [1] @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) + test "check NewUnion" (<@ None @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) + test "check NewUnion" (<@ Some(1) @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) + + test "check NewDelegate" (<@ new System.EventHandler(fun sender evArgs -> ()) @> |> (function NewDelegate(ty,[v1;v2],_) when v1.Name = "sender" && v2.Name = "evArgs" -> true | _ -> false)) + + test "check NewTuple (2)" (<@ (1,2) @> |> (function NewTuple([Int32(1);Int32(2)]) -> true | _ -> false)) + test "check NewTuple (3)" (<@ (1,2,3) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3)]) -> true | _ -> false)) + test "check NewTuple (4)" (<@ (1,2,3,4) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4)]) -> true | _ -> false)) + test "check NewTuple (5)" (<@ (1,2,3,4,5) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4);Int32(5)]) -> true | _ -> false)) + test "check NewTuple (6)" (<@ (1,2,3,4,5,6) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4);Int32(5);Int32(6)]) -> true | _ -> false)) + test "check NewTuple (6)" (<@ (1,2,3,4,5,6,7) @> |> (function NewTuple([Int32(1);Int32(2);Int32(3);Int32(4);Int32(5);Int32(6);Int32(7)]) -> true | _ -> false)) + + test "check Lambda" ((<@ (fun (x:int) -> x) @> |> (function Lambda(v,_) -> true | _ -> false))) + test "check Lambda" ((<@ (fun (x:int,y:int) -> x) @> |> (function Lambda(v,_) -> true | _ -> false))) + test "check Lambda" ((<@ (fun (p:int*int) -> p) @> |> (function Lambda(v,_) -> true | _ -> false))) + test "check Lambda" ((<@ (fun () -> 1) @> |> (function Lambda(v,_) -> true | _ -> false))) + + test "check Lambdas" ((<@ (fun (x:int) -> x) @> |> (function Lambdas([[v]],_) -> true | _ -> false))) + test "check Lambdas" ((<@ (fun (x:int,y:int) -> x) @> |> (function Lambdas([[v1;v2]],_) -> true | _ -> false))) + test "check ~Lambdas" ((<@ (fun (x:int) (y:int) -> x) @> |> (function Lambdas([[v1;v2]],_) -> false | _ -> true))) + test "check Lambdas" ((<@ (fun (x:int,y:int) (z:int) -> z) @> |> (function Lambdas([[v1;v2];[v3]],_) -> true | _ -> false))) + test "check Lambdas" ((<@ (fun ((x:int,y:int),(z:int)) -> z) @> |> (function Lambdas([[v1;v2]],_) -> true | _ -> false))) + test "check Lambdas" ((<@ (fun ((x:int),(y:int,z:int)) -> z) @> |> (function Lambdas([[v1;v2]],_) -> true | _ -> false))) + // + //test "check Lambdas" ((<@ (fun [(x:int)] -> x) @> |> (function Lambdas([[v1]],_) -> true | _ -> false))) + test "check Lambdas" ((<@ (fun () -> 1) @> |> (function Lambdas([[v1]],_) -> true | _ -> false))) + + test "check Let" ((<@ let x = 1 in x @> |> (function Let(v,Int32(1),Var(v2)) when v = v2 -> true | _ -> false))) + test "check Let" ((<@ let x = 1 + let y = 2 + x,y @> |> (function Let(vx,Int32(1),Let(vy,Int32(2),NewTuple([Var(vx2);Var(vy2)]))) when vx.Name = "x" && vx = vx2 && vy = vy2 -> true | _ -> false))) + + test "check Let" ((<@ let x = 1 + let x = 2 + x,x @> |> (function Let(vx,Int32(1),Let(vy,Int32(2),NewTuple([Var(vx2);Var(vy2)]))) when vx.Name = "x" && vy.Name = "x" && vy = vx2 && vy = vy2 -> true | _ -> false))) + + test "check Let" ((<@ let f () = 1 in f @> |> (function Let(v,Lambda(_,Int32(1)),Var(v2)) when v = v2 -> true | _ -> false))) + + test "check LetRecursive" ((<@ let rec f (x:int) : int = 1 in f @> |> (function LetRecursive([vf,Lambda(vx,Int32(1))],Var(vf2)) when vf = vf2 -> true | _ -> false))) + + test "check LetRecursive" ((<@ let rec f (x:int) : int = 1 + and g (x:int) = 2 + (f,g) @> |> (function LetRecursive([(vf,Lambda(vx,Int32(1)));(vg,Lambda(vx2,Int32(2)))],NewTuple[Var(vf2);Var(vg2)]) when (vf = vf2 && vg = vg2)-> true | _ -> false))) + + test "check Application" ((<@ let f () = 1 in f () @> |> (function Let(fv1,Lambda(_,Int32(1)),Application(Var(fv2),Unit)) when fv1 = fv2 -> true | _ -> false))) + test "check Application" ((<@ let f (x:int) = 1 in f 1 @> |> (function Let(fv1,Lambda(_,Int32(1)),Application(Var(fv2),Int32(1))) when fv1 = fv2 -> true | _ -> false))) + test "check Application" ((<@ let f (x:int) (y:int) = 1 in f 1 2 @> |> (function Let(fv1,Lambda(_,Lambda(_,Int32(1))),Application(Application(Var(fv2),Int32(1)),Int32(2))) when fv1 = fv2 -> true | _ -> false))) + test "check Application" ((<@ let f (x:int,y:int) = 1 in f (1,2) @> |> (function Let(fv1,Lambdas(_,Int32(1)),Application(Var(fv2),NewTuple[Int32(1);Int32(2)])) when fv1 = fv2 -> true | _ -> false))) + test "check Applications" ((<@ let f (x:int) (y:int) = 1 in f 1 2 @> |> (function Let(fv1,Lambdas(_,Int32(1)),Applications(Var(fv2),[[Int32(1)];[Int32(2)]])) when fv1 = fv2 -> true | _ -> false))) + test "check Applications" ((<@ let f (x:int,y:int) = 1 in f (1,2) @> |> (function Let(fv1,Lambdas(_,Int32(1)),Applications(Var(fv2),[[Int32(1);Int32(2)]])) when fv1 = fv2 -> true | _ -> false))) + test "check Applications" ((<@ let f () = 1 in f () @> |> (function Let(fv1,Lambdas(_,Int32(1)),Applications(Var(fv2),[[]])) when fv1 = fv2 -> true | _ -> false))) + + test "check pattern matching 1" + ((<@ function (x:int) -> x @> + |> (function Lambda(argv1,Let(xv1,Var(argv2),Var(xv2))) when xv1 = xv2 && argv1 = argv2 -> true | _ -> false))) + + test "check incomplete pattern matching 1" + ((<@ function (None : int option) -> 1 @> + // Pipe the quotation into a matcher that checks its form + |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucase1),Int32(1),Call(None,minfo,[_]))) when argv1 = argv2 && minfo.Name = "Raise" && ucase1.Name = "None" -> true + | _ -> false))) + + test "check pattern matching 2" + ((<@ function { contents = (x:int) } -> x @> + // Pipe the quotation into a matcher that checks its form + |> (function Lambda(argv1,Let(xv1,PropertyGet(Some(Var(argv2)),finfo,[]),Var(xv2))) when xv1 = xv2 && argv1 = argv2 -> true + | _ -> false))) + + test "check pattern matching 3" + ((<@ function ([]:int list) -> 1 | _ -> 2 @> + // Pipe the quotation into a matcher that checks its form + |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucase),Int32(1),Int32(2))) when argv1 = argv2 -> true | _ -> false))) + + test "check pattern matching 4" + ((<@ function ([]:int list) -> 1 | h::t -> 2 @> + // Pipe the quotation into a matcher that checks its form + |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucaseCons), + Let(tv1,PropertyGet(Some(Var(argv3)),pinfoTail,[]), + Let(hv1,PropertyGet(Some(Var(argv4)),pinfoHead,[]), + Int32(2))), + Int32(1))) when (argv1 = argv2 && + argv1 = argv3 && + argv1 = argv4 && + ucaseCons.Name = "Cons" && + pinfoTail.Name = "Tail" && + pinfoTail.Name = "Tail") -> true + | _ -> false))) + + test "check pattern matching 5" + ((<@ function h::t -> 2 | ([]:int list) -> 1 @> + |> (function Lambda(argv1,IfThenElse(UnionCaseTest(Var(argv2),ucaseEmpty), + Int32(1), + Let(tv1,PropertyGet(Some(Var(argv3)),pinfoTail,[]), + Let(hv1,PropertyGet(Some(Var(argv4)),pinfoHead,[]), + Int32(2))))) when (argv1 = argv2 && + argv1 = argv3 && + argv1 = argv4 && + ucaseEmpty.Name = "Empty" && + pinfoTail.Name = "Tail" && + pinfoTail.Name = "Tail") -> true + | _ -> false))) + + test "check pattern matching 6" + ((<@ function [h1;(h2:int)] -> 2 | _ -> 0 @> + |> (function Lambda(argv1, + IfThenElse(UnionCaseTest(Var(argv2),ucaseCons), + IfThenElse(UnionCaseTest(PropertyGet(Some(Var(argv3)),pinfoTail,[]),ucaseCons2), + IfThenElse(UnionCaseTest(PropertyGet(Some(PropertyGet(Some(Var(argv4)),pinfoTail2,[])),pinfoTail3,[]),ucaseEmpty), + Let(h1v1,PropertyGet(Some(Var(argv5)),pinfoHead,[]), + Let(h2v1,PropertyGet(Some(PropertyGet(Some(Var(argv6)),pinfoTail4,[])),pinfoHead2,[]), + Int32(2))), + Int32(0)), + Int32(0)), + Int32(0))) + when (argv1 = argv2 && + argv1 = argv3 && + argv1 = argv4 && + argv1 = argv5 && + argv1 = argv6 && + h1v1.Name = "h1" && + h2v1.Name = "h2" && + ucaseEmpty.Name = "Empty" && + pinfoTail.Name = "Tail" && + pinfoTail2.Name = "Tail" && + pinfoTail3.Name = "Tail" && + pinfoTail4.Name = "Tail" && + pinfoHead.Name = "Head" && + pinfoHead2.Name = "Head") -> true + | _ -> false))) + + // Check the elaborated form of a pattern match that uses an active pattern + let (|RefCell|) (x : int ref) = x.Value + test "check pattern matching 7" + ((<@ function RefCell(x) -> x @> + |> (function Lambda(argv1, + Let(apv1, Call(None,minfo,[Var(argv2)]), + Let(xv1, Var(apv2), + Var(xv2)))) + when (argv1 = argv2 && + xv1 = xv2 && + apv1 = apv2 && + minfo.Name = "|RefCell|") -> true + | _ -> false))) + + // Check calling .NET things + test "check NewObject" ((<@ new System.Object() @> |> (function NewObject(_,[]) -> true | _ -> false))) + test "check NewObject" ((<@ new System.String('c',3) @> |> (function NewObject(_,[Char('c');Int32(3)]) -> true | _ -> false))) + + test "check Call (static)" ((<@ System.Object.Equals("1","2") @> |> (function Call(None,_,[Coerce(String("1"),_);Coerce(String("2"),_)]) -> true | _ -> false))) + test "check Call (instance)" ((<@ ("1").Equals("2") @> |> (function Call(Some(String("1")),_,[String("2")]) -> true | _ -> false))) + test "check Call (instance)" ((<@ ("1").GetHashCode() @> |> (function Call(Some(String("1")),_,[]) -> true | _ -> false))) + test "check PropertyGet (static)" ((<@ System.DateTime.Now @> |> (function PropertyGet(None,_,[]) -> true | _ -> false))) + test "check PropertyGet (instance)" ((<@ ("1").Length @> |> (function PropertyGet(Some(String("1")),_,[]) -> true | _ -> false))) + +#if !NETCOREAPP + test "check PropertySet (static)" ((<@ System.Environment.ExitCode <- 1 @> |> (function PropertySet(None,_,[],Int32(1)) -> true | _ -> false))) +#endif + test "check PropertySet (instance)" ((<@ ("1").Length @> |> (function PropertyGet(Some(String("1")),_,[]) -> true | _ -> false))) + + test "check null (string)" (<@ (null:string) @> |> (function Value(null,ty) when ty = typeof -> true | _ -> false)) + + let v = Expr.GlobalVar("IntVar") + test "check var (GlobalVar)" (v |> (function Var(v2) when v2.Name = "IntVar" -> true | _ -> false)) + + test "check Var" (<@ %v @> |> (function Var(v2) when v2.Name = "IntVar" -> true | _ -> false)) + test "check Coerce" (<@ 3 :> obj @> |> (function Coerce(x,ty) when ty = typeof -> true | _ -> false)) + test "check Sequential" (<@ (); () @> |> (function Sequential(Unit,Unit) -> true | _ -> false)) + test "check Sequential" (<@ ""; () @> |> (function Sequential(Sequential(String(""),Unit),Unit) -> true | _ -> false)) (* changed for bug 3628 fix *) + test "check Sequential" (<@ (); "" @> |> (function Sequential(Unit,String("")) -> true | _ -> false)) + test "check Sequential" (<@ (); (); () @> |> (function Sequential(Unit,Sequential(Unit,Unit)) -> true | _ -> false)) + test "check WhileLoop" (<@ while true do () done @> |> (function WhileLoop(Bool(true),Unit) -> true | _ -> false)) + test "check TryFinally" (<@ try 1 finally () @> |> (function TryFinally(Int32(1),Unit) -> true | _ -> false)) + + <@ new obj() :?> int @> + + [] + let f (x:int) = 1 + + [] + module M = + let f (x:int) = 1 + + test "clewlkjncew" + ((<@ f 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + + + test "clewlkjncewb" + ((<@ M.f 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + // check failure of TryGetReflectedDefinition on non-ReflectedDefinition for locally-defined f3 + + //[] + let f3 (x:int) = 1 + test "ejnwe98" + ((<@ f3 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsNone | _ -> false))) + + [] + let rec f2 (x:int) = not (f2 x) + + // check success of TryGetReflectedDefinition on local recursive f2 + test "cwuic9en" + ((<@ f2 1 @> + + |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + + // test GetFreeVars + + test "check lambda closed" (Seq.length ((<@ (fun (x:int) -> 1) @>).GetFreeVars() ) = 0) + test "check for loop closed" (Seq.length ((<@ for i = 1 to 10 do () done @>).GetFreeVars()) = 0) + test "check while loop closed" (Seq.length ((<@ while true do () done @>).GetFreeVars()) = 0) + test "check let rec closed" (Seq.length ((<@ let rec f (x:int) = f (f x) in f @>).GetFreeVars()) = 0) + + module AddressOfTests = + [] + type S(z : int) = + [] val mutable x : int + + [] + type S2(z : int) = + [] val mutable s : S + + test "check Struct 1" (<@ S(1).x @> |> (function Let(_,NewObject _, FieldGet (Some (Var _), _)) -> true | _ -> false)) + test "check Struct 2a" (<@ (fun (s2: S2) -> s2.s.x) @> |> (function Lambda(_,FieldGet(Some(FieldGet(Some(Var _),_)),_)) -> true | _ -> false)) + test "check Struct 2" (<@ (fun (arr: S[]) -> arr.[0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray" -> true | _ -> false)) + test "check Struct 3" (<@ (fun (arr: S[,]) -> arr.[0,0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray2D" -> true | _ -> false)) + test "check Struct 4" (<@ (fun (arr: S[,,]) -> arr.[0,0,0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray3D" -> true | _ -> false)) + test "check Struct 5" (<@ (fun (arr: S[,,,]) -> arr.[0,0,0,0]) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "GetArray4D" -> true | _ -> false)) + test "check Struct 2 arr" (<@ (fun (arr: S[]) -> arr.[0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray" -> true | _ -> false)) + test "check Struct 3 arr" (<@ (fun (arr: S[,]) -> arr.[0,0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray2D" -> true | _ -> false)) + test "check Struct 4 arr" (<@ (fun (arr: S[,,]) -> arr.[0,0,0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray3D" -> true | _ -> false)) + test "check Struct 5 arr" (<@ (fun (arr: S[,,,]) -> arr.[0,0,0,0].x) @> |> (function Lambda(_,FieldGet(Some(Call(None, minfo, _)),_)) when minfo.Name = "GetArray4D" -> true | _ -> false)) + test "check Struct 6" (<@ (fun (arr: int[]) -> arr.[0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray" -> true | _ -> false)) + test "check Struct 7" (<@ (fun (arr: int[,]) -> arr.[0,0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray2D" -> true | _ -> false)) + test "check Struct 8" (<@ (fun (arr: int[,,]) -> arr.[0,0,0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray3D" -> true | _ -> false)) + test "check Struct 9" (<@ (fun (arr: int[,,,]) -> arr.[0,0,0,0] <- 0) @> |> (function Lambda(_,Call(None, minfo, _)) when minfo.Name = "SetArray4D" -> true | _ -> false)) + test "check Struct C" (<@ S() @> |> (function DefaultValue _ -> true | _ -> false)) + test "check Mutate 1" (<@ let mutable x = 0 in x <- 1 @> |> (function Let(v,Int32 0, VarSet(v2,Int32 1)) when v = v2 -> true | _ -> false)) + + let q = <@ let mutable x = 0 in x <- 1 @> + + let rec getMethod (e : Expr) = + match e with + | Call(None, mi, _) -> mi + | Let(_,_,m) -> getMethod m + | Lambdas(_, e) -> getMethod e + | _ -> failwithf "not a lambda: %A" e + + let increment (r : byref) = r <- r + 1 + let incrementMeth = getMethod <@ let mutable a = 10 in increment(&a) @> + + let rec rebuild (e : Expr) = + match e with + | ExprShape.ShapeLambda(v,b) -> Expr.Lambda(v, rebuild b) + | ExprShape.ShapeVar(v) -> Expr.Var v + | ExprShape.ShapeCombination(o, args) -> ExprShape.RebuildShapeCombination(o, args |> List.map rebuild) + + test "check AddressOf in call" (try let v = Var("a", typeof, true) in Expr.Let(v, Expr.Value 10, Expr.Call(incrementMeth, [Expr.AddressOf(Expr.Var v)])) |> ignore; true with _ -> false) + test "check AddressOf rebuild" (try rebuild <@ let mutable a = 10 in increment(&a) @> |> ignore; true with _ -> false) + test "check AddressOf argument" (<@ let mutable a = 10 in increment(&a) @> |> function Let(_, _, Call(None, _, [AddressOf(_)])) -> true | _ -> false) + test "check AddressOf type" (<@ let mutable a = 10 in increment(&a) @> |> function Let(_, _, Call(None, _, [AddressOf(_) as e])) -> (try e.Type = typeof.MakeByRefType() with _ -> false) | _ -> false) + + + // Test basic expression splicing + let f8383 (x:int) (y:string) = 0 + let test2 = + let v = 1 in + let s = "2" in + <@ f8383 v s @> + + let f8384 (x:'a) (y:string) = 0 + let test3a = + let v = 1 in + let s = "2" in + <@ f8384 v s @> + + let test3b() = + let v = 1 in + let s = "2" in + <@ f8384 v s @> + + check "value splice 1" test2 <@ f8383 1 "2" @> + check "value splice 2" test3a <@ f8384 1 "2" @> + check "value splice 3" (test3b()) <@ f8384 1 "2" @> + + test "value splice 4" (let v1 = 3 in let v2 = 1+2 in <@ 1 + v1 @> = <@ 1 + v2 @>) + test "expr splice 1" (<@ %(<@ 1 @>) @> = <@ 1 @>) + + // Test basic type splicing + + let f8385 (x:'a) (y:string) = <@ (x,y) @> + check "type splice 1" (f8385 1 "a") <@ (1,"a") @> + check "type splice 2" (f8385 "b" "a") <@ ("b","a") @> + + test "check TryGetReflectedDefinition (local f)" ((<@ f 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + test "check TryGetReflectedDefinition (local recursive f2)" + ((<@ f2 1 @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo) <> None | _ -> false))) + + + test "check lambda closed" (Seq.length ((<@ (fun (x:int) -> 1) @>).GetFreeVars()) = 0) + test "check for loop closed" (Seq.length ((<@ for i = 1 to 10 do () done @>).GetFreeVars()) = 0) + test "check while loop closed" (Seq.length ((<@ while true do () done @>).GetFreeVars()) = 0) + test "check let rec closed" (Seq.length ((<@ let rec f (x:int) = f (f x) in f @>).GetFreeVars()) = 0) + + // Check we can use ReflectedDefinition on a floating point pattern match + type T = | A of float + + + test "check NewUnionCase" (<@ A(1.0) @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) + + + [] + let foo v = match v with | A(1.0) -> 0 | _ -> 1 + + test "check TryGetReflectedDefinition (local f)" + ((<@ foo (A(1.0)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + [] + let test3297327 v = match v with | A(1.0) -> 0 | _ -> 1 + + test "check TryGetReflectedDefinition (local f)" + ((<@ foo (A(1.0)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + type Foo() = + let source = [1;2;3] + [] + let foo() = source + let bar() = + let b = <@ source @> + b + member __.Bar = bar() + [] + member x.Z() = source + + + test "check accesses to implicit fields in ReflectedDefinitions" + begin + let foo = Foo() + match foo.Bar with + | FieldGet(Some (Value (v,t)), _) -> Object.ReferenceEquals(v, foo) + | _ -> false + end + +#if !FSHARP_CORE_31 && !TESTS_AS_APP && !NETCOREAPP + test "check accesses to readonly fields in ReflectedDefinitions" + begin + let c1 = Class1("a") + match <@ c1.myReadonlyField @> with + | FieldGet(Some (ValueWithName (_, v, "c1")), field) -> (v.Name = "Class1") && (field.Name = "myReadonlyField") + | _ -> false + end +#endif + +end + +(* +module SubstiutionTest = begin + let tm = (<@ (fun x y -> x + y + y) @>) + // TEST INVALID - this match fails because a variable is escaping. + let Some(x,y,y') = Template <@. (fun x y -> _ + _ + _) .@> tm + let Some(xyy) = Template <@. (fun (x:int) (y:int) -> _) .@> tm + test "check free vars (tm)" (List.length (freeInExpr tm.Raw) = 0) + test "check free vars (x)" (List.length (freeInExpr x.Raw) = 1) + test "check free vars (y)" (List.length (freeInExpr y.Raw) = 1) + test "check free vars (xyy)" (List.length (freeInExpr xyy.Raw) = 2) + + + let Some xv = Var.Query(x.Raw) + let Some body = Template <@. (fun x -> _) .@> tm + test "check free vars (body)" (List.length (freeInExpr body.Raw) = 1) + let body2 = substitute (fun _ -> None) (fun v -> if v = xv then (printf "Yes!\n"; Some((<@ 1 @>).Raw)) else None) body + test "check free vars (body2)" (List.length (freeInExpr body2.Raw) = 0) + let body3 = substitute (fun _ -> None) (fun v -> if v = xv then Some y.Raw else None) body + test "check free vars (body3)" (List.length (freeInExpr body3.Raw) = 1) + +end +*) + +(* + +module TomasP = begin + open Microsoft.FSharp.Quotations + open Microsoft.FSharp.Quotations.Patterns + + let ex1 = <@ 1 + 2 @> + let ex2 = <@ 1 + 10/5 @> + + type simple_expr = + | Int of int + | Add of simple_expr * simple_expr + | Sub of simple_expr * simple_expr + | Mul of simple_expr * simple_expr + | Div of simple_expr * simple_expr + + + let what_is x = + match x with + | Int32 (_) -> "number"; + | _ -> + match x with + | Application(_) -> "application"; + | _ -> + "something else..." + + // Prints "number" + do print_string (what_is <@ 1 @>) + + // Prints "application" + do print_string (what_is <@ 1 + 2 @>) + + let rec parse x = + match x with + // x contains the number so we can simply return Int(x) + | Int32 (x) -> Int(x); + | Applications (GenericTopDnUse <@ (+) @> tyargs,[a1;a2]) -> Add(parse a1, parse a2) + | Applications (GenericTopDnUse <@ (-) @> tyargs,[a1;a2]) -> Sub(parse a1, parse a2) + | Applications (GenericTopDnUse <@ ( * ) @> tyargs,[a1;a2]) -> Mul(parse a1, parse a2) + | Applications (GenericTopDnUse <@ ( / ) @> tyargs,[a1;a2]) -> Div(parse a1, parse a2) + | _ -> failwith "parse" + + let a = 1 + let q = <@ if (a = 0) then 1 else 2 @> + let ex4 = + match q with + | IfThenElse (cond,trueBranch,falseBranch) -> + // cond - 'expr' that represents condition + // trueBranch - 'expr' that represents the true branch + // falseBranch - 'expr' that represents the false branch + print_string "If-then-else statement" + + | _ -> + print_string "Something else" + + type a = | B of string + [] + let processStuff sequence = Seq.iter (function B packet -> ()) sequence + +end + +module ErrorEstimateTest = + open Quotations + open Quotations.Expr + + //let f x = x + 2.0*x*x + //let t = <@ fun x -> x + 2*x*x @> + + type Error = Err of float + + let rec errorEstimateAux t (env : Map<_,_>) = + match t with + | GenericTopDnApp <@ (+) @> (tyargs,[xt;yt]) -> + let x,Err(xerr) = errorEstimateAux xt env + let y,Err(yerr) = errorEstimateAux yt env + (x+y,Err(xerr+yerr)) + | GenericTopDnApp <@ (-) @> (tyargs,[xt;yt]) -> + let x,Err(xerr) = errorEstimateAux xt env + let y,Err(yerr) = errorEstimateAux yt env + (x-y,Err(xerr+yerr)) + | GenericTopDnApp <@ ( * ) @> (tyargs,[xt;yt]) -> + let x,Err(xerr) = errorEstimateAux xt env + let y,Err(yerr) = errorEstimateAux yt env + + (x*y,Err(xerr*abs(y)+yerr*abs(x)+xerr*yerr)) + + // TBD... + | GenericTopDnApp <@ ( / ) @> (tyargs,[xt;yt]) -> + let x,Err(xerr) = errorEstimateAux xt env + let y,Err(yerr) = errorEstimateAux yt env + // check: + (x/y,Err(abs((y*xerr - yerr*x)/(y+yerr)))) + + | GenericTopDnApp <@ abs @> (tyargs,[xt]) -> + let x,Err(xerr) = errorEstimateAux xt env + (abs(x),Err(xerr)) + | Let((var,vet), bodyt) -> + let varv,verr = errorEstimateAux vet env + errorEstimateAux bodyt (env.Add(var.Name,(varv,verr))) + + | App(ResolvedTopDnUse(info,Lambda(v,body)),arg) -> + errorEstimateAux (MkLet((v,arg),body)) env + | Var(x) -> env.[x] + | Double(n) -> (n,Err(0.0)) + | _ -> failwithf "unrecognized term: %A" t + + + let rec errorEstimateFun (t : Expr) = + match t with + | Lambda(x,t) -> + (fun xv -> errorEstimateAux t (Map.ofSeq [(x.Name,xv)])) + | ResolvedTopDnUse(info,body) -> + errorEstimateFun body + | _ -> failwithf "unrecognized term: %A - expected a lambda" t + + + + let errorEstimate (t : Expr float>) = errorEstimateFun t.Raw + + let rec errorEstimate2 (t : Expr float -> float>) = + match t.Raw with + | Lambdas([x;y],t) -> + (fun xv yv -> errorEstimateAux t (Map.ofSeq [(x.Name,xv); (y.Name,yv)])) + | _ -> failwithf "unrecognized term: %A - expected a lambda of two args" t + + let (±) x = Err(x) + //fsi.AddPrinter (fun (x,Err(v)) -> sprintf "%g±%g" x v) + + errorEstimate <@ fun x -> x @> (1.0,±0.1) + errorEstimate <@ fun x -> 2.0*x @> (1.0,±0.1) + errorEstimate <@ fun x -> x*x @> (1.0,±0.1) + errorEstimate <@ fun x -> 1.0/x @> (0.5,±0.1) + + errorEstimate <@ fun x -> let y = x + x + y*y + 2.0 @> (1.0,±0.1) + + errorEstimate <@ fun x -> x+2.0*x+3.0*x*x @> (1.0,±0.1) + + errorEstimate <@ fun x -> x+2.0*x+3.0/(x*x) @> (0.3,±0.1) + + [] + let poly x = x+2.0*x+3.0/(x*x) + + errorEstimate <@ poly @> (0.3,±0.1) + errorEstimate <@ poly @> (30271.3,±0.0001) +*) +module Test72594 = + let effect (i:int) = () + let foo () = () + let foo1 () = + let i = 1 // prevent uncurring of foo1 + fun () -> () + let foo2 () () = () + + type C() = + member this.CFoo() () = () + let c = C() + + test "test72594-effect" + (<@ foo (effect 1) @> + |> function (Sequential + ((Call(None,mi1,[Value(v, t)])), + (Call(None,mi2,[])))) when mi1.Name = "effect" && t = typeof && v = box 1 && mi2.Name = "foo" -> true + | _ -> false) + + test "test72594-no-effect" + (<@ foo () @> |> function (Call(None,mi2,[])) when mi2.Name = "foo"-> true | _ -> false) + + test "test72594-curried" + (<@ foo1 (effect 1) () @> + |> function Application(Sequential( + (Call (None, effect, [Value(v1,tInt)])), + (Call (None, foo1,[]))), Value (vUnit,tUnit)) + when effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof && foo1.Name = "foo1" -> true + | _ -> false) + + + test "test72594-curried-2nd-arg" + (<@ foo1 () (effect 1) @> + |> function Application(Call(None, foo1,[]),Call (None, effect, [Value(v1,tInt)])) + + when effect.Name = "effect" && v1 = box 1 && tInt = typeof && foo1.Name = "foo1" -> true + | x -> + printfn "%A" x + false) + + + test "test72594-uncurried" + (<@ foo2 (effect 1) () @> + |> function (Call(None, foo2, [Call(None,effect,[Value(v1,tInt)]);Value(vUnit,tUnit)])) + when effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof && foo2.Name = "foo2" -> true + | _ -> false) + + test "test72594-uncurried-2nd-arg" + (<@ foo2 () (effect 1) @> + |> function (Call(None, foo2, [Value(vUnit,tUnit);Call(None,effect,[Value(v1,tInt)])])) + when effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof && foo2.Name = "foo2" -> true + | _ -> false) + + test "test72594-member-curried" + (<@ c.CFoo (effect 1) () @> + |> function Application (Application (Lambda (_, + Lambda (_, + Call (Some _, cFoo, [_; _]))), + Call (None, effect, [Value (v1,tInt)])), Value (vUnit,tUnit)) + when cFoo.Name="CFoo" && effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof -> true + | _ -> false) + test "test72594-member-curried-2nd-arg" + (<@ c.CFoo () (effect 1) @> + |> function Application (Application (Lambda (_, + Lambda (_, + Call (Some _, cFoo, [_; _]))), + Value (vUnit,tUnit)), + Call (None, effect, [Value (v1,tInt)])) + when cFoo.Name="CFoo" && effect.Name = "effect" && v1 = box 1 && tInt = typeof && vUnit = box () && tUnit = typeof -> true + | _ -> false) + +module Test414894 = + + let effect(a : int) = () + + let foo() = () + + let f () () = () + let f1 (x:int) () = () + let f2 () (x:int) = () + + + type X() = + static member f1 () = () + static member f2 () () = () + static member f3 (x:int) () = () + static member f4 () (x:int) = () + member x.f5 () = () + member x.f6 () () = () + member x.f7 (a:int) () = () + member x.f8 () (a:int) = () + + let x = X() + + let (|IntVal|_|) expected = + function + | Value(v, ty) when ty = typeof && expected = unbox v -> Some() + | _ -> None + + let (|UnitVal|_|) = + function + | Value(v, ty) when v = box () && ty = typeof -> Some() + | _ -> None + + let (|EffectCall|_|) = + function + | Call(_, m, _) when m.Name = "effect" -> Some() + | _ -> None + + test "test414894" + ( + <@ foo @> + |> function + | Lambda(_, Call(None, mFoo, [])) when mFoo.Name = "foo" -> true + | _ -> false + ) + test "Test414894-2curried-unit-args-1-1" + ( + <@ f @> + |> function + | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f" -> true + | _ -> false + ) + test "Test414894-2curried-args-1-2" + ( + <@ f () @> + |> function + | Let(_, UnitVal, Lambda(_, Call(_, mi, args))) when mi.Name = "f" -> true + | _ -> false + ) + test "Test414894-2curried-args-1-3" + ( + <@ f (effect 1) @> + |> function + | Let(_, EffectCall, Lambda(_, Call(_, mi, args))) when mi.Name = "f" -> true + | _ -> false + ) + + test "Test414894-2curried-args-2-1" + ( + <@ f1 @> + |> function + | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f1" -> true + | _ -> false + ) + test "Test414894-2curried-args-2-2" + ( + <@ f1 1 @> + |> function + | Let(_, IntVal 1, Lambda(_, Call(_, mi, args))) when mi.Name = "f1" -> true + | _ -> false + ) + + test "Test414894-2curried-args-3-1" + ( + <@ f2 @> + |> function + | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true + | _ -> false + ) + test "Test414894-2curried-args-3-2" + ( + <@ f2 () @> + |> function + | Let(_, UnitVal, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true + | _ -> false + ) + + test "Test414894-2curried-args-3-3" + ( + <@ f2 (effect 1) @> + |> function + | Let(_, EffectCall, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-1-1" + ( + <@ X.f1 @> + |> function + | Lambda(_, Call(None, mFoo, [])) when mFoo.Name = "f1" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-2-1" + ( + <@ X.f2 @> + |> function + | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f2" -> true + | _ -> false + ) + test "Test414894-2curried-args-static-member-2-2" + ( + <@ X.f2 () @> + |> function + | Application(Lambda(_, Lambda(_, Call(None, mi, _))), UnitVal) when mi.Name = "f2" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-2-3" + ( + <@ X.f2 (effect 1) @> + |> function + | Application(Lambda(_, Lambda(_, Call(None, mi, _))), EffectCall) when mi.Name = "f2" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-3-1" + ( + <@ X.f3 @> + |> function + | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f3" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-3-2" + ( + <@ X.f3 5 @> + |> function + | Application(Lambda(_, Lambda(_, Call(None, mi, _))), IntVal 5) when mi.Name = "f3" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-4-1" + ( + <@ X.f4 @> + |> function + | Lambda(_, Lambda(_, Call(_, mi, args))) when mi.Name = "f4" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-4-2" + ( + <@ X.f4 () @> + |> function + | Application(Lambda(_, Lambda(_, Call(None, mi, _))), UnitVal) when mi.Name = "f4" -> true + | _ -> false + ) + + test "Test414894-2curried-args-static-member-4-3" + ( + <@ X.f4 (effect 1) @> + |> function + | Application(Lambda(_, Lambda(_, Call(None, mi, _))), EffectCall) when mi.Name = "f4" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-5-1" + ( + <@ x.f5 @> + |> function + | Lambda(_, Call(Some _, mFoo, [])) when mFoo.Name = "f5" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-6-1" + ( + <@ x.f6 @> + |> function + | Lambda(_, Lambda(_, Call(Some _, mi, args))) when mi.Name = "f6" -> true + | _ -> false + ) + test "Test414894-2curried-args-instance-member-6-2" + ( + <@ x.f6 () @> + |> function + | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), UnitVal) when mi.Name = "f6" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-6-3" + ( + <@ x.f6 (effect 1) @> + |> function + | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), EffectCall) when mi.Name = "f6" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-7-1" + ( + <@ x.f7 @> + |> function + | Lambda(_, Lambda(_, Call(Some _, mi, args))) when mi.Name = "f7" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-7-2" + ( + <@ x.f7 5 @> + |> function + | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), IntVal 5) when mi.Name = "f7" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-8-1" + ( + <@ x.f8 @> + |> function + | Lambda(_, Lambda(_, Call(Some _, mi, args))) when mi.Name = "f8" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-8-2" + ( + <@ x.f8 () @> + |> function + | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), UnitVal) when mi.Name = "f8" -> true + | _ -> false + ) + + test "Test414894-2curried-args-instance-member-8-3" + ( + <@ x.f8 (effect 1) @> + |> function + | Application(Lambda(_, Lambda(_, Call(Some _, mi, _))), EffectCall) when mi.Name = "f8" -> true + | _ -> false + ) + +module MoreTests = + + + open Microsoft.FSharp.Quotations + + module OneModule = + let ModuleFunctionNoArgs() = 1 + let ModuleFunctionOneArg(x:int) = 1 + let ModuleFunctionOneUnitArg(x:unit) = 1 + let ModuleFunctionOneTupledArg(x:int*int) = 1 + let ModuleFunctionTwoArgs(x:int,y:int) = 1 + + + type ClassOneArg(a:int) = + static member TestStaticMethodOneTupledArg(x:int*int) = 1 + static member TestStaticMethodOneArg(x:int) = x + static member TestStaticMethodNoArgs() = 1 + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + static member TestStaticProp = 3 + member c.TestInstanceProp = 3 + member c.TestInstanceIndexProp with get(idx:int) = 3 + member c.TestInstanceSettableIndexProp with set (idx:int) (v:int) = () + member c.TestInstanceSettableIndexProp2 with set (idx1:int, idx2:int) (v:int) = () + member c.TestInstanceMethodNoArgs() = 1 + member c.TestInstanceMethodOneArg(x:int) = x + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + member this.GetterIndexer + with get (x:int) = 1 + + member this.TupleGetterIndexer + with get (x:int*int) = 1 + + member this.Item + with get (x:int) = 1 + + member this.TupleSetterIndexer + with get (x : int*int) = 1 + + member this.SetterIndexer + with set (x:int) (y:int) = () + + member this.Item + with set (x:int) (y:int) = () + + member this.Setter + with set (x : int) = () + + member this.TupleSetter + with set (x : int*int) = () + + + type ClassNoArg() = + static member TestStaticMethodOneTupledArg(x:int*int) = x + static member TestStaticMethodOneArg(x:int) = x + static member TestStaticMethodNoArgs() = 1 + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + static member TestStaticProp = 3 + static member TestStaticSettableProp with set (v:int) = () + static member TestStaticSettableIndexProp with set (idx:int) (v:int) = () + member c.TestInstanceProp = 3 + member c.TestInstanceIndexProp with get(idx:int) = 3 + member c.TestInstanceSettableIndexProp with set (idx:int) (v:int) = () + member c.TestInstanceMethodNoArgs() = 1 + member c.TestInstanceMethodOneArg(x:int) = x + member c.TestInstanceMethodOneTupledArg(x:int*int) = 1 + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + type GenericClassNoArg<'a>() = + static member TestStaticMethodOneTupledArg(x:int*int) = x + static member TestStaticMethodOneArg(x:int) = x + static member TestStaticMethodNoArgs() = 1 + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + static member TestStaticProp = 3 + member c.TestInstanceProp = 3 + member c.TestInstanceIndexProp with get(idx:int) = 3 + member c.TestInstanceSettableIndexProp with set (idx:int) (v:int) = () + member c.TestInstanceMethodNoArgs() = 1 + member c.TestInstanceMethodOneArg(x:int) = x + member c.TestInstanceMethodOneTupledArg(x:int*int) = 1 + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + + let isMeth (inp : Expr<_>) = match inp with Call _ -> true | _ -> false + let isPropGet (inp : Expr<_>) = match inp with PropertyGet _ -> true | _ -> false + let isPropSet (inp : Expr<_>) = match inp with PropertySet _ -> true | _ -> false + + //printfn "res = %b" (isPropGet <@ ClassOneArg.TestStaticProp @>) + test "test3931a" (isMeth <@ OneModule.ModuleFunctionNoArgs() @>) + test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneArg(1) @>) + test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneUnitArg() @>) + test "test3931a" (isMeth <@ OneModule.ModuleFunctionTwoArgs(1,2) @>) + test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneTupledArg(1,2) @>) + let p = (1,2) + // This case doesn't match because F# performs type-base arity analysis for module 'let' bindings + // and we see this untupling here. + // Thus this is elaborated into 'let v = p in let v1 = p#1 in let v2 = p#2 in f(v1,v2)' + // test "test3931a" (isMeth <@ OneModule.ModuleFunctionOneTupledArg(p) @>) + + //printfn "res = %b" (isPropGet <@ ClassOneArg.TestStaticProp @>) + test "test3932a" (isMeth <@ ClassOneArg.TestStaticMethodOneArg(3) @>) + test "test3932f" (isMeth <@ ClassOneArg.TestStaticMethodNoArgs() @>) + test "test3932g" (isMeth <@ ClassOneArg.TestStaticMethodTwoArgs(3,4) @>) + + test "test3932qA" (isPropGet <@ ClassOneArg(3).TestInstanceProp @>) + test "test3932qB" (isPropGet <@ ClassOneArg(3).TestInstanceIndexProp(4) @>) + test "test3932qC" (isPropSet <@ ClassOneArg(3).TestInstanceSettableIndexProp(4) <- 5 @>) + test "test3932qD" (isPropSet <@ ClassOneArg(3).TestInstanceSettableIndexProp2(4,5) <- 6 @>) + test "test3932q77" (match <@ ClassOneArg(3).TestInstanceSettableIndexProp2(4,5) <- 6 @> with + | PropertySet(Some _, _, [Int32(4); Int32(5)], Int32(6)) -> true + | _ -> false) + + test "test3932wA" (isMeth <@ ClassOneArg(3).TestInstanceMethodNoArgs() @>) + test "test3932wB" (isMeth <@ ClassOneArg(3).TestInstanceMethodOneArg(3) @>) + test "test3932e" (isMeth <@ ClassOneArg(3).TestInstanceMethodTwoArgs(3,4) @>) + + test "test3932q1" (isPropSet <@ ClassOneArg(3).Setter <- 3 @>) + test "test3932q2" (isPropGet <@ ClassOneArg(3).GetterIndexer(3) @>) + test "test3932q3" (isPropGet <@ ClassOneArg(3).[3] @>) + test "test3932q4" (isPropGet <@ ClassOneArg(3).TupleGetterIndexer((3,4)) @>) + test "test3932q5" (isPropSet <@ ClassOneArg(3).SetterIndexer(3) <- 3 @>) + test "test3932q61" (isPropSet <@ ClassOneArg(3).[3] <- 3 @>) + test "test3932q62" (match <@ ClassOneArg(3).[4] <- 5 @> with PropertySet(Some _,_, [Int32(4)], Int32(5)) -> true | _ -> false) + test "test3932q7" (isPropSet <@ ClassOneArg(3).TupleSetter <- (3,4) @>) + + + test "test3932" (isPropGet <@ ClassNoArg.TestStaticProp @>) + test "test3932" (isPropSet <@ ClassNoArg.TestStaticSettableProp <- 3 @>) + + printfn "res = %A" <@ ClassNoArg.TestStaticSettableProp <- 5 @> + test "test3932q63" (match <@ ClassNoArg.TestStaticSettableProp <- 5 @> with PropertySet(None, _, [], Int32(5)) -> true | _ -> false) + test "test3932q64" (match <@ ClassNoArg.TestStaticSettableIndexProp(4) <- 5 @> with PropertySet(None, _, [Int32(4)], Int32(5)) -> true | _ -> false) + test "test3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneArg(3) @>) + test "test3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneTupledArg((3,2)) @>) + test "test3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneTupledArg(p) @>) + test "test3932t" (isMeth <@ ClassNoArg.TestStaticMethodNoArgs() @>) + test "test3932y" (isMeth <@ ClassNoArg.TestStaticMethodTwoArgs(3,4) @>) + + test "test3932u" (isPropGet <@ ClassNoArg().TestInstanceProp @>) + test "test3932u" (isPropGet <@ ClassNoArg().TestInstanceIndexProp(4) @>) + test "test3932q65" (match <@ ClassNoArg().TestInstanceIndexProp(4) @> with PropertyGet(Some _, _, [(Int32(4))]) -> true | _ -> false) + test "test3932u" (isPropSet <@ ClassNoArg().TestInstanceSettableIndexProp(4) <- 5 @>) + test "test3932q66" (match <@ ClassNoArg().TestInstanceSettableIndexProp(4) <- 5 @> with PropertySet(Some _, _, [(Int32(4))], Int32(5)) -> true | _ -> false) + test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodNoArgs() @>) + test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneArg(3) @>) + test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneTupledArg((3,4)) @>) + test "test3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneTupledArg(p) @>) + test "test3932o" (isMeth <@ ClassNoArg().TestInstanceMethodTwoArgs(3,4) @>) + + test "test3932" (isPropGet <@ ClassNoArg.TestStaticProp @>) + test "test3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneArg(3) @>) + test "test3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneTupledArg((3,4)) @>) + test "test3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneTupledArg(p) @>) + test "test3932tg" (isMeth <@ GenericClassNoArg.TestStaticMethodNoArgs() @>) + test "test3932yg" (isMeth <@ GenericClassNoArg.TestStaticMethodTwoArgs(3,4) @>) + + test "test3932ug" (isPropGet <@ (GenericClassNoArg()).TestInstanceProp @>) + test "test3932ug" (isPropGet <@ (GenericClassNoArg()).TestInstanceIndexProp(4) @>) + test "test3932ug" (match <@ (GenericClassNoArg()).TestInstanceIndexProp(4) @> with PropertyGet(Some _, _, [Int32(4)]) -> true | _ -> false) + + test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodNoArgs() @>) + test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneArg(3) @>) + test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneTupledArg((3,4)) @>) + test "test3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneTupledArg(p) @>) + test "test3932og" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodTwoArgs(3,4) @>) + +// Checks we can use ResolveMethodDn on methods marked with ReflectedDefinition attribute +module CheckRlectedMembers = + + + + open Microsoft.FSharp.Quotations + + type ClassOneArg(a:int) = + [] + new () = ClassOneArg(3) + [] + static member TestStaticMethodOneArg(x:int) = x + [] + static member TestStaticMethodNoArgs() = 1 + [] + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + [] + static member TestStaticProp = 3 + [] + member c.TestInstanceProp = 3 + [] + member c.TestInstanceMethodOneArg(x:int) = x + [] + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + + [] + member this.GetterIndexer + with get (x:int) = 1 + + [] + member this.TupleGetterIndexer + with get (x:int*int) = 1 + + [] + member this.Item + with get (x:int) = 1 + + [] + member this.TupleSetterIndexer + with get (x : int*int) = 1 + + [] + member this.SetterIndexer + with set (x:int) (y:int) = () + + [] + member this.Item + with set (x:int) (y:int) = () + + [] + member this.Setter + with set (x : int) = () + + [] + member this.TupleSetter + with set (x : int*int) = () + + + [] + type ClassOneArgOuterAttribute(a:int) = + new () = ClassOneArgOuterAttribute(3) + static member TestStaticMethodOneArg(x:int) = x + static member TestStaticMethodNoArgs() = 1 + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + static member TestStaticProp = 3 + member c.TestInstanceProp = 3 + member c.TestInstanceMethodOneArg(x:int) = x + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + + member this.GetterIndexer + with get (x:int) = 1 + + member this.TupleGetterIndexer + with get (x:int*int) = 1 + + member this.Item + with get (x:int) = 1 + + member this.TupleSetterIndexer + with get (x : int*int) = 1 + + member this.SetterIndexer + with set (x:int) (y:int) = () + + member this.Item + with set (x:int) (y:int) = () + + member this.Setter + with set (x : int) = () + + member this.TupleSetter + with set (x : int*int) = () + + type ClassNoArg() = + [] + static member TestStaticMethodOneArg(x:int) = x + [] + static member TestStaticMethodNoArgs() = 1 + [] + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + [] + static member TestStaticProp = 3 + [] + member c.TestInstanceProp = 3 + [] + member c.TestInstanceMethodOneArg(x:int) = x + [] + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + type GenericClassNoArg<'a>() = + [] + new (x:'a) = GenericClassNoArg<_>() + [] + static member TestStaticMethodOneArg(x:int) = x + [] + static member TestStaticMethodNoArgs() = 1 + [] + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + [] + static member TestStaticProp = 3 + [] + member c.TestInstanceProp = 3 + [] + member c.TestInstanceMethodOneArg(x:int) = x + [] + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + type ClassOneArgWithOverrideID(a:int) = + [] + static member TestStaticMethodOneArg(x:int) = x + [] + static member TestStaticMethodNoArgs() = 1 + [] + static member TestStaticMethodTwoArgs(x:int,y:int) = x+y + [] + static member TestStaticProp = 3 + [] + member c.TestInstanceProp = 3 + [] + member c.TestInstanceMethodOneArg(x:int) = x + [] + member c.TestInstanceMethodTwoArgs(x:int,y:int) = x + y + + + let isNewObj (inp : Expr<_>) = match inp with NewObject (ci,_) -> Expr.TryGetReflectedDefinition(ci).IsSome | _ -> false + let isMeth (inp : Expr<_>) = match inp with Call (_,mi,_) -> Expr.TryGetReflectedDefinition(mi).IsSome | _ -> false + let isPropGet (inp : Expr<_>) = match inp with PropertyGet (_,mi,_) -> Expr.TryGetReflectedDefinition(mi.GetGetMethod(true)).IsSome | _ -> false + let isPropSet (inp : Expr<_>) = match inp with PropertySet (_,mi,_,_) -> Expr.TryGetReflectedDefinition(mi.GetSetMethod(true)).IsSome | _ -> false + + //printfn "res = %b" (isPropGet <@ ClassOneArg.TestStaticProp @>) + // Note: there is a ReflectedDefinition on this constructor + test "testReflect39320a" (isNewObj <@ new ClassOneArg() @>) + test "testReflect39320ax" (isNewObj <@ new ClassOneArgOuterAttribute() @>) + // Note: no ReflectedDefinition on this constructor + test "testReflect39320b" (not (isNewObj <@ new ClassOneArg(3) @>)) + // Note: no ReflectedDefinition on this constructor + test "testReflect39320c" (not (isNewObj <@ new GenericClassNoArg() @>)) + // Note: there is a ReflectedDefinition on this constructor + test "testReflect39320d" (isNewObj <@ new GenericClassNoArg<_>(3) @>) + test "testReflect3932a" (isMeth <@ ClassOneArg.TestStaticMethodOneArg(3) @>) + test "testReflect3932f" (isMeth <@ ClassOneArg.TestStaticMethodNoArgs() @>) + test "testReflect3932g" (isMeth <@ ClassOneArg.TestStaticMethodTwoArgs(3,4) @>) + + test "testReflect3932q" (isPropGet <@ ClassOneArg(3).TestInstanceProp @>) + test "testReflect3932w" (isMeth <@ ClassOneArg(3).TestInstanceMethodOneArg(3) @>) + test "testReflect3932e" (isMeth <@ ClassOneArg(3).TestInstanceMethodTwoArgs(3,4) @>) + + test "testReflect3932ax" (isMeth <@ ClassOneArgOuterAttribute.TestStaticMethodOneArg(3) @>) + test "testReflect3932fx" (isMeth <@ ClassOneArgOuterAttribute.TestStaticMethodNoArgs() @>) + test "testReflect3932gx" (isMeth <@ ClassOneArgOuterAttribute.TestStaticMethodTwoArgs(3,4) @>) + test "testReflect3932qx" (isPropGet <@ ClassOneArgOuterAttribute(3).TestInstanceProp @>) + test "testReflect3932wx" (isMeth <@ ClassOneArgOuterAttribute(3).TestInstanceMethodOneArg(3) @>) + test "testReflect3932ex" (isMeth <@ ClassOneArgOuterAttribute(3).TestInstanceMethodTwoArgs(3,4) @>) + + test "testReflect3932" (isPropGet <@ ClassNoArg.TestStaticProp @>) + test "testReflect3932r" (isMeth <@ ClassNoArg.TestStaticMethodOneArg(3) @>) + test "testReflect3932t" (isMeth <@ ClassNoArg.TestStaticMethodNoArgs() @>) + test "testReflect3932y" (isMeth <@ ClassNoArg.TestStaticMethodTwoArgs(3,4) @>) + + test "testReflect3932u" (isPropGet <@ ClassNoArg().TestInstanceProp @>) + test "testReflect3932i" (isMeth <@ ClassNoArg().TestInstanceMethodOneArg(3) @>) + test "testReflect3932o" (isMeth <@ ClassNoArg().TestInstanceMethodTwoArgs(3,4) @>) + + test "testReflect3932q1" (isPropSet <@ ClassOneArg(3).Setter <- 3 @>) + test "testReflect3932q2" (isPropGet <@ ClassOneArg(3).GetterIndexer(3) @>) + test "testReflect3932q3" (isPropGet <@ ClassOneArg(3).[3] @>) + test "testReflect3932q4" (isPropGet <@ ClassOneArg(3).TupleGetterIndexer((3,4)) @>) + test "testReflect3932q5" (isPropSet <@ ClassOneArg(3).SetterIndexer(3) <- 3 @>) + test "testReflect3932q6" (isPropSet <@ ClassOneArg(3).[3] <- 3 @>) + test "testReflect3932q7" (isPropSet <@ ClassOneArg(3).TupleSetter <- (3,4) @>) + + test "testReflect3932q1x" (isPropSet <@ ClassOneArgOuterAttribute(3).Setter <- 3 @>) + test "testReflect3932q2x" (isPropGet <@ ClassOneArgOuterAttribute(3).GetterIndexer(3) @>) + test "testReflect3932q3x" (isPropGet <@ ClassOneArgOuterAttribute(3).[3] @>) + test "testReflect3932q4x" (isPropGet <@ ClassOneArgOuterAttribute(3).TupleGetterIndexer((3,4)) @>) + test "testReflect3932q5x" (isPropSet <@ ClassOneArgOuterAttribute(3).SetterIndexer(3) <- 3 @>) + test "testReflect3932q6x" (isPropSet <@ ClassOneArgOuterAttribute(3).[3] <- 3 @>) + test "testReflect3932q7x" (isPropSet <@ ClassOneArgOuterAttribute(3).TupleSetter <- (3,4) @>) + + test "testReflect3932rg" (isMeth <@ GenericClassNoArg.TestStaticMethodOneArg(3) @>) + test "testReflect3932tg" (isMeth <@ GenericClassNoArg.TestStaticMethodNoArgs() @>) + test "testReflect3932yg" (isMeth <@ GenericClassNoArg.TestStaticMethodTwoArgs(3,4) @>) + + test "testReflect3932ug" (isPropGet <@ (GenericClassNoArg()).TestInstanceProp @>) + test "testReflect3932ig" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodOneArg(3) @>) + test "testReflect3932og" (isMeth <@ (GenericClassNoArg()).TestInstanceMethodTwoArgs(3,4) @>) + + test "testReflect3932a" (isMeth <@ ClassOneArgWithOverrideID.TestStaticMethodOneArg(3) @>) + test "testReflect3932f" (isMeth <@ ClassOneArgWithOverrideID.TestStaticMethodNoArgs() @>) + test "testReflect3932g" (isMeth <@ ClassOneArgWithOverrideID.TestStaticMethodTwoArgs(3,4) @>) + + test "testReflect3932q" (isPropGet <@ ClassOneArgWithOverrideID(3).TestInstanceProp @>) + test "testReflect3932w" (isMeth <@ ClassOneArgWithOverrideID(3).TestInstanceMethodOneArg(3) @>) + test "testReflect3932e" (isMeth <@ ClassOneArgWithOverrideID(3).TestInstanceMethodTwoArgs(3,4) @>) + + +module Bug959_Regression = begin + open Microsoft.FSharp + open Microsoft.FSharp + + //let f x = <@ _ @> (lift x) + + <@ + match 1.0,"b" with + | 1.0, "a" -> + "" + | 2.0, "b" -> + "" + | _ -> "nada" @> +end + +module MoreQuotationsTests = + + let t1 = <@@ try 1 with e when true -> 2 | e -> 3 @@> + checkStrings "vwjnkwve0-vwnio" + (sprintf "%A" t1) + """TryWith (Value (1), matchValue, + IfThenElse (Let (e, matchValue, Value (true)), + Let (e, matchValue, Value (1)), + Let (e, matchValue, Value (1))), matchValue, + IfThenElse (Let (e, matchValue, Value (true)), + Let (e, matchValue, Value (2)), + Let (e, matchValue, Value (3))))""" + + [] + let k (x:int) = + try 1 with _ when true -> 2 | e -> 3 + + let t2 = <@@ Map.empty.[0] @@> + checkStrings "vwjnkwve0-vwnio1" + (sprintf "%A" t2) + "PropertyGet (Some (Call (None, Empty, [])), Item, [Value (0)])" + + + let t4 = <@@ use a = new System.IO.StreamWriter(System.IO.Stream.Null) in a @@> + checkStrings "vwjnkwve0-vwnio3" + (sprintf "%A" t4) + "Let (a, NewObject (StreamWriter, FieldGet (None, Null)), + TryFinally (a, + IfThenElse (TypeTest (IDisposable, Coerce (a, Object)), + Call (Some (Call (None, UnboxGeneric, + [Coerce (a, Object)])), Dispose, + []), Value ())))" + + checkStrings "vwjnkwve0-vwnio3fuull" + (t4.ToString(true)) + "Let (a, + NewObject (Void .ctor(System.IO.Stream), + FieldGet (None, System.IO.Stream Null)), + TryFinally (a, + IfThenElse (TypeTest (System.IDisposable, + Coerce (a, System.Object)), + Call (Some (Call (None, + System.IDisposable UnboxGeneric[IDisposable](System.Object), + [Coerce (a, System.Object)])), + Void Dispose(), []), Value ())))" + + + let t5 = <@@ try failwith "test" with _ when true -> 0 @@> + checkStrings "vwekwvel5" (sprintf "%A" t5) + """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, + IfThenElse (Value (true), Value (1), Value (0)), matchValue, + IfThenElse (Value (true), Value (0), Call (None, Reraise, [])))""" + + let t6 = <@@ let mutable a = 0 in a <- 2 @@> + + checkStrings "vwewvwewe6" (sprintf "%A" t6) + """Let (a, Value (0), VarSet (a, Value (2)))""" + + let f (x: _ byref) = x + + let t7 = <@@ let mutable a = 0 in f (&a) @@> + checkStrings "vwewvwewe7" (sprintf "%A" t7) + """Let (a, Value (0), Call (None, f, [AddressOf (a)]))""" + + let t8 = <@@ for i in 1s .. 10s do printfn "%A" i @@> + checkStrings "vwewvwewe8" (sprintf "%A" t8) + """Let (inputSequence, Call (None, op_Range, [Value (1s), Value (10s)]), + Let (enumerator, Call (Some (inputSequence), GetEnumerator, []), + TryFinally (WhileLoop (Call (Some (enumerator), MoveNext, []), + Let (i, + PropertyGet (Some (enumerator), Current, + []), + Application (Let (clo1, + Call (None, + PrintFormatLine, + [Coerce (NewObject (PrintfFormat`5, + Value ("%A")), + PrintfFormat`4)]), + Lambda (arg10, + Application (clo1, + arg10))), + i))), + IfThenElse (TypeTest (IDisposable, + Coerce (enumerator, Object)), + Call (Some (Call (None, UnboxGeneric, + [Coerce (enumerator, Object)])), + Dispose, []), Value ()))))""" + + let t9() = <@@ try failwith "test" with Failure _ -> 0 @@> + checkStrings "vwewvwewe9" (sprintf "%A" (t9())) + """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, + Let (activePatternResult1557, Call (None, FailurePattern, [matchValue]), + IfThenElse (UnionCaseTest (activePatternResult1557, Some), + Value (1), Value (0))), matchValue, + Let (activePatternResult1558, Call (None, FailurePattern, [matchValue]), + IfThenElse (UnionCaseTest (activePatternResult1558, Some), + Value (0), Call (None, Reraise, []))))""" + + let t9b = <@@ Failure "fil" @@> + checkStrings "vwewvwewe9b" (sprintf "%A" t9b) + """Call (None, Failure, [Value ("fil")])""" + + let t9c = <@@ match Failure "fil" with Failure msg -> msg | _ -> "no" @@> + checkStrings "vwewvwewe9c" (sprintf "%A" t9c) + """Let (matchValue, Call (None, Failure, [Value ("fil")]), + Let (activePatternResult1564, Call (None, FailurePattern, [matchValue]), + IfThenElse (UnionCaseTest (activePatternResult1564, Some), + Let (msg, + PropertyGet (Some (activePatternResult1564), Value, + []), msg), Value ("no"))))""" + + let t10 = <@@ try failwith "test" with Failure _ -> 0 | _ -> 1 @@> + checkStrings "vwewvwewe10" (sprintf "%A" t10) + """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, + Let (activePatternResult1565, Call (None, FailurePattern, [matchValue]), + IfThenElse (UnionCaseTest (activePatternResult1565, Some), + Value (1), Value (1))), matchValue, + Let (activePatternResult1566, Call (None, FailurePattern, [matchValue]), + IfThenElse (UnionCaseTest (activePatternResult1566, Some), + Value (0), Value (1))))""" + + let t11 = <@@ try failwith "test" with :? System.NullReferenceException -> 0 @@> + checkStrings "vwewvwewe11" (sprintf "%A" t11) + """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, + IfThenElse (TypeTest (NullReferenceException, matchValue), Value (1), + Value (0)), matchValue, + IfThenElse (TypeTest (NullReferenceException, matchValue), Value (0), + Call (None, Reraise, [])))""" + + let t12 = <@@ try failwith "test" with :? System.NullReferenceException as n -> 0 @@> + checkStrings "vwewvwewe12" (sprintf "%A" t12) + """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, + IfThenElse (TypeTest (NullReferenceException, matchValue), + Let (n, Call (None, UnboxGeneric, [matchValue]), Value (1)), + Value (0)), matchValue, + IfThenElse (TypeTest (NullReferenceException, matchValue), + Let (n, Call (None, UnboxGeneric, [matchValue]), Value (0)), + Call (None, Reraise, [])))""" + + let t13 = <@@ try failwith "test" with Failure _ -> 1 | :? System.NullReferenceException as n -> 0 @@> + checkStrings "vwewvwewe13" (sprintf "%A" t13) + """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, + Let (activePatternResult1576, Call (None, FailurePattern, [matchValue]), + IfThenElse (UnionCaseTest (activePatternResult1576, Some), + Value (1), + IfThenElse (TypeTest (NullReferenceException, + matchValue), + Let (n, + Call (None, UnboxGeneric, + [matchValue]), Value (1)), + Value (0)))), matchValue, + Let (activePatternResult1577, Call (None, FailurePattern, [matchValue]), + IfThenElse (UnionCaseTest (activePatternResult1577, Some), + Value (1), + IfThenElse (TypeTest (NullReferenceException, + matchValue), + Let (n, + Call (None, UnboxGeneric, + [matchValue]), Value (0)), + Call (None, Reraise, [])))))""" + + let t14 = <@@ try failwith "test" with _ when true -> 0 @@> + checkStrings "vwewvwewe13" (sprintf "%A" t14) + """TryWith (Call (None, FailWith, [Value ("test")]), matchValue, + IfThenElse (Value (true), Value (1), Value (0)), matchValue, + IfThenElse (Value (true), Value (0), Call (None, Reraise, [])))""" + + let _ = <@@ let x : int option = None in x.IsSome @@> |> checkQuoteString "fqekhec1" """Let (x, NewUnionCase (None), Call (None, get_IsSome, [x]))""" + let _ = <@@ let x : int option = None in x.IsNone @@> |> checkQuoteString "fqekhec2" """Let (x, NewUnionCase (None), Call (None, get_IsNone, [x]))""" + let _ = <@@ let x : int option = None in x.Value @@> |> checkQuoteString "fqekhec3" """Let (x, NewUnionCase (None), PropertyGet (Some (x), Value, []))""" + let _ = <@@ let x : int option = None in x.ToString() @@> |> checkQuoteString "fqekhec4" """Let (x, NewUnionCase (None), Call (Some (x), ToString, []))""" + + module Extensions = + type System.Object with + member x.ExtensionMethod0() = 3 + member x.ExtensionMethod1() = () + member x.ExtensionMethod2(y:int) = y + member x.ExtensionMethod3(y:int) = () + member x.ExtensionMethod4(y:int,z:int) = y + z + member x.ExtensionMethod5(y:(int*int)) = y + member x.ExtensionProperty1 = 3 + member x.ExtensionProperty2 with get() = 3 + member x.ExtensionProperty3 with set(v:int) = () + member x.ExtensionIndexer1 with get(idx:int) = idx + member x.ExtensionIndexer2 with set(idx:int) (v:int) = () + + type System.Int32 with + member x.Int32ExtensionMethod0() = 3 + member x.Int32ExtensionMethod1() = () + member x.Int32ExtensionMethod2(y:int) = y + member x.Int32ExtensionMethod3(y:int) = () + member x.Int32ExtensionMethod4(y:int,z:int) = y + z + member x.Int32ExtensionMethod5(y:(int*int)) = y + member x.Int32ExtensionProperty1 = 3 + member x.Int32ExtensionProperty2 with get() = 3 + member x.Int32ExtensionProperty3 with set(v:int) = () + member x.Int32ExtensionIndexer1 with get(idx:int) = idx + member x.Int32ExtensionIndexer2 with set(idx:int) (v:int) = () + + let v = new obj() + let _ = <@@ v.ExtensionMethod0() @@> |> checkQuoteString "fqekhec5" """Call (None, Object.ExtensionMethod0, [PropertyGet (None, v, [])])""" + let _ = <@@ v.ExtensionMethod1() @@> |> checkQuoteString "fqekhec6" """Call (None, Object.ExtensionMethod1, [PropertyGet (None, v, [])])""" + let _ = <@@ v.ExtensionMethod2(3) @@> |> checkQuoteString "fqekhec7" """Call (None, Object.ExtensionMethod2, [PropertyGet (None, v, []), Value (3)])""" + let _ = <@@ v.ExtensionMethod3(3) @@> |> checkQuoteString "fqekhec8" """Call (None, Object.ExtensionMethod3, [PropertyGet (None, v, []), Value (3)])""" + let _ = <@@ v.ExtensionMethod4(3,4) @@> |> checkQuoteString "fqekhec9" """Call (None, Object.ExtensionMethod4, [PropertyGet (None, v, []), Value (3), Value (4)])""" + let _ = <@@ v.ExtensionMethod5(3,4) @@> |> checkQuoteString "fqekhec10" """Call (None, Object.ExtensionMethod5, [PropertyGet (None, v, []), NewTuple (Value (3), Value (4))])""" + let _ = <@@ v.ExtensionProperty1 @@> |> checkQuoteString "fqekhec11" """Call (None, Object.get_ExtensionProperty1, [PropertyGet (None, v, [])])""" + let _ = <@@ v.ExtensionProperty2 @@> |> checkQuoteString "fqekhec12" """Call (None, Object.get_ExtensionProperty2, [PropertyGet (None, v, [])])""" + let _ = <@@ v.ExtensionProperty3 <- 4 @@> |> checkQuoteString "fqekhec13" """Call (None, Object.set_ExtensionProperty3, [PropertyGet (None, v, []), Value (4)])""" + let _ = <@@ v.ExtensionIndexer1(3) @@> |> checkQuoteString "fqekhec14" """Call (None, Object.get_ExtensionIndexer1, [PropertyGet (None, v, []), Value (3)])""" + let _ = <@@ v.ExtensionIndexer2(3) <- 4 @@> |> checkQuoteString "fqekhec15" """Call (None, Object.set_ExtensionIndexer2, [PropertyGet (None, v, []), Value (3), Value (4)])""" + + let _ = <@@ v.ExtensionMethod0 @@> |> checkQuoteString "fqekhec16" """Lambda (unitVar, Call (None, Object.ExtensionMethod0, [PropertyGet (None, v, [])]))""" + let _ = <@@ v.ExtensionMethod1 @@> |> checkQuoteString "fqekhec17" """Lambda (unitVar, Call (None, Object.ExtensionMethod1, [PropertyGet (None, v, [])]))""" + let _ = <@@ v.ExtensionMethod2 @@> |> checkQuoteString "fqekhec18" """Lambda (y, Call (None, Object.ExtensionMethod2, [PropertyGet (None, v, []), y]))""" + let _ = <@@ v.ExtensionMethod3 @@> |> checkQuoteString "fqekhec19" """Lambda (y, Call (None, Object.ExtensionMethod3, [PropertyGet (None, v, []), y]))""" + let _ = <@@ v.ExtensionMethod4 @@> |> checkQuoteString "fqekhec20" """Lambda (tupledArg, Let (y, TupleGet (tupledArg, 0), Let (z, TupleGet (tupledArg, 1), Call (None, Object.ExtensionMethod4, [PropertyGet (None, v, []), y, z]))))""" + let _ = <@@ v.ExtensionMethod5 @@> |> checkQuoteString "fqekhec21" """Lambda (y, Call (None, Object.ExtensionMethod5, [PropertyGet (None, v, []), y]))""" + + let v2 = 3 + let _ = <@@ v2.ExtensionMethod0() @@> |> checkQuoteString "fqekhec22" """Call (None, Object.ExtensionMethod0, [Coerce (PropertyGet (None, v2, []), Object)])""" + let _ = <@@ v2.ExtensionMethod1() @@> |> checkQuoteString "fqekhec23" """Call (None, Object.ExtensionMethod1, [Coerce (PropertyGet (None, v2, []), Object)])""" + let _ = <@@ v2.ExtensionMethod2(3) @@> |> checkQuoteString "fqekhec24" """Call (None, Object.ExtensionMethod2, [Coerce (PropertyGet (None, v2, []), Object), Value (3)])""" + let _ = <@@ v2.ExtensionMethod3(3) @@> |> checkQuoteString "fqekhec25" """Call (None, Object.ExtensionMethod3, [Coerce (PropertyGet (None, v2, []), Object), Value (3)])""" + let _ = <@@ v2.ExtensionMethod4(3,4) @@> |> checkQuoteString "fqekhec26" """Call (None, Object.ExtensionMethod4, [Coerce (PropertyGet (None, v2, []), Object), Value (3), Value (4)])""" + let _ = <@@ v2.ExtensionMethod5(3,4) @@> |> checkQuoteString "fqekhec27" """Call (None, Object.ExtensionMethod5, [Coerce (PropertyGet (None, v2, []), Object), NewTuple (Value (3), Value (4))])""" + let _ = <@@ v2.ExtensionProperty1 @@> |> checkQuoteString "fqekhec28" """Call (None, Object.get_ExtensionProperty1, [Coerce (PropertyGet (None, v2, []), Object)])""" + let _ = <@@ v2.ExtensionProperty2 @@> |> checkQuoteString "fqekhec29" """Call (None, Object.get_ExtensionProperty2, [Coerce (PropertyGet (None, v2, []), Object)])""" + let _ = <@@ v2.ExtensionProperty3 <- 4 @@> |> checkQuoteString "fqekhec30" """Call (None, Object.set_ExtensionProperty3, [Coerce (PropertyGet (None, v2, []), Object), Value (4)])""" + let _ = <@@ v2.ExtensionIndexer1(3) @@> |> checkQuoteString "fqekhec31" """Call (None, Object.get_ExtensionIndexer1, [Coerce (PropertyGet (None, v2, []), Object), Value (3)])""" + let _ = <@@ v2.ExtensionIndexer2(3) <- 4 @@> |> checkQuoteString "fqekhec32" """Call (None, Object.set_ExtensionIndexer2, [Coerce (PropertyGet (None, v2, []), Object), Value (3), Value (4)])""" + + let _ = <@@ v2.ExtensionMethod0 @@> |> checkQuoteString "fqekhec33" """Lambda (unitVar, Call (None, Object.ExtensionMethod0, [Coerce (PropertyGet (None, v2, []), Object)]))""" + let _ = <@@ v2.ExtensionMethod1 @@> |> checkQuoteString "fqekhec34" """Lambda (unitVar, Call (None, Object.ExtensionMethod1, [Coerce (PropertyGet (None, v2, []), Object)]))""" + let _ = <@@ v2.ExtensionMethod2 @@> |> checkQuoteString "fqekhec35" """Lambda (y, Call (None, Object.ExtensionMethod2, [Coerce (PropertyGet (None, v2, []), Object), y]))""" + let _ = <@@ v2.ExtensionMethod3 @@> |> checkQuoteString "fqekhec36" """Lambda (y, Call (None, Object.ExtensionMethod3, [Coerce (PropertyGet (None, v2, []), Object), y]))""" + let _ = <@@ v2.ExtensionMethod4 @@> |> checkQuoteString "fqekhec37" """Lambda (tupledArg, Let (y, TupleGet (tupledArg, 0), Let (z, TupleGet (tupledArg, 1), Call (None, Object.ExtensionMethod4, [Coerce (PropertyGet (None, v2, []), Object), y, z]))))""" + let _ = <@@ v2.ExtensionMethod5 @@> |> checkQuoteString "fqekhec38" """Lambda (y, Call (None, Object.ExtensionMethod5, [Coerce (PropertyGet (None, v2, []), Object), y]))""" + + let _ = <@@ v2.Int32ExtensionMethod0() @@> |> checkQuoteString "fqekhec39" """Call (None, Int32.Int32ExtensionMethod0, [PropertyGet (None, v2, [])])""" + let _ = <@@ v2.Int32ExtensionMethod1() @@> |> checkQuoteString "fqekhec40" """Call (None, Int32.Int32ExtensionMethod1, [PropertyGet (None, v2, [])])""" + let _ = <@@ v2.Int32ExtensionMethod2(3) @@> |> checkQuoteString "fqekhec41" """Call (None, Int32.Int32ExtensionMethod2, [PropertyGet (None, v2, []), Value (3)])""" + let _ = <@@ v2.Int32ExtensionMethod3(3) @@> |> checkQuoteString "fqekhec42" """Call (None, Int32.Int32ExtensionMethod3, [PropertyGet (None, v2, []), Value (3)])""" + let _ = <@@ v2.Int32ExtensionMethod4(3,4) @@> |> checkQuoteString "fqekhec43" """Call (None, Int32.Int32ExtensionMethod4, [PropertyGet (None, v2, []), Value (3), Value (4)])""" + let _ = <@@ v2.Int32ExtensionMethod5(3,4) @@> |> checkQuoteString "fqekhec44" """Call (None, Int32.Int32ExtensionMethod5, [PropertyGet (None, v2, []), NewTuple (Value (3), Value (4))])""" + let _ = <@@ v2.Int32ExtensionProperty1 @@> |> checkQuoteString "fqekhec45" """Call (None, Int32.get_Int32ExtensionProperty1, [PropertyGet (None, v2, [])])""" + let _ = <@@ v2.Int32ExtensionProperty2 @@> |> checkQuoteString "fqekhec46" """Call (None, Int32.get_Int32ExtensionProperty2, [PropertyGet (None, v2, [])])""" + let _ = <@@ v2.Int32ExtensionProperty3 <- 4 @@> |> checkQuoteString "fqekhec47" """Call (None, Int32.set_Int32ExtensionProperty3, [PropertyGet (None, v2, []), Value (4)])""" + let _ = <@@ v2.Int32ExtensionIndexer1(3) @@> |> checkQuoteString "fqekhec48" """Call (None, Int32.get_Int32ExtensionIndexer1, [PropertyGet (None, v2, []), Value (3)])""" + let _ = <@@ v2.Int32ExtensionIndexer2(3) <- 4 @@> |> checkQuoteString "fqekhec49" """Call (None, Int32.set_Int32ExtensionIndexer2, [PropertyGet (None, v2, []), Value (3), Value (4)])""" + + let _ = <@@ v2.Int32ExtensionMethod0 @@> |> checkQuoteString "fqekhec50" """Lambda (unitVar, Call (None, Int32.Int32ExtensionMethod0, [PropertyGet (None, v2, [])]))""" + let _ = <@@ v2.Int32ExtensionMethod1 @@> |> checkQuoteString "fqekhec51" """Lambda (unitVar, Call (None, Int32.Int32ExtensionMethod1, [PropertyGet (None, v2, [])]))""" + let _ = <@@ v2.Int32ExtensionMethod2 @@> |> checkQuoteString "fqekhec52" """Lambda (y, Call (None, Int32.Int32ExtensionMethod2, [PropertyGet (None, v2, []), y]))""" + let _ = <@@ v2.Int32ExtensionMethod3 @@> |> checkQuoteString "fqekhec53" """Lambda (y, Call (None, Int32.Int32ExtensionMethod3, [PropertyGet (None, v2, []), y]))""" + let _ = <@@ v2.Int32ExtensionMethod4 @@> |> checkQuoteString "fqekhec54" """Lambda (tupledArg, Let (y, TupleGet (tupledArg, 0), Let (z, TupleGet (tupledArg, 1), Call (None, Int32.Int32ExtensionMethod4, [PropertyGet (None, v2, []), y, z]))))""" + let _ = <@@ v2.Int32ExtensionMethod5 @@> |> checkQuoteString "fqekhec55" """Lambda (y, Call (None, Int32.Int32ExtensionMethod5, [PropertyGet (None, v2, []), y]))""" + + +module QuotationConstructionTests = + let arr = [| 1;2;3;4;5 |] + let f : int -> int = printfn "hello"; (fun x -> x) + let f2 : int * int -> int -> int = printfn "hello"; (fun (x,y) z -> x + y + z) + let F (x:int) = x + let F2 (x:int,y:int) (z:int) = x + y + z + + type Foo () = + member t.Item with get (index:int) = 1 + and set (index:int) (value:int) = () + + let ctorof q = match q with Patterns.NewObject(cinfo,_) -> cinfo | _ -> failwith "ctorof" + let methodof q = match q with DerivedPatterns.Lambdas(_,Patterns.Call(_,minfo,_)) -> minfo | _ -> failwith "methodof" + let fieldof q = match q with Patterns.FieldGet(_,finfo) -> finfo | _ -> failwith "fieldof" + let ucaseof q = match q with Patterns.NewUnionCase(ucinfo,_) -> ucinfo | _ -> failwith "ucaseof" + let getof q = match q with Patterns.PropertyGet(_,pinfo,_) -> pinfo | _ -> failwith "getof" + let setof q = match q with Patterns.PropertySet(_,pinfo,_,_) -> pinfo | _ -> failwith "setof" + check "vcknwwe01" (match Expr.AddressOf <@@ arr.[3] @@> with AddressOf(expr) -> expr = <@@ arr.[3] @@> | _ -> false) true + check "vcknwwe02" (match Expr.AddressSet (Expr.AddressOf <@@ arr.[3] @@>, <@@ 4 @@>) with AddressSet(AddressOf(expr),v) -> expr = <@@ arr.[3] @@> && v = <@@ 4 @@> | _ -> false) true + check "vcknwwe03" (match Expr.Application(<@@ f @@>,<@@ 5 @@>) with Application(f1,x) -> f1 = <@@ f @@> && x = <@@ 5 @@> | _ -> false) true + check "vcknwwe04" (match Expr.Applications(<@@ f @@>,[[ <@@ 5 @@> ]]) with Applications(f1,[[x]]) -> f1 = <@@ f @@> && x = <@@ 5 @@> | _ -> false) true + check "vcknwwe05" (match Expr.Applications(<@@ f2 @@>,[[ <@@ 5 @@>;<@@ 6 @@> ]; [ <@@ 7 @@> ]]) with Applications(f1,[[x;y];[z]]) -> f1 = <@@ f2 @@> && x = <@@ 5 @@> && y = <@@ 6 @@> && z = <@@ 7 @@> | _ -> false) true + check "vcknwwe06" (match Expr.Call(methodof <@@ F2 @@>,[ <@@ 5 @@>;<@@ 6 @@>; <@@ 7 @@> ]) with Call(None,minfo,[x;y;z]) -> minfo = methodof <@@ F2 @@> && x = <@@ 5 @@> && y = <@@ 6 @@> && z = <@@ 7 @@> | _ -> false) true + check "vcknwwe07" (Expr.Cast(<@@ 5 @@>) : Expr) (<@ 5 @>) + check "vcknwwe08" (try let _ = Expr.Cast(<@@ 5 @@>) : Expr in false with :? System.ArgumentException -> true) true + check "vcknwwe09" (match Expr.Coerce(<@@ 5 @@>, typeof) with Coerce(q,ty) -> ty = typeof && q = <@@ 5 @@> | _ -> false) true + check "vcknwwe0q" (match Expr.DefaultValue(typeof) with DefaultValue(ty) -> ty = typeof | _ -> false) true + check "vcknwwe0w" (match Expr.FieldGet(typeof.GetField("MaxValue")) with FieldGet(None,finfo) -> finfo = typeof.GetField("MaxValue") | _ -> false) true + check "vcknwwe0e" (match Expr.FieldSet(typeof.GetField("MaxValue"),<@@ 1 @@>) with FieldSet(None,finfo,v) -> finfo = typeof.GetField("MaxValue") && v = <@@ 1 @@> | _ -> false) true + check "vcknwwe0r" (match Expr.ForIntegerRangeLoop(Var.Global("i",typeof),<@@ 1 @@>,<@@ 10 @@>,<@@ () @@>) with ForIntegerRangeLoop(v,start,finish,body) -> v = Var.Global("i",typeof) && start = <@@ 1 @@> && finish = <@@ 10 @@> && body = <@@ () @@> | _ -> false) true + check "vcknwwe0t" (match Expr.GlobalVar("i") : Expr with Var(v) -> v = Var.Global("i",typeof) | _ -> false) true + check "vcknwwe0y" (match Expr.IfThenElse(<@@ true @@>,<@@ 1 @@>,<@@ 2 @@>) with IfThenElse(gd,t,e) -> gd = <@@ true @@> && t = <@@ 1 @@> && e = <@@ 2 @@> | _ -> false) true + check "vcknwwe0u" (match Expr.Lambda(Var.Global("i",typeof), <@@ 2 @@>) with Lambda(v,b) -> v = Var.Global("i",typeof) && b = <@@ 2 @@> | _ -> false) true + check "vcknwwe0i" (match Expr.Let(Var.Global("i",typeof), <@@ 2 @@>, <@@ 3 @@>) with Let(v,e,b) -> v = Var.Global("i",typeof) && e = <@@ 2 @@> && b = <@@ 3 @@> | _ -> false) true + check "vcknwwe0o" (match Expr.LetRecursive([(Var.Global("i",typeof), <@@ 2 @@>)], <@@ 3 @@>) with LetRecursive([(v,e)],b) -> v = Var.Global("i",typeof) && e = <@@ 2 @@> && b = <@@ 3 @@> | _ -> false) true + check "vcknwwe0p" (match Expr.LetRecursive([(Var.Global("i",typeof), <@@ 2 @@>);(Var.Global("j",typeof), <@@ 3 @@>)], <@@ 3 @@>) with LetRecursive([(v1,e1);(v2,e2)],b) -> v1 = Var.Global("i",typeof) && v2 = Var.Global("j",typeof) && e1 = <@@ 2 @@> && e2 = <@@ 3 @@> && b = <@@ 3 @@> | _ -> false) true + check "vcknwwe0a" (Expr.NewArray(typeof,[ <@@ 1 @@>; <@@ 2 @@> ])) <@@ [| 1;2 |] @@> + check "vcknwwe0s" (match Expr.NewDelegate(typeof>,[ Var.Global("i",typeof) ], <@@ () @@>) with NewDelegate(ty,[v],e) -> ty = typeof> && v = Var.Global("i",typeof) && e = <@@ () @@> | _ -> false) true + check "vcknwwe0d" (match Expr.NewObject(ctorof <@@ new obj() @@> ,[ ]) with NewObject(ty,[]) -> ty = ctorof <@@ new obj() @@> | _ -> false) true + check "vcknwwe0f" (match Expr.NewObject(ctorof <@@ new System.String('a',3) @@> ,[ <@@ 'b' @@>; <@@ 4 @@>]) with NewObject(ty,[x;y]) -> ty = ctorof <@@ new string('a',3) @@> && x = <@@ 'b' @@> && y = <@@ 4 @@> | _ -> false) true + check "vcknwwe0g" (Expr.NewRecord(typeof ,[ <@@ 4 @@> ])) <@@ { contents = 4 } @@> + check "vcknwwe0h" (try let _ = Expr.NewTuple([]) in false with :? System.ArgumentException -> true) true + check "vcknwwe0j" (try let _ = Expr.NewTuple([ <@@ 1 @@> ]) in true with :? System.ArgumentException -> false) true + check "vcknwwe0k" (match Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>]) with NewTuple([x;y]) -> x = <@@ 'b' @@> && y = <@@ 4 @@> | _ -> false) true + check "vcknwwe0l" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>])) <@@ ('b',4) @@> + check "vcknwwe0z" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>])) <@@ ('b',4,5) @@> + check "vcknwwe0x" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>])) <@@ ('b',4,5,6) @@> + check "vcknwwe0c" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>])) <@@ ('b',4,5,6,7) @@> + check "vcknwwe0v" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>])) <@@ ('b',4,5,6,7,8) @@> + check "vcknwwe0b" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>; <@@ 9 @@>])) <@@ ('b',4,5,6,7,8,9) @@> + check "vcknwwe0n" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>; <@@ 9 @@>; <@@ 10 @@>])) <@@ ('b',4,5,6,7,8,9,10) @@> + check "vcknwwe0m" (Expr.NewTuple([ <@@ 'b' @@>; <@@ 4 @@>; <@@ 5 @@>; <@@ 6 @@>; <@@ 7 @@>; <@@ 8 @@>; <@@ 9 @@>; <@@ 10 @@>])) <@@ ('b',4,5,6,7,8,9,10) @@> + check "vcknwwe011" (Expr.NewUnionCase(ucaseof <@@ Some(3) @@>,[ <@@ 4 @@> ])) <@@ Some(4) @@> + check "vcknwwe022" (Expr.NewUnionCase(ucaseof <@@ None @@>,[ ])) <@@ None @@> + check "vcknwwe033" (try let _ = Expr.NewUnionCase(ucaseof <@@ Some(3) @@>,[ ]) in false with :? ArgumentException -> true) true + check "vcknwwe044" (try let _ = Expr.NewUnionCase(ucaseof <@@ None @@>,[ <@@ 1 @@> ]) in false with :? ArgumentException -> true) true + check "vcknwwe055" (Expr.PropertyGet(getof <@@ System.DateTime.Now @@>,[ ])) <@@ System.DateTime.Now @@> + check "vcknwwe066" (try let _ = Expr.PropertyGet(getof <@@ System.DateTime.Now @@>,[ <@@ 1 @@> ]) in false with :? ArgumentException -> true) true + check "vcknwwe077" (Expr.PropertyGet(<@@ "3" @@>, getof <@@ "1".Length @@>)) <@@ "3".Length @@> + check "vcknwwe088" (Expr.PropertyGet(<@@ "3" @@>, getof <@@ "1".Length @@>,[ ])) <@@ "3".Length @@> +#if !TESTS_AS_APP && !NETCOREAPP + check "vcknwwe099" (Expr.PropertySet(<@@ (new System.Windows.Forms.Form()) @@>, setof <@@ (new System.Windows.Forms.Form()).Text <- "2" @@>, <@@ "3" @@> )) <@@ (new System.Windows.Forms.Form()).Text <- "3" @@> +#endif + check "vcknwwe099" (Expr.PropertySet(<@@ (new Foo()) @@>, setof <@@ (new Foo()).[3] <- 1 @@>, <@@ 2 @@> , [ <@@ 3 @@> ] )) <@@ (new Foo()).[3] <- 2 @@> +#if FSHARP_CORE_31 +#else + check "vcknwwe0qq1" (Expr.QuoteRaw(<@ "1" @>)) <@@ <@@ "1" @@> @@> + check "vcknwwe0qq2" (Expr.QuoteRaw(<@@ "1" @@>)) <@@ <@@ "1" @@> @@> + check "vcknwwe0qq3" (Expr.QuoteTyped(<@ "1" @>)) <@@ <@ "1" @> @@> + check "vcknwwe0qq4" (Expr.QuoteTyped(<@@ "1" @@>)) <@@ <@ "1" @> @@> +#endif + check "vcknwwe0ww" (Expr.Sequential(<@@ () @@>, <@@ 1 @@>)) <@@ (); 1 @@> + check "vcknwwe0ee" (Expr.TryFinally(<@@ 1 @@>, <@@ () @@>)) <@@ try 1 finally () @@> + check "vcknwwe0rr" (match Expr.TryWith(<@@ 1 @@>, Var.Global("e1",typeof), <@@ 1 @@>, Var.Global("e2",typeof), <@@ 2 @@>) with TryWith(b,v1,ef,v2,eh) -> b = <@@ 1 @@> && eh = <@@ 2 @@> && ef = <@@ 1 @@> && v1 = Var.Global("e1",typeof) && v2 = Var.Global("e2",typeof)| _ -> false) true + check "vcknwwe0tt" (match Expr.TupleGet(<@@ (1,2) @@>, 0) with TupleGet(b,n) -> b = <@@ (1,2) @@> && n = 0 | _ -> false) true + check "vcknwwe0yy" (match Expr.TupleGet(<@@ (1,2) @@>, 1) with TupleGet(b,n) -> b = <@@ (1,2) @@> && n = 1 | _ -> false) true + check "vcknwwe0uu" (try let _ = Expr.TupleGet(<@@ (1,2) @@>, 2) in false with :? ArgumentException -> true) true + check "vcknwwe0ii" (try let _ = Expr.TupleGet(<@@ (1,2) @@>, -1) in false with :? ArgumentException -> true) true + for i = 0 to 7 do + check "vcknwwe0oo" (match Expr.TupleGet(<@@ (1,2,3,4,5,6,7,8) @@>, i) with TupleGet(b,n) -> b = <@@ (1,2,3,4,5,6,7,8) @@> && n = i | _ -> false) true + + check "vcknwwe0pp" (match Expr.TypeTest(<@@ new obj() @@>, typeof) with TypeTest(e,ty) -> e = <@@ new obj() @@> && ty = typeof | _ -> false) true + check "vcknwwe0aa" (match Expr.UnionCaseTest(<@@ [] : int list @@>, ucaseof <@@ [] : int list @@> ) with UnionCaseTest(e,uc) -> e = <@@ [] : int list @@> && uc = ucaseof <@@ [] : int list @@> | _ -> false) true + check "vcknwwe0ss" (Expr.Value(3)) <@@ 3 @@> + check "vcknwwe0dd" (match Expr.Var(Var.Global("i",typeof)) with Var(v) -> v = Var.Global("i",typeof) | _ -> false) true + check "vcknwwe0ff" (match Expr.VarSet(Var.Global("i",typeof), <@@ 4 @@>) with VarSet(v,q) -> v = Var.Global("i",typeof) && q = <@@ 4 @@> | _ -> false) true + check "vcknwwe0gg" (match Expr.WhileLoop(<@@ true @@>, <@@ () @@>) with WhileLoop(g,b) -> g = <@@ true @@> && b = <@@ () @@> | _ -> false) true + + + +module QuotationStructUnionTests = + + [] + type T = | A of int + + test "check NewUnionCase" (<@ A(1) @> |> (function NewUnionCase(unionCase,args) -> true | _ -> false)) + + [] + let foo v = match v with | A(1) -> 0 | _ -> 1 + + test "check TryGetReflectedDefinition (local f)" + ((<@ foo (A(1)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + [] + let test3297327 v = match v with | A(1) -> 0 | _ -> 1 + + test "check TryGetReflectedDefinition (local f)" + ((<@ foo (A(1)) @> |> (function Call(None,minfo,args) -> Quotations.Expr.TryGetReflectedDefinition(minfo).IsSome | _ -> false))) + + + [] + type T2 = + | A1 of int * int + + test "check NewUnionCase" (<@ A1(1,2) @> |> (function NewUnionCase(unionCase,[ Int32 1; Int32 2 ]) -> true | _ -> false)) + + //[] + //type T3 = + // | A1 of int * int + // + //test "check NewUnionCase" (<@ A1(1,2) @> |> (function NewUnionCase(unionCase,[ Int32 1; Int32 2 ]) -> true | _ -> false)) + + +module EqualityOnExprDoesntFail = + let q = <@ 1 @> + check "we09ceo" (q.Equals(1)) false + check "we09ceo" (q.Equals(q)) true + check "we09ceo" (q.Equals(<@ 1 @>)) true + check "we09ceo" (q.Equals(<@ 2 @>)) false + check "we09ceo" (q.Equals(null)) false + +module EqualityOnVarDoesntFail = + let v = Var.Global("c",typeof) + let v2 = Var.Global("c",typeof) + let v3 = Var.Global("d",typeof) + check "we09ceo2" (v.Equals(1)) false + check "we09ceo2" (v.Equals(v)) true + check "we09ceo2" (v.Equals(v2)) true + check "we09ceo2" (v.Equals(v3)) false + check "we09ceo2" (v.Equals(null)) false + +module RelatedChange3628 = + // Fix for 3628 translates "do x" into "do (x;())" when x is not unit typed. + // This regression checks the quotated form. + + open System + open Microsoft.FSharp.Quotations + open Microsoft.FSharp.Quotations.Patterns + open Microsoft.FSharp.Quotations.DerivedPatterns + + [] + let f (x:int) = do x + let (Call(None,minfo,args)) = <@ f 1 @> + let (Some lamexp) = Quotations.Expr.TryGetReflectedDefinition(minfo) + let (Lambda(v,body)) = lamexp + let (Sequential (a,b)) = body + let (Var v2) = a + check "RelatedChange3628.a" v v2 + check "RelatedChange3628.b" b <@@ () @@> + +module Check3628 = + let inline fA (x:int) = (do x) + let fB (x:int) = (do x) + let resA = fA 12 + let resB = fB 13 + let mutable (z:unit) = () + z <- fA 14 + z <- fB 15 + +module ReflectedDefinitionForPatternInputTest = + + [] + let [x] = [1];; + +module Test920236 = + open System.Collections + type Arr(a : int[]) = + interface IEnumerable with + member this.GetEnumerator() = + let i = ref -1 + { new IEnumerator with + member this.Reset() = failwith "not supported" + member this.MoveNext() = incr i; !i < a.Length + member this.Current = box (a.[!i]) + } + let arr = Arr([||]) + + let q = + let a = arr + <@ for i in a do ignore i @> + + test "Test920236" + (match q with + | Let(e,Call(Some (Coerce(Value a, typ)), mi, []), + (TryFinally + (WhileLoop((Call (Some e1, moveNext, [])), + Let(i, + PropertyGet ((Some e2),piCurrent,[]), + Call(None,_,[_]) // ignore + ) + ), + IfThenElse(TypeTest(Coerce(_,typObj), typDisposable), + Call(Some(Call(None, unboxGeneric, [Coerce(e3,typObj2)])),disposeMI, []), Value _) + )) + ) + when typ.FullName = "System.Collections.IEnumerable" && + mi.Name = "GetEnumerator" && + moveNext.Name = "MoveNext" && + piCurrent.Name = "Current" && + typDisposable.FullName = "System.IDisposable" && + unboxGeneric.Name = "UnboxGeneric" + -> true + | _ -> false) + + +module TestQuotationOfCOnstructors = + + type MyClassWithNoFields [] () = + member this.Bar z = () + + [] + type MyClassWithNoFieldsOuter () = + member this.Bar z = () + + [] + module M = + type MyClassWithNoFieldsNestedInModule () = + member this.Bar z = () + + module Inner = + type MyClassWithNoFieldsNestedInInnerModule () = + member this.Bar z = () + + module Inner = + type MyClassWithNoFieldsNestedInInnerModule () = + member this.Bar z = () + + + type MyClassWithFields []() = + let x = 12 + let y = x + let w = x // note this variable is not used in any method and becomes local to the constructor + + [] + member this.Bar z = x + z + y + + type MyGenericClassWithArgs<'T> [](inp:'T) = + let x = inp + let y = x + let w = x // note this variable is not used in any method and becomes local to the constructor + + [] + member this.Bar z = (x,y,z) + + type MyGenericClassWithTwoArgs<'T> [](inpA:'T, inpB:'T) = // note, inpB is captured + let x = inpA + let y = x + let w = x // note this variable is not used in any method and becomes local to the constructor + + [] + member this.Bar z = (x,y,z,inpB) + + type MyClassWithAsLetMethod () = + [] + let f() = 1 + + [] + member this.Bar z = f() + + + [] + type MyClassWithAsLetMethodOuter () = + let f() = 1 + + member this.Bar z = f() + + + + Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" + Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" + Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" + Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" + Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" + Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) |> printfn "%A" + Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) |> printfn "%A" + Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) |> printfn "%A" + + + + test "vkjnkvrw2" + (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with + | Some + (Lambda + (_,Sequential + (NewObject objCtor, + Sequential + (FieldSet (Some (Var thisVar0), xField1, Int32 12), + Sequential + (FieldSet (Some (Var thisVar1), yField,FieldGet (Some (Var thisVar2),xField2)), + Let (wVar,FieldGet (Some (Var thisVar3), xField3), Unit)))))) + -> + thisVar0 = thisVar1 && + thisVar1 = thisVar2 && + thisVar2 = thisVar3 && + thisVar1.Name = "this" && + thisVar1.Type = typeof && + thisVar1 = Var.Global("this", typeof) && + xField1.Name = "x" && + xField2.Name = "x" && + xField3.Name = "x" && + yField.Name = "y" && + wVar.Name = "w" && + wVar.Type = typeof + + | _ -> false) + + + + test "vkjnkvrw3" + (match Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) with + | Some + (Lambda + (inpVar,Sequential + (NewObject objCtor, + Sequential + (FieldSet (Some (Var thisVar0), xField1, Var inpVar1), + Sequential + (FieldSet (Some (Var thisVar1), yField,FieldGet (Some (Var thisVar2),xField2)), + Let (wVar,FieldGet (Some (Var thisVar3), xField3), Unit)))))) + -> + inpVar.Name = "inp" && + inpVar.Type = typeof && + thisVar0 = thisVar1 && + thisVar1 = thisVar2 && + thisVar2 = thisVar3 && + thisVar1.Name = "this" && + thisVar1.Type = typeof> && + thisVar1 = Var.Global("this", typeof>) && + xField1.Name = "x" && + xField2.Name = "x" && + xField3.Name = "x" && + yField.Name = "y" && + wVar.Name = "w" && + wVar.Type = typeof + + | _ -> false) + + + test "vkjnkvrw4" + (match Expr.TryGetReflectedDefinition (typeof>.GetConstructors().[0]) with + | Some + (Lambdas + ([[inpAVar1; inpBVar1]], + Sequential + (NewObject objCtor, + Sequential + (FieldSet (Some (Var thisVar0), inpBField, Var inpBVar2), + Sequential + (FieldSet (Some (Var thisVar1), xField1, Var inpAVar2), + Sequential + (FieldSet (Some (Var thisVar2), yField,FieldGet (Some (Var thisVar3),xField2)), + Let (wVar,FieldGet (Some (Var thisVar4), xField3), Unit))))))) + -> true || + inpAVar1 = inpAVar2 && + inpAVar1.Name = "inpA" && + inpAVar2.Type = typeof && + inpBVar1 = inpBVar2 && + inpBVar1.Name = "inpB" && + inpBVar1.Type = typeof && + thisVar0 = thisVar1 && + thisVar1 = thisVar2 && + thisVar2 = thisVar3 && + thisVar3 = thisVar4 && + thisVar1.Name = "this" && + thisVar1 = Var.Global("this", typeof>) && + thisVar1.Type = typeof> && + inpBField.Name = "inpB" && + xField1.Name = "x" && + xField2.Name = "x" && + xField3.Name = "x" && + yField.Name = "y" && + wVar.Name = "w" && + wVar.Type = typeof + + | _ -> false) + + // Also test getting the reflected definition for private members implied by "let f() = ..." bindings + let fMethod = (typeof.GetMethod("f", Reflection.BindingFlags.Instance ||| Reflection.BindingFlags.Public ||| Reflection.BindingFlags.NonPublic)) + + // Also test getting the reflected definition for private members implied by "let f() = ..." bindings + let fMethodOuter = (typeof.GetMethod("f", Reflection.BindingFlags.Instance ||| Reflection.BindingFlags.Public ||| Reflection.BindingFlags.NonPublic)) + + test "vkjnkvrw1" + (match Expr.TryGetReflectedDefinition fMethod with + | Some (Lambdas ([[thisVar];[unitVar]], Int32 1)) + -> unitVar.Type = typeof + | _ -> false) + + Expr.TryGetReflectedDefinition fMethod |> printfn "%A" + + test "vkjnkvrw0" + (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with + | Some (Lambda (unitVar,Sequential (NewObject objCtor,Unit))) + -> unitVar.Type = typeof + | _ -> false) + + test "vkjnkvrw0b" + (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with + | Some (Lambda (unitVar,Sequential (NewObject objCtor,Unit))) + -> unitVar.Type = typeof + | _ -> false) + + test "vkjnkvrw0c" + (match Expr.TryGetReflectedDefinition (typeof.GetConstructors().[0]) with + | Some (Lambda (unitVar,Sequential (NewObject objCtor,Unit))) + -> unitVar.Type = typeof + | _ -> false) + + +module IndexedPropertySetTest = + open System + open Microsoft.FSharp.Quotations + open Microsoft.FSharp.Quotations.Patterns + + // Having int[] will allow us to swap es and l in PropertySet builder for testing. + type Foo (array:int[]) = + member t.Item with get (index:int) = array.[index] + and set (index:int) (value:int) = do array.[index] <- value + + + let testExprPropertySet () = + let foo = new Foo([|0..4|]) + let expr = <@do foo.[2] <- 0@> + + //printfn "%A" expr + + // let's rebuild expr ourself and bind it to bexpr. + let bexpr = + match expr with + | PropertySet (inst, pi, l, es) -> + match inst with + | Some(e) -> + Expr.PropertySet(e, pi, es, l) // swaping params 2 and 3 e.g. (e, pi, l.[0], [es]) yield to OK + | _ -> failwith "" + | _ -> failwith "" + + //printfn "%A" bexpr + + let result = bexpr.Equals(expr) + if result then printfn "Test OK." + else printfn "Test KO." + + do testExprPropertySet () + + + +module QuotationsOfLocalFunctions_FSharp_1_0_6403 = + + type C() = + let f1 (x:int) = 1 + let f2 (x:'T) = 1 + let f3 (x:byref) = 1 + + [] + let rd1 x = f1 x + + [] + let rd2 x = f2 x + + // not allowed - byrefs in quotations: + // [] + //let rd3 (x:byref) = f3 (&x) + + let q1 x = <@ f1 x @> + let q2 x = <@ f2 x @> + // not allowed - byrefs in quotations: + // let q3 (x:byref) = <@ f3 (&x) @> + + static let sf1 (x:int) = 1 + static let sf2 (x:'T) = 1 + static let sf3 (x:byref) = 1 + + [] + static let srd1 x = sf1 x + + [] + static let srd2 x = sf2 x + + // not allowed - byrefs in quotations: + // [] + //let rd3 (x:byref) = f3 (&x) + + static let sq1 x = <@ sf1 x @> + static let sq2 x = <@ sf2 x @> + + static let mutable sfield1 = 1 + + static member SQ1 = sq1 1 + static member SQ2 = sq2 1 + + static member SQ3 v = <@ sf1 v @> + static member SQ4 v = <@ sf2 v @> + + static member SQ5 = <@ sf1 1 @> + static member SQ6 = <@ sf2 2 @> + + static member SQ7 v = <@ srd1 v @> + static member SQ8 v = <@ srd2 v @> + + // not allowed - byrefs in quotations: + //static member SQ3 = q3 (&field1) + + static member SRD1 = Quotations.Expr.TryGetReflectedDefinition (match C.SQ7 3 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") + static member SRD2 = Quotations.Expr.TryGetReflectedDefinition (match C.SQ8 4 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") + + member self.Q1 = q1 1 + member self.Q2 = q2 1 + + member self.Q3 v = <@ f1 v @> + member self.Q4 v = <@ f2 v @> + + member self.Q5 = <@ f1 1 @> + member self.Q6 = <@ f2 2 @> + + member self.Q7 v = <@ rd1 v @> + member self.Q8 v = <@ rd2 v @> + + // not allowed - byrefs in quotations: + //member self.Q3 = q3 (&field1) + + member self.RD1 = Quotations.Expr.TryGetReflectedDefinition (match self.Q7 3 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") + member self.RD2 = Quotations.Expr.TryGetReflectedDefinition (match self.Q8 4 with Quotations.Patterns.Call(_,mi,args) -> mi | _ -> failwith "method info not found") + + let test() = + let c = C() + printfn "c.Q1 = %A" c.Q1 + printfn "c.Q2 = %A" c.Q2 + printfn "c.Q3 = %A" (c.Q3 3) + printfn "c.Q4 = %A" (c.Q4 4) + printfn "c.Q5 = %A" c.Q5 + printfn "c.Q6 = %A" c.Q6 + printfn "c.Q7 = %A" (c.Q7 7) + printfn "c.Q8 = %A" (c.Q8 8) + printfn "c.RD1 = %A" c.RD1 + printfn "c.RD2 = %A" c.RD2 + + printfn "C.SQ1 = %A" C.SQ1 + printfn "C.SQ2 = %A" C.SQ2 + printfn "C.SQ3 = %A" (C.SQ3 3) + printfn "C.SQ4 = %A" (C.SQ4 4) + printfn "C.SQ5 = %A" C.SQ5 + printfn "C.SQ6 = %A" C.SQ6 + printfn "C.SQ7 = %A" (C.SQ7 7) + printfn "C.SQ8 = %A" (C.SQ8 8) + printfn "C.SRD1 = %A" C.SRD1 + printfn "C.SRD2 = %A" C.SRD2 + + test "cejnewoui1" (match c.Q1 with Call (Some (Value _),_, [(Int32 1)]) -> true | _ -> false) + test "cejnewoui2" (match c.Q2 with Call (Some (Value _),_, [(Int32 1)]) -> true | _ -> false) + test "cejnewoui3" (match (c.Q3 3) with Call (Some (Value _),_, [(Int32 3)]) -> true | _ -> false) + test "cejnewoui4" (match (c.Q4 4) with Call (Some (Value _),_, [(Int32 4)]) -> true | _ -> false) + + // Note for the cases below: We still get temporaries introduced in some quotations, + // e.g. Q5 and Q6. The introduction of temporaries is OK according to our V2.0 specification, + // where compilation of some calls, pattern matching etc. may introduce temporaries. It’s not + // totally ideal: we would prefer if Q5 and Q6 reported “call†quotations, and would be willing + // to make that breaking change at a later date. + test "cejnewoui5" (match c.Q5 with Let(_, (Int32 1), Call (Some (Value _),_, [_])) -> true | _ -> false) + test "cejnewoui6" (match c.Q6 with Let(_, (Int32 2), Call (Some (Value _),_, [_])) -> true | _ -> false) + + test "cejnewoui7" (match c.Q7 7 with Call (Some (Value _),_, [(Int32 7)]) -> true | _ -> false) + test "cejnewoui8" (match c.Q8 8 with Call (Some (Value _),_, [(Int32 8)]) -> true | _ -> false) + test "cejnewouiRD1" (match c.RD1 with Some(Lambda(_, Lambda(_, Call (Some _,_, [_])))) -> true | _ -> false) + test "cejnewouiRD2" (match c.RD2 with Some(Lambda(_, Lambda(_, Call (Some _,_, [_])))) -> true | _ -> false) + + test "scejnewoui1" (match C.SQ1 with Call (None,_, [(Int32 1)]) -> true | _ -> false) + test "scejnewoui2" (match C.SQ2 with Call (None,_, [(Int32 1)]) -> true | _ -> false) + test "scejnewoui3" (match C.SQ3 3 with Call (None,_, [(Int32 3)]) -> true | _ -> false) + test "scejnewoui4" (match C.SQ4 4 with Call (None,_, [(Int32 4)]) -> true | _ -> false) + + // Note for the cases below: We still get temporaries introduced in some quotations, + // e.g. Q5 and Q6. The introduction of temporaries is OK according to our V2.0 specification, + // where compilation of some calls, pattern matching etc. may introduce temporaries. It’s not + // totally ideal: we would prefer if Q5 and Q6 reported “call†quotations, and would be willing + // to make that breaking change at a later date. + test "scejnewoui5" (match C.SQ5 with Let(_, (Int32 1), Call (None,_, [_])) -> true | _ -> false) + test "scejnewoui6" (match C.SQ6 with Let(_, (Int32 2), Call (None,_, [_])) -> true | _ -> false) + + test "scejnewoui7" (match C.SQ7 7 with Call (None,_, [(Int32 7)]) -> true | _ -> false) + test "scejnewoui8" (match C.SQ8 8 with Call (None,_, [(Int32 8)]) -> true | _ -> false) + test "scejnewouiRD1" (match C.SRD1 with Some(Lambda(_, Call (None,_, [_]))) -> true | _ -> false) + test "scejnewouiRD2" (match C.SRD2 with Some(Lambda(_, Call (None,_, [_]))) -> true | _ -> false) + test() + + (* + printfn "c.Q1 = %A" c.Q1 + printfn "c.Q2 = %A" c.Q2 + printfn "c.Q3 = %A" (c.Q3 3) + printfn "c.Q4 = %A" (c.Q4 4) + printfn "c.Q5 = %A" c.Q5 + printfn "c.Q6 = %A" c.Q6 + printfn "c.Q7 = %A" c.Q7 + printfn "c.Q8 = %A" c.Q8 + printfn "c.RD1 = %A" c.RD1 + printfn "c.RD2 = %A" c.RD2 + + printfn "C.SQ1 = %A" C.SQ1 + printfn "C.SQ2 = %A" C.SQ2 + printfn "C.SQ3 = %A" (C.SQ3 3) + printfn "C.SQ4 = %A" (C.SQ4 4) + printfn "C.SQ5 = %A" C.SQ5 + printfn "C.SQ6 = %A" C.SQ6 + printfn "C.SQ7 = %A" C.SQ7 + printfn "C.SQ8 = %A" C.SQ8 + printfn "C.SRD1 = %A" C.SRD1 + printfn "C.SRD2 = %A" C.SRD2 + *) + +module OverloadsInTypeExtensions = + module A = + type X = X + + module P = Microsoft.FSharp.Quotations.Patterns + + let test caption (q : Microsoft.FSharp.Quotations.Expr<'a>) (expected : 'a) = + let (P.Call(None, mi, args)) = q + let args = + [| + for arg in args do + match arg with + | P.Value(v, _) -> yield v + | P.Coerce(P.Value(v, _), toTy) -> yield System.Convert.ChangeType(v, toTy, null) + |] + let actual = mi.Invoke(null, args) :?> 'a + check caption actual expected + + module Overloads = + type A.X with + member private this.F(_ : 'a) = 1 + member private this.F(_ : string) = 2 + + member this.F2(_ : 'a, _ : bool) = 3 + member this.F2(_ : obj, _ : string) = 4 + + member this.F3(_ : string, _ : int) = 5 + member this.F3(_ : int, _ : obj) = 6 + + member this.TestOverloads() = + test "Overloads_1" <@ this.F(5)@> 1 + test "Overloads_2" <@ this.F("")@> 2 + test "Overloads_3" <@ this.F2(2, true) @> 3 + test "Overloads_4" <@ this.F2(2, "2") @> 4 + test "Overloads_5" <@ this.F3(2, true) @> 6 + test "Overloads_6" <@ this.F3(2, "2") @> 6 + test "Overloads_7" <@ this.F3("2", 2) @> 5 + true + + open Overloads + + check "OverloadsInTypeExtensions" (try A.X.TestOverloads() with _ -> false) true + +module ArrayQuoteTests = + check "cenwkjen" (match <@ [| 2.0;3.0;4.0 |] @> with NewArray (ty, [Double 2.0; Double 3.0; Double 4.0]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2;3;4 |] @> with NewArray (ty, [Int32 2; Int32 3; Int32 4]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2u;3u;4u |] @> with NewArray (ty, [UInt32 2u; UInt32 3u; UInt32 4u]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2s;3s;4s |] @> with NewArray (ty, [Int16 2s; Int16 3s; Int16 4s]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2UL;3UL;4UL |] @> with NewArray (ty, [UInt64 2UL; UInt64 3UL; UInt64 4UL]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2L;3L;4L |] @> with NewArray (ty, [Int64 2L; Int64 3L; Int64 4L]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2us;3us;4us |] @> with NewArray (ty, [UInt16 2us; UInt16 3us; UInt16 4us]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2y;3y;4y |] @> with NewArray (ty, [SByte 2y; SByte 3y; SByte 4y]) -> true | _ -> false) true + check "cenwkjen" (match <@ [| 2uy;3uy;4uy |] @> with NewArray (ty, [Byte 2uy; Byte 3uy; Byte 4uy]) -> true | _ -> false) true + check "cenwkjen" (match <@ "abc"B @> with NewArray (ty, [Byte 97uy; Byte 98uy; Byte 99uy]) -> true | _ -> false) true + +module ReflectedDefinitionOnTypesWithImplicitCodeGen = + + [] + module M = + // This type has an implicit IComparable implementation, it is not accessible as a reflected definition + type R = { x:int; y:string; z:System.DateTime } +#if NETCOREAPP + for m in typeof.GetMethods() do +#else + for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do +#endif + check "celnwer32" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true + + // This type has an implicit IComparable implementation, it is not accessible as a reflected definition + type U = A of int | B of string | C of System.DateTime + for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do + check "celnwer33" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true + + // This type has some implicit codegen + exception X of string * int + for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do + check "celnwer34" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true + + // This type has an implicit IComparable implementation, it is not accessible as a reflected definition + [] type SR = { x:int; y:string; z:System.DateTime } + for m in typeof.GetMethods(System.Reflection.BindingFlags.DeclaredOnly) do + check "celnwer35" (Quotations.Expr.TryGetReflectedDefinition(m).IsNone) true + +#if !NETCOREAPP +module BasicUsingTEsts = + let q1() = + let a = ResizeArray<_>() + for i in a do ignore i + let q2() = + use a = new System.Drawing.Bitmap(10,10) in 10 + let q3() = + use a: System.Drawing.Bitmap = null in 10 + let q4(x : #System.IDisposable) = + use a = x in 10 + let q5(x : ('T :> System.IDisposable)) = + use a : 'T = null in 10 + + q1() + q2() + q3() + q4 (new System.Drawing.Bitmap(10,10)) + q4 (ResizeArray<_>().GetEnumerator()) + q4 (null) + + q5 (new System.Drawing.Bitmap(10,10)) + q5 (null) + +module QuotationOfBitmapDIsposal = + // Quotation of something which does a "use" on a sealed type + let q = + <@ use a = new System.Drawing.Bitmap(10,10) in 10 @> + + test "Test920236a" + (match q with + | Let(e,NewObject _, + (TryFinally + (Value _, + IfThenElse(TypeTest(Coerce(_,typObj), typDisposable), + Call(Some(Call(None, unboxGeneric, [Coerce(e3,typObj2)])),disposeMI, []), Value _) + )) + ) + when typDisposable.FullName = "System.IDisposable" && + unboxGeneric.Name = "UnboxGeneric" + -> true + | _ -> false) +#endif + +module ReflectedDefinitionAndSelfIdentifier = + [] + type T() as _selfReference = + member this.Property = 1 + + test "ReflectedDefinitionAndSelfIdentifier" + ( + let m = typeof.GetMethod("get_Property") + match Expr.TryGetReflectedDefinition m with + | None -> false + | Some e -> + match e with + | Patterns.Lambda + ( + thisVar, + Patterns.Lambda + ( + unitVar, + TypedValue 1 + ) + ) -> thisVar.Type = typeof && unitVar.Type = typeof + | _ -> false + ) + +module LoopsOverArraysInQuotations = + + test "LoopsOverArraysInQuotations1" + ( + <@ for x in [|1;2|] do ignore () @> + |> + function + | Patterns.Let + ( + arr, + Patterns.NewArray(IntTy, [TypedValue 1; TypedValue 2]), + Patterns.ForIntegerRangeLoop( + idx, + TypedValue 0, + SpecificCall <@ (-) @> (None, [IntTy; IntTy; IntTy], [ SpecificCall <@ Array.length @>(None, [IntTy], _); TypedValue 1]), + Patterns.Let( + forLoopVar, + SpecificCall <@ LanguagePrimitives.IntrinsicFunctions.GetArray @>(None, _, _), + SpecificCall <@ ignore @>(None, _, _) + ) + ) + ) -> true + | _ -> false + ) + test "LoopsOverArraysInQuotations2" + ( + <@ for (x,y) in [|1, ""|] do ignore x @> + |> + function + | Patterns.Let + ( + arr, + Patterns.NewArray(TupleTy(IntTy, StringTy), [Patterns.NewTuple([TypedValue 1; TypedValue ""])]), + Patterns.ForIntegerRangeLoop( + idx1, + TypedValue 0, + SpecificCall <@ (-) @> (None, [IntTy; IntTy; IntTy], [ SpecificCall <@ Array.length @>(None, [TupleTy(IntTy, StringTy)], _); TypedValue 1]), + Patterns.Let( + forLoopVar, + SpecificCall <@ LanguagePrimitives.IntrinsicFunctions.GetArray @>(None, _, [Patterns.Var(arr2); Patterns.Var idx2]), + Patterns.Let( + y, + Patterns.TupleGet(_, 1), + Patterns.Let( + x, + Patterns.TupleGet(_, 0), + SpecificCall <@ ignore : 'T -> unit @>(None, _, [Patterns.Var(x2)]) + ) + ) + ) + ) + ) -> arr = arr2 && idx1 = idx2 && x = x2 + | _ -> false + ) + test "LoopsOverArraysInQuotations3" + ( + <@ for (x,y) in [||] do () @> + |> + function + | Patterns.Let + ( + arr, + Patterns.NewArray(TupleTy(ObjTy, ObjTy), []), + Patterns.ForIntegerRangeLoop( + idx1, + TypedValue 0, + SpecificCall <@ (-) @> (None, [IntTy; IntTy; IntTy], [ SpecificCall <@ Array.length @>(None, [TupleTy(ObjTy, ObjTy)], _); TypedValue 1]), + Patterns.Let( + forLoopVar, + SpecificCall <@ LanguagePrimitives.IntrinsicFunctions.GetArray @>(None, _, [Patterns.Var(arr2); Patterns.Var idx2]), + _ + ) + ) + ) -> arr = arr2 && idx1 = idx2 + | _ -> false + ) + +module QuotationOfResizeArrayIteration = + // Quotation of an iteration which implictly does a "use" on a value of struct type + let q = + let a = ResizeArray<_>() + <@ for i in a do ignore i @> + + test "Test920236b" + (match q with + | Let(e,Call(Some (Value a), mi, []), + (TryFinally + (WhileLoop((Call (Some e1, moveNext, [])), + Let(i, + PropertyGet ((Some e2),piCurrent,[]), + Call(None,_,[_]) // ignore + ) + ), + Call(Some(e3),disposeMI, [])) + )) + when mi.Name = "GetEnumerator" && + moveNext.Name = "MoveNext" && + piCurrent.Name = "Current" && + disposeMI.Name = "Dispose" + -> true + | _ -> false) + + + +#if !FSHARP_CORE_31 +module TestAutoQuoteAtStaticMethodCalls = + open Microsoft.FSharp.Quotations + + type C() = + static let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") + static member Plot ([] x: Expr<'T>) = + sprintf "%A" x |> cleanup + + static member PlotTwoArg ([] x: Expr<'T>, y : int) = + sprintf "%A" (x,y) |> cleanup + + static member PlotThreeArg (w:int, [] x: Expr<'T>, y : int) = + sprintf "%A" (w,x,y) |> cleanup + + static member PlotParams ([] x: Expr[]) = + sprintf "%A" x |> cleanup + + static member PlotEval ([] x: Expr<'T>) = + sprintf "%A" x |> cleanup + + + let shouldEqual id x y = check id y x + let x = 1 + let y = 1 + let xb = true + let yb = true + let testItAll() = + let z = 1 + let zb = true + + C.Plot (xb && yb || zb) |> shouldEqual "testd109700" "IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))" + + C.Plot (x + y * z) |> shouldEqual "testd109701" "Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])])" + + C.PlotTwoArg (x + y * z, 108) |> shouldEqual "testd109703" "(Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" + + C.PlotThreeArg (107, x + y * z, 108)|> shouldEqual "testd109704" "(107,Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" + + C.PlotParams (1, 2) |> shouldEqual "testd109708" "[|Value(1);Value(2)|]" + + C.PlotParams (x + y) |> shouldEqual "testd109709" "[|Call(None,op_Addition,[PropertyGet(None,x,[]),PropertyGet(None,y,[])])|]" + + C.Plot (fun (x,y,z) -> xb && yb || zb) |> shouldEqual "testd10970F" "Lambda(tupledArg,Let(x,TupleGet(tupledArg,0),Let(y,TupleGet(tupledArg,1),Let(z,TupleGet(tupledArg,2),IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))))))" + + C.Plot (fun x -> x) |> shouldEqual "testd109710" "Lambda(x,x)" + + C.Plot (fun x -> x, x+1) |> shouldEqual "testd109711" "Lambda(x,NewTuple(x,Call(None,op_Addition,[x,Value(1)])))" + + C.PlotEval (xb && yb || zb) |> shouldEqual "testd109712" "WithValue(true,IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb)))" + + testItAll() + +module TestAutoQuoteAtInstanceMethodCalls = + open Microsoft.FSharp.Quotations + open System.Runtime.CompilerServices + + + type C() = + let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") + member __.Plot ([] x: Expr<'T>) = + sprintf "%A" x |> cleanup + + member __.PlotTwoArg ([] x: Expr<'T>, y : int) = + sprintf "%A" (x,y) |> cleanup + + member __.PlotThreeArg (w:int, [] x: Expr<'T>, y : int) = + sprintf "%A" (w,x,y) |> cleanup + + member __.PlotParams ([] x: Expr[]) = + sprintf "%A" x |> cleanup + + member __.Item ([] x: Expr<'T>) = + sprintf "%A" x |> cleanup + + member __.PlotEval ([] x: Expr<'T>) = + sprintf "%A" x |> cleanup + + override __.ToString() = "C" + + [] + module CSharpStyleExtensionMember = + let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") + [] + type CExtMem() = + [] + static member PlotCSharpStyleExtMem (this: C, [] x: Expr<'T>) = + sprintf "%A" x |> cleanup + + // Adding 'ReflectedDefinition' to an argument that doesn't have type Expr<'T> is ignored (no error or warning is given at declaration or use) + [] + static member PlotCSharpStyleExtMemNoExpr (this: C, [] x: 'T) = + sprintf "%A" x |> cleanup + + // Adding 'ReflectedDefinition' to the 'this' argument of a C#-style extension member is ignored. + // + //[] + //static member PlotCSharpStyleExtMemWithReflectedThis ([] this: Expr, [] x: Expr<'T>) = + // sprintf "%A" (this, x) |> cleanup + [] + static member PlotCSharpStyleExtMemWithIgnoredReflectedThis ([] this: C, [] x: Expr<'T>) = + sprintf "%A" (this, x) |> cleanup + + open CSharpStyleExtensionMember + let shouldEqual id x y = check id y x + let x = 1 + let y = 1 + let xb = true + let yb = true + let testItAll() = + let z = 1 + let zb = true + let c = C() + + c.Plot (xb && yb || zb) |> shouldEqual "testd109700" "IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))" + + c.Plot (x + y * z) |> shouldEqual "testd109701" "Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])])" + + c.[x + y * z] |> shouldEqual "testd109701" "Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])])" + + c.PlotTwoArg (x + y * z, 108) |> shouldEqual "testd109703" "(Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" + + c.PlotThreeArg (107, x + y * z, 108)|> shouldEqual "testd109704" "(107,Call(None,op_Addition,[PropertyGet(None,x,[]),Call(None,op_Multiply,[PropertyGet(None,y,[]),ValueWithName(1,z)])]),108)" + + c.PlotParams (1, 2) |> shouldEqual "testd109708" "[|Value(1);Value(2)|]" + + c.PlotParams (x + y) |> shouldEqual "testd109709" "[|Call(None,op_Addition,[PropertyGet(None,x,[]),PropertyGet(None,y,[])])|]" + + c.Plot (fun (x,y,z) -> xb && yb || zb) |> shouldEqual "testd10970F" "Lambda(tupledArg,Let(x,TupleGet(tupledArg,0),Let(y,TupleGet(tupledArg,1),Let(z,TupleGet(tupledArg,2),IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))))))" + + c.Plot (fun x -> x) |> shouldEqual "testd109710" "Lambda(x,x)" + + c.Plot (fun x -> x, x+1) |> shouldEqual "testd109711" "Lambda(x,NewTuple(x,Call(None,op_Addition,[x,Value(1)])))" + + c.PlotEval (xb && yb || zb) |> shouldEqual "testd109712" "WithValue(true,IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb)))" + + c.PlotCSharpStyleExtMem (xb && yb || zb) |> shouldEqual "testd109713" "IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb))" + + c.PlotCSharpStyleExtMemNoExpr (xb && yb || zb) |> shouldEqual "testdoqhwm" "true" + + c.PlotCSharpStyleExtMemWithIgnoredReflectedThis (xb && yb || zb) |> shouldEqual "testd109714" "(C,IfThenElse(IfThenElse(PropertyGet(None,xb,[]),PropertyGet(None,yb,[]),Value(false)),Value(true),ValueWithName(true,zb)))" + + testItAll() + +module TestsForUsingReflectedDefinitionArgumentsAsFirstClassValues = + open Microsoft.FSharp.Quotations + open System.Linq.Expressions + open System + + type FirstClassTests() = + static member PlotExpr ([] x: Expr<'T>) = x.ToString() + static member PlotExprOverloadedByType ([] x: Expr) = x.ToString() + static member PlotExprOverloadedByType ([] x: Expr) = x.ToString() + static member PlotExprOverloadedByShape (x:int) = x.ToString() + static member PlotExprOverloadedByShape ([] x: Expr) = x.ToString() + static member PlotLinq (x: Expression>) = x.ToString() + static member PlotLinqOverloadedByType (x: Expression>) = x.ToString() + static member PlotLinqOverloadedByType (x: Expression>) = x.ToString() + static member PlotLinqOverloadedByShape (x: Func) = x.ToString() + static member PlotLinqOverloadedByShape (x: Expression>) = x.ToString() + + // Most of the following tests are just checking that overloads are resolved correctly + let runAll() = + + // Check we can define a function that calls the overloads + let callLinqWithoutAutoConv (ef: Expression>) = FirstClassTests.PlotLinq ef + let callLinqWithAutoConv (f: int -> int) = FirstClassTests.PlotLinq (fun x -> f x) // needs eta-expansion + let callLinqOverloadedByTypeWithoutAutoConvInt (ef: Expression>) = FirstClassTests.PlotLinqOverloadedByType ef + let callLinqOverloadedByTypeWithoutAutoConvString (ef: Expression>) = FirstClassTests.PlotLinqOverloadedByType ef + let callLinqOverloadedByTypeWithAutoConvInt (f: int -> int) = FirstClassTests.PlotLinqOverloadedByType (fun x -> f x) + let callLinqOverloadedByTypeWithAutoConvString (f: string -> int) = FirstClassTests.PlotLinqOverloadedByType (fun x -> f x) + let callLinqOverloadedByShapeWithoutAutoConv (ef: Expression>) = FirstClassTests.PlotLinqOverloadedByShape ef + let callExprWithoutAutoConv (ef: Expr) = FirstClassTests.PlotExpr <@ %ef @> + let callExprWithAutoConv (ef: int) = FirstClassTests.PlotExpr ef + let callExprOverloadedWithoutAutoConvA (ef: Expr) = FirstClassTests.PlotExprOverloadedByType <@ %ef @> + let callExprOverloadedWithoutAutoConvB (ef: Expr) = FirstClassTests.PlotExprOverloadedByType ef + let callExprOverloadedWithAutoConv (ef: int) = FirstClassTests.PlotExprOverloadedByType ef + let callExprOverloadedByShapeWithoutAutoConvA (ef: Expr) = FirstClassTests.PlotExprOverloadedByShape <@ %ef @> + let callExprOverloadedByShapeWithoutAutoConvB (ef: Expr) = FirstClassTests.PlotExprOverloadedByShape ef + // EXPECTED OVERLOAD RESOLUTION FAILURE: let callLinqOverloadedByShapeWithAutoConv (f: int -> int) = C.PlotLinqOverloadedByShape (fun x -> f x) // overload not resolved + // EXPECTED OVERLOAD RESOLUTION FAILURE: let callExprOverloadedByShapeWithAutoConv (ef: int) = C.PlotExprOverloadedByShape ef // overload not resolved + + // Check type-checking for type-annotated first-class function values + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinq : (int -> int) -> string) // auto-quotes implicit var - though not very useful + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinq : Expression> -> string) + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByType : (int -> int) -> string) // auto-quotes implicit var - though not very useful + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByType : (int -> string) -> string) // auto-quotes implicit var - though not very useful + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByType : Expression> -> string) + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByShape : Expression> -> string) + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotLinqOverloadedByShape : Func -> string) // auto-quotes implicit var - though not very useful + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExpr : Expr -> string) + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExpr : int -> string) // auto-quotes implicit var - though not very useful + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByType : Expr -> string) + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByType : int -> string) // auto-quotes implicit var - though not very useful + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByType : string -> string) // auto-quotes implicit var - though not very useful + let _unusedFirstClassFunctionValue = (FirstClassTests.PlotExprOverloadedByShape : Expr -> string) + // EXPECTED OVERLOAD RESOLUTION FAILURE: (C.PlotLinqOverloadedByShape : (int -> int) -> string) // overload not resolved + // EXPECTED OVERLOAD RESOLUTION FAILURE: (C.PlotExprOverloadedByShape : int -> string) // overload not resolved + + + // Check type-checking for applications + let _unusedResultValue = FirstClassTests.PlotExpr 1 + let _unusedResultValue = FirstClassTests.PlotExpr <@ 1 @> + let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType 1 + let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType <@ 1 @> + let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType "a" + let _unusedResultValue = FirstClassTests.PlotExprOverloadedByType <@ "a" @> + let _unusedResultValue = FirstClassTests.PlotExprOverloadedByShape <@ 1 @> + // EXPECTED OVERLOAD RESOLUTION FAILURE: let _unusedResultValue = FirstClassTests.PlotLinqOverloadedByShape (fun x -> x) + // EXPECTED OVERLOAD RESOLUTION FAILURE: let _unusedResultValue = FirstClassTests.PlotExprOverloadedByShape 1 // overload not resolved + + + // Check type-checking for pipelining + let _unusedResultValue = 1 |> FirstClassTests.PlotExpr + let _unusedResultValue = <@ 1 @> |> FirstClassTests.PlotExpr + let _unusedResultValue = 1 |> FirstClassTests.PlotExprOverloadedByType + let _unusedResultValue = <@ 1 @> |> FirstClassTests.PlotExprOverloadedByType + let _unusedResultValue = "a" |> FirstClassTests.PlotExprOverloadedByType + let _unusedResultValue = <@ "a" @> |> FirstClassTests.PlotExprOverloadedByType + let _unusedResultValue = <@ 1 @> |> FirstClassTests.PlotExprOverloadedByShape + // EXPECTED OVERLOAD RESOLUTION FAILURE: 1 |> FirstClassTests.PlotExprOverloadedByShape // overload not resolved + + () + + runAll() + + +module NestedQuotations = + open Microsoft.FSharp.Quotations + open System.Linq.Expressions + open System + + let unnested1 = <@ 100 @> + let unnested2 = <@@ 100 @@> + let nested1 = <@@ <@ 100 @> @@> + let nested2 = <@@ <@@ 100 @@> @@> + let nested3 = <@ <@ 100 @> @> + let nested4 = <@ <@@ 100 @@> @> + + let runAll() = + test "lfhwwlefkhelw-1a" (match nested1 with Quote _ -> true | _ -> false) + test "lfhwwlefkhelw-1b" (match nested1 with QuoteTyped _ -> true | _ -> false) + test "lfhwwlefkhelw-1c" (match nested1 with QuoteRaw _ -> false | _ -> true) + test "lfhwwlefkhelw-2a" (match nested2 with Quote _ -> true | _ -> false) + test "lfhwwlefkhelw-2b" (match nested2 with QuoteTyped _ -> false | _ -> true) + test "lfhwwlefkhelw-2c" (match nested2 with QuoteRaw _ -> true | _ -> false) + test "lfhwwlefkhelw-3a" (match nested3 with Quote _ -> true | _ -> false) + test "lfhwwlefkhelw-3b" (match nested3 with QuoteTyped _ -> true | _ -> true) + test "lfhwwlefkhelw-3c" (match nested3 with QuoteRaw _ -> false | _ -> true) + test "lfhwwlefkhelw-4a" (match nested4 with Quote _ -> true | _ -> false) + test "lfhwwlefkhelw-4b" (match nested4 with QuoteRaw _ -> true | _ -> false) + test "lfhwwlefkhelw-4c" (match nested4 with QuoteTyped _ -> false | _ -> true) + test "clenewjclkw-1" (match Expr.Quote unnested1 with QuoteTyped _ -> true | _ -> false) + test "clenewjclkw-2" (match Expr.QuoteRaw unnested1 with QuoteRaw _ -> true | _ -> false) + test "clenewjclkw-3" (match Expr.Quote unnested2 with QuoteTyped _ -> true | _ -> false) + test "clenewjclkw-4" (match Expr.QuoteRaw unnested2 with QuoteRaw _ -> true | _ -> false) + test "clenewjclkw-5" (unnested1.Type = typeof) + test "clenewjclkw-6" (unnested2.Type = typeof) + test "clenewjclkw-7" (Expr.Quote(unnested1).Type = typeof>) + test "clenewjclkw-8" (Expr.Quote(unnested2).Type = typeof>) + test "clenewjclkw-9" (Expr.QuoteTyped(unnested1).Type = typeof>) + test "clenewjclkw-10" (Expr.QuoteTyped(unnested2).Type = typeof>) + test "clenewjclkw-11" (Expr.QuoteRaw(unnested1).Type = typeof) + test "clenewjclkw-12" (Expr.QuoteRaw(unnested2).Type = typeof) + + runAll() + +module ExtensionMembersWithSameName = + + type System.Object with + [] + member this.Add(x) = x + [] + member this.Add(x, y) = x + y + [] + static member SAdd(x) = x + [] + static member SAdd(x, y) = x + y + + let runAll () = + match <@ obj().Add(2) @> with + | (Patterns.Call(_, m, _)) -> + let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" + check "clewwenf094" text "Some Lambda (this, Lambda (x, x))" + | _ -> failwith "unexpected shape" + + match <@ obj().Add(2,3) @> with + | (Patterns.Call(_, m, _)) -> + let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" + check "clewwenf095" (m.GetParameters().Length) 3 + | _ -> failwith "unexpected shape" + + match <@ obj.SAdd(2) @> with + | (Patterns.Call(_, m, _)) -> + let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" + check "clewwenf096" text "Some Lambda (x, x)" + | _ -> failwith "unexpected shape" + + match <@ obj.SAdd(2,3) @> with + | (Patterns.Call(_, m, _)) -> + let text = m |> Expr.TryGetReflectedDefinition |> sprintf "%A" + check "clewwenf097" (m.GetParameters().Length) 2 + | _ -> failwith "unexpected shape" + + runAll() +#endif + +module PartialApplicationLeadToInvalidCodeWhenOptimized = + let f () = + let x = 1 + let g (y:int) (z:int) = <@ x @> + let _ = g 3 // the closure generated by this code was invalid + () + + f () + + +/// TEST F# REFLECTION OVER THE IMPLEMENTATION OF SYMBOL TYPES FROM THE F# TYPE PROVIDER STARTER PACK +/// +module ReflectionOverTypeInstantiations = + + open System.Collections.Generic + + let notRequired opname item = + let msg = sprintf "The operation '%s' on item '%s' should not be called on provided type, member or parameter" opname item + //System.Diagnostics.Debug.Assert (false, msg) + raise (System.NotSupportedException msg) + + /// DO NOT ADJUST THIS TYPE - it is the implementation of symbol types from the F# type provider starer pack. + /// This code gets included in all F# type provider implementations. We expect F# reflection to be in a good, + /// known state over these types. + /// + /// + /// Represents the type constructor in a provided symbol type. + [] + type ProvidedSymbolKind = + | SDArray + | Array of int + | Pointer + | ByRef + | Generic of System.Type + | FSharpTypeAbbreviation of (System.Reflection.Assembly * string * string[]) + + + /// DO NOT ADJUST THIS TYPE - it is the implementation of symbol types from the F# type provider starer pack. + /// This code gets included in all F# type provider implementations. We expect F# reflection to be in a good, + /// known state over these types. + /// + /// Represents an array or other symbolic type involving a provided type as the argument. + /// See the type provider spec for the methods that must be implemented. + /// Note that the type provider specification does not require us to implement pointer-equality for provided types. + type ProvidedSymbolType(kind: ProvidedSymbolKind, args: Type list, convToTgt: Type -> Type) = + inherit Type() + + let rec isEquivalentTo (thisTy: Type) (otherTy: Type) = + match thisTy, otherTy with + | (:? ProvidedSymbolType as thisTy), (:? ProvidedSymbolType as thatTy) -> (thisTy.Kind,thisTy.Args) = (thatTy.Kind, thatTy.Args) + | (:? ProvidedSymbolType as thisTy), otherTy | otherTy, (:? ProvidedSymbolType as thisTy) -> + match thisTy.Kind, thisTy.Args with + | ProvidedSymbolKind.SDArray, [ty] | ProvidedSymbolKind.Array _, [ty] when otherTy.IsArray-> ty.Equals(otherTy.GetElementType()) + | ProvidedSymbolKind.ByRef, [ty] when otherTy.IsByRef -> ty.Equals(otherTy.GetElementType()) + | ProvidedSymbolKind.Pointer, [ty] when otherTy.IsPointer -> ty.Equals(otherTy.GetElementType()) + | ProvidedSymbolKind.Generic baseTy, args -> otherTy.IsGenericType && isEquivalentTo baseTy (otherTy.GetGenericTypeDefinition()) && Seq.forall2 isEquivalentTo args (otherTy.GetGenericArguments()) + | _ -> false + | a, b -> a.Equals b + + let nameText() = + match kind,args with + | ProvidedSymbolKind.SDArray,[arg] -> arg.Name + "[]" + | ProvidedSymbolKind.Array _,[arg] -> arg.Name + "[*]" + | ProvidedSymbolKind.Pointer,[arg] -> arg.Name + "*" + | ProvidedSymbolKind.ByRef,[arg] -> arg.Name + "&" + | ProvidedSymbolKind.Generic gty, args -> gty.Name + (sprintf "%A" args) + | ProvidedSymbolKind.FSharpTypeAbbreviation (_,_,path),_ -> path.[path.Length-1] + | _ -> failwith "unreachable" + + /// Substitute types for type variables. + static member convType (parameters: Type list) (ty:Type) = + if ty = null then null + elif ty.IsGenericType then + let args = Array.map (ProvidedSymbolType.convType parameters) (ty.GetGenericArguments()) + ty.GetGenericTypeDefinition().MakeGenericType(args) + elif ty.HasElementType then + let ety = ProvidedSymbolType.convType parameters (ty.GetElementType()) + if ty.IsArray then + let rank = ty.GetArrayRank() + if rank = 1 then ety.MakeArrayType() + else ety.MakeArrayType(rank) + elif ty.IsPointer then ety.MakePointerType() + elif ty.IsByRef then ety.MakeByRefType() + else ty + elif ty.IsGenericParameter then + if ty.GenericParameterPosition <= parameters.Length - 1 then + parameters.[ty.GenericParameterPosition] + else + ty + else ty + + override __.FullName = + match kind,args with + | ProvidedSymbolKind.SDArray,[arg] -> arg.FullName + "[]" + | ProvidedSymbolKind.Array _,[arg] -> arg.FullName + "[*]" + | ProvidedSymbolKind.Pointer,[arg] -> arg.FullName + "*" + | ProvidedSymbolKind.ByRef,[arg] -> arg.FullName + "&" + | ProvidedSymbolKind.Generic gty, args -> gty.FullName + "[" + (args |> List.map (fun arg -> arg.ToString()) |> String.concat ",") + "]" + | ProvidedSymbolKind.FSharpTypeAbbreviation (_,nsp,path),args -> String.concat "." (Array.append [| nsp |] path) + (match args with [] -> "" | _ -> args.ToString()) + | _ -> failwith "unreachable" + + /// Although not strictly required by the type provider specification, this is required when doing basic operations like FullName on + /// .NET symbolic types made from this type, e.g. when building Nullable.FullName + override __.DeclaringType = + match kind,args with + | ProvidedSymbolKind.SDArray,[arg] -> arg + | ProvidedSymbolKind.Array _,[arg] -> arg + | ProvidedSymbolKind.Pointer,[arg] -> arg + | ProvidedSymbolKind.ByRef,[arg] -> arg + | ProvidedSymbolKind.Generic gty,_ -> gty + | ProvidedSymbolKind.FSharpTypeAbbreviation _,_ -> null + | _ -> failwith "unreachable" + + override __.IsAssignableFrom(otherTy) = + match kind with + | Generic gtd -> + if otherTy.IsGenericType then + let otherGtd = otherTy.GetGenericTypeDefinition() + let otherArgs = otherTy.GetGenericArguments() + let yes = gtd.Equals(otherGtd) && Seq.forall2 isEquivalentTo args otherArgs + yes + else + base.IsAssignableFrom(otherTy) + | _ -> base.IsAssignableFrom(otherTy) + + override __.Name = nameText() + + override __.BaseType = + match kind with + | ProvidedSymbolKind.SDArray -> convToTgt typeof + | ProvidedSymbolKind.Array _ -> convToTgt typeof + | ProvidedSymbolKind.Pointer -> convToTgt typeof + | ProvidedSymbolKind.ByRef -> convToTgt typeof + | ProvidedSymbolKind.Generic gty -> + if gty.BaseType = null then null else + ProvidedSymbolType.convType args gty.BaseType + | ProvidedSymbolKind.FSharpTypeAbbreviation _ -> convToTgt typeof + + override __.GetArrayRank() = (match kind with ProvidedSymbolKind.Array n -> n | ProvidedSymbolKind.SDArray -> 1 | _ -> invalidOp "non-array type") + override __.IsValueTypeImpl() = (match kind with ProvidedSymbolKind.Generic gtd -> gtd.IsValueType | _ -> false) + override __.IsArrayImpl() = (match kind with ProvidedSymbolKind.Array _ | ProvidedSymbolKind.SDArray -> true | _ -> false) + override __.IsByRefImpl() = (match kind with ProvidedSymbolKind.ByRef _ -> true | _ -> false) + override __.IsPointerImpl() = (match kind with ProvidedSymbolKind.Pointer _ -> true | _ -> false) + override __.IsPrimitiveImpl() = false + override __.IsGenericType = (match kind with ProvidedSymbolKind.Generic _ -> true | _ -> false) + override __.GetGenericArguments() = (match kind with ProvidedSymbolKind.Generic _ -> args |> List.toArray | _ -> invalidOp "non-generic type") + override __.GetGenericTypeDefinition() = (match kind with ProvidedSymbolKind.Generic e -> e | _ -> invalidOp "non-generic type") + override __.IsCOMObjectImpl() = false + override __.HasElementTypeImpl() = (match kind with ProvidedSymbolKind.Generic _ -> false | _ -> true) + override __.GetElementType() = (match kind,args with (ProvidedSymbolKind.Array _ | ProvidedSymbolKind.SDArray | ProvidedSymbolKind.ByRef | ProvidedSymbolKind.Pointer),[e] -> e | _ -> invalidOp "not an array, pointer or byref type") + override this.ToString() = this.FullName + + override __.Assembly = + match kind with + | ProvidedSymbolKind.FSharpTypeAbbreviation (assembly,_nsp,_path) -> assembly + | ProvidedSymbolKind.Generic gty -> gty.Assembly + | _ -> notRequired "Assembly" (nameText()) + + override __.Namespace = + match kind with + | ProvidedSymbolKind.FSharpTypeAbbreviation (_assembly,nsp,_path) -> nsp + | _ -> notRequired "Namespace" (nameText()) + + override __.GetHashCode() = + match kind,args with + | ProvidedSymbolKind.SDArray,[arg] -> 10 + hash arg + | ProvidedSymbolKind.Array _,[arg] -> 163 + hash arg + | ProvidedSymbolKind.Pointer,[arg] -> 283 + hash arg + | ProvidedSymbolKind.ByRef,[arg] -> 43904 + hash arg + | ProvidedSymbolKind.Generic gty,_ -> 9797 + hash gty + List.sumBy hash args + | ProvidedSymbolKind.FSharpTypeAbbreviation _,_ -> 3092 + | _ -> failwith "unreachable" + + override __.Equals(other: obj) = + match other with + | :? ProvidedSymbolType as otherTy -> (kind, args) = (otherTy.Kind, otherTy.Args) + | _ -> false + + member __.Kind = kind + member __.Args = args + + member __.IsFSharpTypeAbbreviation = match kind with FSharpTypeAbbreviation _ -> true | _ -> false + // For example, int + member __.IsFSharpUnitAnnotated = match kind with ProvidedSymbolKind.Generic gtd -> not gtd.IsGenericTypeDefinition | _ -> false + + override __.Module : Module = notRequired "Module" (nameText()) + override __.GetConstructors _bindingAttr = notRequired "GetConstructors" (nameText()) + override __.GetMethodImpl(_name, _bindingAttr, _binderBinder, _callConvention, _types, _modifiers) = + match kind with + | Generic gtd -> + let ty = gtd.GetGenericTypeDefinition().MakeGenericType(Array.ofList args) + ty.GetMethod(_name, _bindingAttr) + | _ -> notRequired "GetMethodImpl" (nameText()) + override __.GetMembers _bindingAttr = notRequired "GetMembers" (nameText()) + override __.GetMethods _bindingAttr = notRequired "GetMethods" (nameText()) + override __.GetField(_name, _bindingAttr) = notRequired "GetField" (nameText()) + override __.GetFields _bindingAttr = notRequired "GetFields" (nameText()) + override __.GetInterface(_name, _ignoreCase) = notRequired "GetInterface" (nameText()) + override __.GetInterfaces() = notRequired "GetInterfaces" (nameText()) + override __.GetEvent(_name, _bindingAttr) = notRequired "GetEvent" (nameText()) + override __.GetEvents _bindingAttr = notRequired "GetEvents" (nameText()) + override __.GetProperties _bindingAttr = notRequired "GetProperties" (nameText()) + override __.GetPropertyImpl(_name, _bindingAttr, _binder, _returnType, _types, _modifiers) = notRequired "GetPropertyImpl" (nameText()) + override __.GetNestedTypes _bindingAttr = notRequired "GetNestedTypes" (nameText()) + override __.GetNestedType(_name, _bindingAttr) = notRequired "GetNestedType" (nameText()) + override __.GetAttributeFlagsImpl() = notRequired "GetAttributeFlagsImpl" (nameText()) + override this.UnderlyingSystemType = + match kind with + | ProvidedSymbolKind.SDArray + | ProvidedSymbolKind.Array _ + | ProvidedSymbolKind.Pointer + | ProvidedSymbolKind.FSharpTypeAbbreviation _ + | ProvidedSymbolKind.ByRef -> upcast this + | ProvidedSymbolKind.Generic gty -> gty.UnderlyingSystemType + #if FX_NO_CUSTOMATTRIBUTEDATA + #else + override __.GetCustomAttributesData() = ([| |] :> IList<_>) + #endif + override __.MemberType = notRequired "MemberType" (nameText()) + override __.GetMember(_name,_mt,_bindingAttr) = notRequired "GetMember" (nameText()) + override __.GUID = notRequired "GUID" (nameText()) + override __.InvokeMember(_name, _invokeAttr, _binder, _target, _args, _modifiers, _culture, _namedParameters) = notRequired "InvokeMember" (nameText()) + override __.AssemblyQualifiedName = notRequired "AssemblyQualifiedName" (nameText()) + override __.GetConstructorImpl(_bindingAttr, _binder, _callConvention, _types, _modifiers) = notRequired "GetConstructorImpl" (nameText()) + override __.GetCustomAttributes(_inherit) = [| |] + override __.GetCustomAttributes(_attributeType, _inherit) = [| |] + override __.IsDefined(_attributeType, _inherit) = false + // FSharp.Data addition: this was added to support arrays of arrays + override this.MakeArrayType() = ProvidedSymbolType(ProvidedSymbolKind.SDArray, [this], convToTgt) :> Type + override this.MakeArrayType arg = ProvidedSymbolType(ProvidedSymbolKind.Array arg, [this], convToTgt) :> Type + + + + /// DO NOT ADJUST THIS TYPE - it is the implementation of symbol types from the F# type provider starer pack. + /// This code gets included in all F# type provider implementations. We expect F# reflection to be in a good, + /// known state over these types. + type ProvidedTypeBuilder() = + static member MakeGenericType(genericTypeDefinition, genericArguments) = ProvidedSymbolType(Generic genericTypeDefinition, genericArguments, id) :> Type + + + /// TEST BEGINS HERE + // + let checkType nm (ty:System.Type) isTup = + // Calls to basic properties are in a known state + check (nm + "-falihksec0 - expect IsArray to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsArray |> Some with e -> None) (Some false) + check (nm + "-falihksec1 - expect IsPointer to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsPointer |> Some with e -> None) (Some false) + check (nm + "-falihksec2 - expect IsAbstract to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsAbstract |> Some with e -> None) (Some false) + check (nm + "-falihksec3 - expect IsClass to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsClass |> Some with e -> None) (Some true) + check (nm + "-falihksec4 - expect IsValueType to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsValueType |> Some with e -> None) (Some false) + check (nm + "-falihksec5 - expect IsTuple to give accurate results on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsTuple(ty) |> Some with _ -> None) (Some isTup) + +#if !MONO + check (nm + "-falihksec3a - currently expect IsEnum to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.IsEnum |> ignore; 100 with e -> 200) 200 + check (nm + "-falihksec4a - currently expect FullName to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try ty.FullName |> ignore; 100 with e -> 200) 200 + check (nm + "-falihksec5a - currently expect IsFunction to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsFunction(ty) |> ignore; 100 with _ -> 200) 200 + check (nm + "-falihksec6a - currently expect IsUnion to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsUnion(ty) |> ignore; 100 with :? System.NotSupportedException -> 200) 200 + check (nm + "-falihksec7a - currently expect IsRecord to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsRecord (ty) |> ignore; 100 with :? System.NotSupportedException -> 200) 200 + check (nm + "-falihksec8a - currently expect IsModule to throw on typical F# type provider implementation of TypeBuilderInstantiation") (try Reflection.FSharpType.IsModule (ty) |> ignore; 100 with :? System.NotSupportedException -> 200) 200 +#endif + + // This makes a TypeBuilderInstantiation type, because a real type has been instantiated with a non-real type + let t0 = ProvidedTypeBuilder.MakeGenericType(typedefof>, [ typeof ]) + let t1 = typedefof>.MakeGenericType(t0) + let t2 = typedefof.MakeGenericType(t0, t0) + + checkType "test cvweler8" t1 false + checkType "test cvweler9" t2 true + +module QuotationStructTupleTests = + let actual = struct (0,0) + let code = + <@ match actual with + | struct (0,0) -> true + | _ -> false @> + + printfn "code = %A" code + check "wcelwec" (match code with + | IfThenElse (Call (None, _, [TupleGet (PropertyGet (None, _, []), 0); _]), IfThenElse (Call (None, _, [TupleGet (PropertyGet (None, _, []), 1); _]), Value _, Value _), Value _) -> true + | _ -> false) + true + + for i = 0 to 7 do + check "vcknwwe0oo" (match Expr.TupleGet(<@@ struct (1,2,3,4,5,6,7,8) @@>, i) with TupleGet(b,n) -> b = <@@ struct (1,2,3,4,5,6,7,8) @@> && n = i | _ -> false) true + + let actual2 : Result = Ok "foo" + let code2 = + <@ match actual2 with + | Ok _ -> true + | Error _ -> false @> + + printfn "code2 = %A" code2 + check "cewcewwer" + (match code2 with + | IfThenElse (UnionCaseTest (PropertyGet (None, actual2, []), _), Value _, Value _) -> true + | _ -> false) + true + + +module TestStaticCtor = + [] + type T() = + static do printfn "Hello" // removing this makes the RD lookup work + static member Ident (x:int) = x + + let testStaticCtor() = + // bug: threw error with message "Could not bind to method" + check "cvwenklwevpo1" (Expr.TryGetReflectedDefinition(typeof.GetMethod("Ident"))).IsSome true + check "cvwenklwevpo2" (Expr.TryGetReflectedDefinition(typeof.GetConstructors(BindingFlags.Static ||| BindingFlags.Public ||| BindingFlags.NonPublic).[0])).IsSome true + + testStaticCtor() + + +module TestFuncNoArgs = + type SomeType() = class end + type Test = + static member ParseThis (f : System.Linq.Expressions.Expression>) = f + + + type D = delegate of unit -> int + type D2<'T> = delegate of unit -> 'T + + let testFunc() = + check "cvwenklwevpo1" (match <@ new System.Func(fun () -> 3) @> with Quotations.Patterns.NewDelegate(_,[],Value _) -> true | _ -> false) true + check "cvwenklwevpo2" (match <@ new System.Func(fun n -> 3) @> with Quotations.Patterns.NewDelegate(_,[_],Value _) -> true | _ -> false) true + check "cvwenklwevpo1d" (match <@ new D(fun () -> 3) @> with Quotations.Patterns.NewDelegate(_,[],Value _) -> true | _ -> false) true + check "cvwenklwevpo2d" (match <@ new D2(fun () -> 3) @> with Quotations.Patterns.NewDelegate(_,[],Value _) -> true | _ -> false) true + + testFunc() + + + let testFunc2() = + // was raising exception + let foo = Test.ParseThis (fun () -> SomeType()) + check "clew0mmlvew" (foo.ToString()) "() => new SomeType()" + + testFunc2() + +module TestMatchBang = + let myAsync = async { + do! Async.Sleep 1 + return Some 42 } + + /// Unpacks code quotations containing computation expressions (CE) + let (|CEDelay|CEBind|Expr|) expr = + match expr with + | Application (Lambda (_, Call (_, mDelay, [Lambda (_, innerExpr)])), _) when mDelay.Name = "Delay" -> CEDelay innerExpr + | Call (_, mBind, [_; Lambda (_, innerExpr)]) when mBind.Name = "Bind" -> CEBind innerExpr + | _ -> Expr expr + + let testSimpleMatchBang() = + let quot1 = <@ async { match! myAsync with | Some (x: int) -> () | None -> () } @> + check "matchbangquot1" + (match quot1 with + | CEDelay(CEBind(IfThenElse expr)) -> Ok () + | CEDelay(CEBind(expr)) -> Error "if statement (representing `match`) is missing" + | CEDelay(expr) -> Error "Bind is incorrect" + | expr -> Error "Delay is incorrect") + (Ok ()) + + testSimpleMatchBang() + +module WitnessTests = + open FSharp.Data.UnitSystems.SI.UnitSymbols + open FSharp.Linq + open FSharp.Linq.NullableOperators + + test "check CallWithWitness" + (<@ 1 + 1 @> + |> function + | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> + minfo1.Name = "op_Addition" && + minfo1.GetParameters().Length = 2 && + minfo2.Name = "op_Addition$W" && + minfo2.GetParameters().Length = 3 && + (printfn "checking witnessArgs.Length = %d... args.Length"; true) && + witnessArgs.Length = 1 && + (printfn "checking args.Length = %d... args.Length"; true) && + args.Length = 2 && + (printfn "checking witnessArgs is a Lambda..."; true) && + (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && + (printfn "checking witnessArg is the expected call..."; true) && + (match witnessArgs with [ Lambda (v1A, Lambda (v2A, Call(None, m, [ Patterns.Var v1B; Patterns.Var v2B]))) ] when m.Name = "op_Addition" && v1A = v1B && v2A = v2B -> true | _ -> false) + (printfn "checking witnessArg is not a CalWithWitnesses..."; true) && + (match witnessArgs with [ Lambda (v1A, Lambda (v2A, CallWithWitnesses _)) ] -> false | _ -> true) && + (printfn "checking args..."; true) && + (match args with [ Int32 _; Int32 _ ] -> true | _ -> false) + | _ -> false) + + test "check CallWithWitness (DateTime + TimeSpan)" + (<@ System.DateTime.Now + System.TimeSpan.Zero @> + |> function + | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> + minfo1.Name = "op_Addition" && + (printfn "checking minfo1.GetParameters().Length..."; true) && + minfo1.GetParameters().Length = 2 && + minfo2.Name = "op_Addition$W" && + (printfn "checking minfo2.GetParameters().Length..."; true) && + minfo2.GetParameters().Length = 3 && + (printfn "checking witnessArgs.Length..."; true) && + witnessArgs.Length = 1 && + (printfn "checking witnessArg is the expected call, witnessArgs = %A" witnessArgs; true) && + (match witnessArgs with + | [ Lambda (v1A, Lambda (v2A, Call(None, m, [Patterns.Var v1B; Patterns.Var v2B]))) ] + when m.Name = "op_Addition" + && m.GetParameters().[0].ParameterType.Name = "DateTime" + && m.GetParameters().[1].ParameterType.Name = "TimeSpan" + && v1A = v1B + && v2A = v2B -> true + | _ -> false) + (printfn "checking witnessArg is not a CallWithWitnesses, witnessArgs = %A" witnessArgs; true) && + (match witnessArgs with [ Lambda (v1A, Lambda (v2A, CallWithWitnesses args)) ] -> printfn "unexpected! %A" args; false | _ -> true) && + args.Length = 2 && + (printfn "checking args..."; true) && + (match args with [ _; _ ] -> true | _ -> false) && + (match witnessArgs with [ Lambda _ ] -> true | _ -> false) + | CallWithWitnesses _ -> + printfn "no object" + false + | _ -> + printfn "incorrect node" + false) + + test "check Call (DateTime + TimeSpan)" + (<@ System.DateTime.Now + System.TimeSpan.Zero @> + |> function + | Call(None, minfo1, args) -> + minfo1.Name = "op_Addition" && + (printfn "checking minfo1.GetParameters().Length..."; true) && + minfo1.GetParameters().Length = 2 && + //minfo2.GetParameters().[0].Name = "op_Addition" && + args.Length = 2 && + (match args with [ _; _ ] -> true | _ -> false) + | _ -> false) + + type C() = + static member inline StaticAdd (x, y) = x + y + member inline __.InstanceAdd (x, y) = x + y + + test "check CallWithWitness (DateTime + TimeSpan) using static member" + (<@ C.StaticAdd(System.DateTime.Now, System.TimeSpan.Zero) @> + |> function + | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> + minfo1.IsStatic && + minfo1.Name = "StaticAdd" && + (printfn "checking minfo1.GetParameters().Length..."; true) && + minfo1.GetParameters().Length = 2 && + minfo2.IsStatic && + minfo2.Name = "StaticAdd$W" && + (printfn "checking minfo2.GetParameters().Length = %d..." (minfo2.GetParameters().Length); true) && + minfo2.GetParameters().Length = 3 && + (printfn "checking witnessArgs.Length..."; true) && + witnessArgs.Length = 1 && + (printfn "checking args.Length..."; true) && + args.Length = 2 && + (printfn "witnessArgs..."; true) && + (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && + (printfn "args..."; true) && + (match args with [ _; _ ] -> true | _ -> false) + | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> + printfn "no object..." + false + | _ -> false) + + test "check CallWithWitness (DateTime + TimeSpan) using instance member" + (<@ C().InstanceAdd(System.DateTime.Now, System.TimeSpan.Zero) @> + |> function + | CallWithWitnesses(Some _obj, minfo1, minfo2, witnessArgs, args) -> + not minfo1.IsStatic && + minfo1.Name = "InstanceAdd" && + (printfn "checking minfo1.GetParameters().Length..."; true) && + minfo1.GetParameters().Length = 2 && + not minfo2.IsStatic && + minfo2.Name = "InstanceAdd$W" && + (printfn "checking minfo2.GetParameters().Length = %d..." (minfo2.GetParameters().Length); true) && + minfo2.GetParameters().Length = 3 && + (printfn "checking witnessArgs.Length..."; true) && + witnessArgs.Length = 1 && + (printfn "checking args.Length..."; true) && + args.Length = 2 && + (printfn "witnessArgs..."; true) && + (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && + (printfn "args..."; true) && + (match args with [ _; _ ] -> true | _ -> false) + | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> + printfn "no object..." + false + | _ -> false) + + test "check CallWithWitnesses all operators" + (let tests = + [|<@@ sin 1.0 @@>, box 0x3FEAED548F090CEELF // Around 0.841470984807897 + <@@ sin 1.0f @@>, box 0x3F576AA4lf // = 0.841471f + <@@ sign 1.0f @@>, box 1 + <@@ sqrt 1.0f @@>, box 1f + <@@ atan2 3.0 4.0 @@>, box 0x3FE4978FA3269EE1LF // Around 0.643501108793284 + <@@ atan2 3.0 4.0 @@>, box 0x3FE4978FA3269EE1LF // Around 0.643501108793284 + + <@@ 1y + 4y @@>, box 5y + <@@ 1uy + 4uy @@>, box 5uy + <@@ 1s + 4s @@>, box 5s + <@@ 1us + 4us @@>, box 5us + <@@ 1 + 4 @@>, box 5 + <@@ 1u + 4u @@>, box 5u + <@@ 1L + 4L @@>, box 5L + <@@ 1uL + 4uL @@>, box 5uL + <@@ 1.0f + 4.0f @@>, box 5f + <@@ 1.0 + 4.0 @@>, box 5. + <@@ 1m + 4m @@>, box 5m + <@@ 1m + 4m @@>, box 5m + <@@ 1I + 4I @@>, box 5I + <@@ '1' + '\004' @@>, box '5' + <@@ "abc" + "def" @@>, box "abcdef" + <@@ LanguagePrimitives.GenericOne + LanguagePrimitives.GenericOne @@>, box 2n + <@@ LanguagePrimitives.GenericOne + LanguagePrimitives.GenericOne @@>, box 2un + <@@ Checked.(+) 1y 4y @@>, box 5y + <@@ Checked.(+) 1uy 4uy @@>, box 5uy + <@@ Checked.(+) 1s 4s @@>, box 5s + <@@ Checked.(+) 1us 4us @@>, box 5us + <@@ Checked.(+) 1 4 @@>, box 5 + <@@ Checked.(+) 1u 4u @@>, box 5u + <@@ Checked.(+) 1L 4L @@>, box 5L + <@@ Checked.(+) 1uL 4uL @@>, box 5uL + <@@ Checked.(+) 1.0f 4.0f @@>, box 5f + <@@ Checked.(+) 1.0 4.0 @@>, box 5. + <@@ Checked.(+) 1m 4m @@>, box 5m + <@@ Checked.(+) 1m 4m @@>, box 5m + <@@ Checked.(+) 1I 4I @@>, box 5I + <@@ Checked.(+) '1' '\004' @@>, box '5' + <@@ Checked.(+) "abc" "def" @@>, box "abcdef" + <@@ Checked.(+) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 2n + <@@ Checked.(+) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 2un + + <@@ 4y - 1y @@>, box 3y + <@@ 4uy - 1uy @@>, box 3uy + <@@ 4s - 1s @@>, box 3s + <@@ 4us - 1us @@>, box 3us + <@@ 4 - 1 @@>, box 3 + <@@ 4u - 1u @@>, box 3u + <@@ 4L - 1L @@>, box 3L + <@@ 4uL - 1uL @@>, box 3uL + <@@ 4.0f - 1.0f @@>, box 3f + <@@ 4.0 - 1.0 @@>, box 3. + <@@ 4m - 1m @@>, box 3m + <@@ 4m - 1m @@>, box 3m + <@@ 4I - 1I @@>, box 3I + <@@ '4' - '\001' @@>, box '3' + <@@ LanguagePrimitives.GenericOne - LanguagePrimitives.GenericOne @@>, box 0n + <@@ LanguagePrimitives.GenericOne - LanguagePrimitives.GenericOne @@>, box 0un + <@@ Checked.(-) 4y 1y @@>, box 3y + <@@ Checked.(-) 4uy 1uy @@>, box 3uy + <@@ Checked.(-) 4s 1s @@>, box 3s + <@@ Checked.(-) 4us 1us @@>, box 3us + <@@ Checked.(-) 4 1 @@>, box 3 + <@@ Checked.(-) 4u 1u @@>, box 3u + <@@ Checked.(-) 4L 1L @@>, box 3L + <@@ Checked.(-) 4uL 1uL @@>, box 3uL + <@@ Checked.(-) 4.0f 1.0f @@>, box 3f + <@@ Checked.(-) 4.0 1.0 @@>, box 3. + <@@ Checked.(-) 4m 1m @@>, box 3m + <@@ Checked.(-) 4m 1m @@>, box 3m + <@@ Checked.(-) 4I 1I @@>, box 3I + <@@ Checked.(-) '4' '\001' @@>, box '3' + <@@ Checked.(-) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 0n + <@@ Checked.(-) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 0un + + <@@ 2y * 4y @@>, box 8y + <@@ 2uy * 4uy @@>, box 8uy + <@@ 2s * 4s @@>, box 8s + <@@ 2us * 4us @@>, box 8us + <@@ 2 * 4 @@>, box 8 + <@@ 2u * 4u @@>, box 8u + <@@ 2L * 4L @@>, box 8L + <@@ 2uL * 4uL @@>, box 8uL + <@@ 2.0f * 4.0f @@>, box 8f + <@@ 2.0 * 4.0 @@>, box 8. + <@@ 2m * 4m @@>, box 8m + <@@ 2m * 4m @@>, box 8m + <@@ 2I * 4I @@>, box 8I + <@@ LanguagePrimitives.GenericOne * LanguagePrimitives.GenericOne @@>, box 1n + <@@ LanguagePrimitives.GenericOne * LanguagePrimitives.GenericOne @@>, box 1un + <@@ Checked.(*) 2y 4y @@>, box 8y + <@@ Checked.(*) 2uy 4uy @@>, box 8uy + <@@ Checked.(*) 2s 4s @@>, box 8s + <@@ Checked.(*) 2us 4us @@>, box 8us + <@@ Checked.(*) 2 4 @@>, box 8 + <@@ Checked.(*) 2u 4u @@>, box 8u + <@@ Checked.(*) 2L 4L @@>, box 8L + <@@ Checked.(*) 2uL 4uL @@>, box 8uL + <@@ Checked.(*) 2.0f 4.0f @@>, box 8f + <@@ Checked.(*) 2.0 4.0 @@>, box 8. + <@@ Checked.(*) 2m 4m @@>, box 8m + <@@ Checked.(*) 2m 4m @@>, box 8m + <@@ Checked.(*) 2I 4I @@>, box 8I + <@@ Checked.(*) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 1n + <@@ Checked.(*) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box 1un + + <@@ 6y / 3y @@>, box 2y + <@@ 6uy / 3uy @@>, box 2uy + <@@ 6s / 3s @@>, box 2s + <@@ 6us / 3us @@>, box 2us + <@@ 6 / 3 @@>, box 2 + <@@ 6u / 3u @@>, box 2u + <@@ 6L / 3L @@>, box 2L + <@@ 6uL / 3uL @@>, box 2uL + <@@ 6.0f / 3.0f @@>, box 2f + <@@ 6.0 / 3.0 @@>, box 2. + <@@ 6m / 3m @@>, box 2m + <@@ 6m / 3m @@>, box 2m + <@@ 6I / 3I @@>, box 2I + <@@ LanguagePrimitives.GenericOne / LanguagePrimitives.GenericOne @@>, box 1n + <@@ LanguagePrimitives.GenericOne / LanguagePrimitives.GenericOne @@>, box 1un + + <@@ 9y % 4y @@>, box 1y + <@@ 9uy % 4uy @@>, box 1uy + <@@ 9s % 4s @@>, box 1s + <@@ 9us % 4us @@>, box 1us + <@@ 9 % 4 @@>, box 1 + <@@ 9u % 4u @@>, box 1u + <@@ 9L % 4L @@>, box 1L + <@@ 9uL % 4uL @@>, box 1uL + <@@ 9.0f % 4.0f @@>, box 1f + <@@ 9.0 % 4.0 @@>, box 1. + <@@ 9m % 4m @@>, box 1m + <@@ 9m % 4m @@>, box 1m + <@@ 9I % 4I @@>, box 1I + <@@ LanguagePrimitives.GenericOne % LanguagePrimitives.GenericOne @@>, box 0n + <@@ LanguagePrimitives.GenericOne % LanguagePrimitives.GenericOne @@>, box 0un + + <@@ +(1y) @@>, box 1y + <@@ +(1uy) @@>, box 1uy + <@@ +(1s) @@>, box 1s + <@@ +(1us) @@>, box 1us + <@@ +(1) @@>, box 1 + <@@ +(1u) @@>, box 1u + <@@ +(1L) @@>, box 1L + <@@ +(1uL) @@>, box 1uL + <@@ +(1f) @@>, box 1f + <@@ +(1.) @@>, box 1. + <@@ +(1m) @@>, box 1m + <@@ +(1m) @@>, box 1m + <@@ +(1I) @@>, box 1I + <@@ +(LanguagePrimitives.GenericOne) @@>, box 1n + <@@ +(LanguagePrimitives.GenericOne) @@>, box 1un + + <@@ -(1y) @@>, box -1y + <@@ -(1s) @@>, box -1s + <@@ -(1) @@>, box -1 + <@@ -(1L) @@>, box -1L + <@@ -(1f) @@>, box -1f + <@@ -(1.) @@>, box -1. + <@@ -(1m) @@>, box -1m + <@@ -(1m) @@>, box -1m + <@@ -(1I) @@>, box -1I + <@@ -(LanguagePrimitives.GenericOne) @@>, box -1n + <@@ Checked.(~-) (1y) @@>, box -1y + <@@ Checked.(~-) (1s) @@>, box -1s + <@@ Checked.(~-) (1) @@>, box -1 + <@@ Checked.(~-) (1L) @@>, box -1L + <@@ Checked.(~-) (1f) @@>, box -1f + <@@ Checked.(~-) (1.) @@>, box -1. + <@@ Checked.(~-) (1m) @@>, box -1m + <@@ Checked.(~-) (1m) @@>, box -1m + <@@ Checked.(~-) (1I) @@>, box -1I + <@@ Checked.(~-) (LanguagePrimitives.GenericOne) @@>, box -1n + + <@@ 4f ** 3f @@>, box 64f + <@@ 4. ** 3. @@>, box 64. + <@@ 4I ** 3 @@>, box 64I + + <@@ 1y <<< 3 @@>, box 8y + <@@ 1uy <<< 3 @@>, box 8uy + <@@ 1s <<< 3 @@>, box 8s + <@@ 1us <<< 3 @@>, box 8us + <@@ 1 <<< 3 @@>, box 8 + <@@ 1u <<< 3 @@>, box 8u + <@@ 1L <<< 3 @@>, box 8L + <@@ 1UL <<< 3 @@>, box 8UL + <@@ 1I <<< 3 @@>, box 8I + <@@ LanguagePrimitives.GenericOne <<< 3 @@>, box 8n + <@@ LanguagePrimitives.GenericOne <<< 3 @@>, box 8un + + <@@ 1y >>> 3 @@>, box 0y + <@@ 1uy >>> 3 @@>, box 0uy + <@@ 1s >>> 3 @@>, box 0s + <@@ 1us >>> 3 @@>, box 0us + <@@ 1 >>> 3 @@>, box 0 + <@@ 1u >>> 3 @@>, box 0u + <@@ 1L >>> 3 @@>, box 0L + <@@ 1UL >>> 3 @@>, box 0UL + <@@ 1I >>> 3 @@>, box 0I + <@@ LanguagePrimitives.GenericOne >>> 3 @@>, box 0n + <@@ LanguagePrimitives.GenericOne >>> 3 @@>, box 0un + + <@@ 1y &&& 3y @@>, box 1y + <@@ 1uy &&& 3uy @@>, box 1uy + <@@ 1s &&& 3s @@>, box 1s + <@@ 1us &&& 3us @@>, box 1us + <@@ 1 &&& 3 @@>, box 1 + <@@ 1u &&& 3u @@>, box 1u + <@@ 1L &&& 3L @@>, box 1L + <@@ 1UL &&& 3UL @@>, box 1UL + <@@ 1I &&& 3I @@>, box 1I + <@@ LanguagePrimitives.GenericOne &&& LanguagePrimitives.GenericOne @@>, box 1n + <@@ LanguagePrimitives.GenericOne &&& LanguagePrimitives.GenericOne @@>, box 1un + + <@@ 1y ||| 3y @@>, box 3y + <@@ 1uy ||| 3uy @@>, box 3uy + <@@ 1s ||| 3s @@>, box 3s + <@@ 1us ||| 3us @@>, box 3us + <@@ 1 ||| 3 @@>, box 3 + <@@ 1u ||| 3u @@>, box 3u + <@@ 1L ||| 3L @@>, box 3L + <@@ 1UL ||| 3UL @@>, box 3UL + <@@ 1I ||| 3I @@>, box 3I + <@@ LanguagePrimitives.GenericOne ||| LanguagePrimitives.GenericOne @@>, box 1n + <@@ LanguagePrimitives.GenericOne ||| LanguagePrimitives.GenericOne @@>, box 1un + + <@@ 1y ^^^ 3y @@>, box 2y + <@@ 1uy ^^^ 3uy @@>, box 2uy + <@@ 1s ^^^ 3s @@>, box 2s + <@@ 1us ^^^ 3us @@>, box 2us + <@@ 1 ^^^ 3 @@>, box 2 + <@@ 1u ^^^ 3u @@>, box 2u + <@@ 1L ^^^ 3L @@>, box 2L + <@@ 1UL ^^^ 3UL @@>, box 2UL + <@@ 1I ^^^ 3I @@>, box 2I + <@@ LanguagePrimitives.GenericOne ^^^ LanguagePrimitives.GenericOne @@>, box 0n + <@@ LanguagePrimitives.GenericOne ^^^ LanguagePrimitives.GenericOne @@>, box 0un + + <@@ ~~~3y @@>, box -4y + <@@ ~~~3uy @@>, box 252uy + <@@ ~~~3s @@>, box -4s + <@@ ~~~3us @@>, box 65532us + <@@ ~~~3 @@>, box -4 + <@@ ~~~3u @@>, box 4294967292u + <@@ ~~~3L @@>, box -4L + <@@ ~~~3UL @@>, box 18446744073709551612UL + <@@ ~~~LanguagePrimitives.GenericOne @@>, box ~~~1n + <@@ ~~~LanguagePrimitives.GenericOne @@>, box ~~~1un + + <@@ byte 3uy @@>, box 3uy + <@@ byte 3y @@>, box 3uy + <@@ byte 3s @@>, box 3uy + <@@ byte 3us @@>, box 3uy + <@@ byte 3 @@>, box 3uy + <@@ byte 3u @@>, box 3uy + <@@ byte 3L @@>, box 3uy + <@@ byte 3UL @@>, box 3uy + <@@ byte '\003' @@>, box 3uy + <@@ byte 3.0f @@>, box 3uy + <@@ byte 3.0 @@>, box 3uy + <@@ byte 3.0 @@>, box 3uy + <@@ byte 3I @@>, box 3uy + <@@ byte LanguagePrimitives.GenericOne @@>, box 1uy + <@@ byte LanguagePrimitives.GenericOne @@>, box 1uy + <@@ byte 3.0M @@>, box 3uy + <@@ byte "3" @@>, box 3uy + <@@ uint8 3uy @@>, box 3uy + <@@ uint8 3y @@>, box 3uy + <@@ uint8 3s @@>, box 3uy + <@@ uint8 3us @@>, box 3uy + <@@ uint8 3 @@>, box 3uy + <@@ uint8 3u @@>, box 3uy + <@@ uint8 3L @@>, box 3uy + <@@ uint8 3UL @@>, box 3uy + <@@ uint8 '\003' @@>, box 3uy + <@@ uint8 3.0f @@>, box 3uy + <@@ uint8 3.0 @@>, box 3uy + <@@ uint8 3.0 @@>, box 3uy + <@@ uint8 3I @@>, box 3uy + <@@ uint8 LanguagePrimitives.GenericOne @@>, box 1uy + <@@ uint8 LanguagePrimitives.GenericOne @@>, box 1uy + <@@ uint8 3.0M @@>, box 3uy + <@@ uint8 "3" @@>, box 3uy + <@@ Checked.byte 3uy @@>, box 3uy + <@@ Checked.byte 3y @@>, box 3uy + <@@ Checked.byte 3s @@>, box 3uy + <@@ Checked.byte 3us @@>, box 3uy + <@@ Checked.byte 3 @@>, box 3uy + <@@ Checked.byte 3u @@>, box 3uy + <@@ Checked.byte 3L @@>, box 3uy + <@@ Checked.byte 3UL @@>, box 3uy + <@@ Checked.byte '\003' @@>, box 3uy + <@@ Checked.byte 3.0f @@>, box 3uy + <@@ Checked.byte 3.0 @@>, box 3uy + <@@ Checked.byte 3.0 @@>, box 3uy + <@@ Checked.byte 3I @@>, box 3uy + <@@ Checked.byte LanguagePrimitives.GenericOne @@>, box 1uy + <@@ Checked.byte LanguagePrimitives.GenericOne @@>, box 1uy + <@@ Checked.byte 3.0M @@>, box 3uy + <@@ Checked.byte "3" @@>, box 3uy + <@@ Checked.uint8 3uy @@>, box 3uy + <@@ Checked.uint8 3y @@>, box 3uy + <@@ Checked.uint8 3s @@>, box 3uy + <@@ Checked.uint8 3us @@>, box 3uy + <@@ Checked.uint8 3 @@>, box 3uy + <@@ Checked.uint8 3u @@>, box 3uy + <@@ Checked.uint8 3L @@>, box 3uy + <@@ Checked.uint8 3UL @@>, box 3uy + <@@ Checked.uint8 '\003' @@>, box 3uy + <@@ Checked.uint8 3.0f @@>, box 3uy + <@@ Checked.uint8 3.0 @@>, box 3uy + <@@ Checked.uint8 3.0 @@>, box 3uy + <@@ Checked.uint8 3I @@>, box 3uy + <@@ Checked.uint8 LanguagePrimitives.GenericOne @@>, box 1uy + <@@ Checked.uint8 LanguagePrimitives.GenericOne @@>, box 1uy + <@@ Checked.uint8 3.0M @@>, box 3uy + <@@ Checked.uint8 "3" @@>, box 3uy + + <@@ sbyte 3uy @@>, box 3y + <@@ sbyte 3y @@>, box 3y + <@@ sbyte 3s @@>, box 3y + <@@ sbyte 3us @@>, box 3y + <@@ sbyte 3 @@>, box 3y + <@@ sbyte 3u @@>, box 3y + <@@ sbyte 3L @@>, box 3y + <@@ sbyte 3UL @@>, box 3y + <@@ sbyte '\003' @@>, box 3y + <@@ sbyte 3.0f @@>, box 3y + <@@ sbyte 3.0 @@>, box 3y + <@@ sbyte 3.0 @@>, box 3y + <@@ sbyte 3I @@>, box 3y + <@@ sbyte LanguagePrimitives.GenericOne @@>, box 1y + <@@ sbyte LanguagePrimitives.GenericOne @@>, box 1y + <@@ sbyte 3.0M @@>, box 3y + <@@ sbyte "3" @@>, box 3y + <@@ int8 3uy @@>, box 3y + <@@ int8 3y @@>, box 3y + <@@ int8 3s @@>, box 3y + <@@ int8 3us @@>, box 3y + <@@ int8 3 @@>, box 3y + <@@ int8 3u @@>, box 3y + <@@ int8 3L @@>, box 3y + <@@ int8 3UL @@>, box 3y + <@@ int8 '\003' @@>, box 3y + <@@ int8 3.0f @@>, box 3y + <@@ int8 3.0 @@>, box 3y + <@@ int8 3.0 @@>, box 3y + <@@ int8 3I @@>, box 3y + <@@ int8 LanguagePrimitives.GenericOne @@>, box 1y + <@@ int8 LanguagePrimitives.GenericOne @@>, box 1y + <@@ int8 3.0M @@>, box 3y + <@@ int8 "3" @@>, box 3y + <@@ Checked.sbyte 3uy @@>, box 3y + <@@ Checked.sbyte 3y @@>, box 3y + <@@ Checked.sbyte 3s @@>, box 3y + <@@ Checked.sbyte 3us @@>, box 3y + <@@ Checked.sbyte 3 @@>, box 3y + <@@ Checked.sbyte 3u @@>, box 3y + <@@ Checked.sbyte 3L @@>, box 3y + <@@ Checked.sbyte 3UL @@>, box 3y + <@@ Checked.sbyte '\003' @@>, box 3y + <@@ Checked.sbyte 3.0f @@>, box 3y + <@@ Checked.sbyte 3.0 @@>, box 3y + <@@ Checked.sbyte 3.0 @@>, box 3y + <@@ Checked.sbyte 3I @@>, box 3y + <@@ Checked.sbyte LanguagePrimitives.GenericOne @@>, box 1y + <@@ Checked.sbyte LanguagePrimitives.GenericOne @@>, box 1y + <@@ Checked.sbyte 3.0M @@>, box 3y + <@@ Checked.sbyte "3" @@>, box 3y + <@@ Checked.int8 3uy @@>, box 3y + <@@ Checked.int8 3y @@>, box 3y + <@@ Checked.int8 3s @@>, box 3y + <@@ Checked.int8 3us @@>, box 3y + <@@ Checked.int8 3 @@>, box 3y + <@@ Checked.int8 3u @@>, box 3y + <@@ Checked.int8 3L @@>, box 3y + <@@ Checked.int8 3UL @@>, box 3y + <@@ Checked.int8 '\003' @@>, box 3y + <@@ Checked.int8 3.0f @@>, box 3y + <@@ Checked.int8 3.0 @@>, box 3y + <@@ Checked.int8 3.0 @@>, box 3y + <@@ Checked.int8 3I @@>, box 3y + <@@ Checked.int8 LanguagePrimitives.GenericOne @@>, box 1y + <@@ Checked.int8 LanguagePrimitives.GenericOne @@>, box 1y + <@@ Checked.int8 3.0M @@>, box 3y + <@@ Checked.int8 "3" @@>, box 3y + + <@@ int16 3uy @@>, box 3s + <@@ int16 3y @@>, box 3s + <@@ int16 3s @@>, box 3s + <@@ int16 3us @@>, box 3s + <@@ int16 3 @@>, box 3s + <@@ int16 3u @@>, box 3s + <@@ int16 3L @@>, box 3s + <@@ int16 3UL @@>, box 3s + <@@ int16 '\003' @@>, box 3s + <@@ int16 3.0f @@>, box 3s + <@@ int16 3.0 @@>, box 3s + <@@ int16 3.0 @@>, box 3s + <@@ int16 3I @@>, box 3s + <@@ int16 LanguagePrimitives.GenericOne @@>, box 1s + <@@ int16 LanguagePrimitives.GenericOne @@>, box 1s + <@@ int16 3.0M @@>, box 3s + <@@ int16 "3" @@>, box 3s + <@@ Checked.int16 3uy @@>, box 3s + <@@ Checked.int16 3y @@>, box 3s + <@@ Checked.int16 3s @@>, box 3s + <@@ Checked.int16 3us @@>, box 3s + <@@ Checked.int16 3 @@>, box 3s + <@@ Checked.int16 3u @@>, box 3s + <@@ Checked.int16 3L @@>, box 3s + <@@ Checked.int16 3UL @@>, box 3s + <@@ Checked.int16 '\003' @@>, box 3s + <@@ Checked.int16 3.0f @@>, box 3s + <@@ Checked.int16 3.0 @@>, box 3s + <@@ Checked.int16 3.0 @@>, box 3s + <@@ Checked.int16 3I @@>, box 3s + <@@ Checked.int16 LanguagePrimitives.GenericOne @@>, box 1s + <@@ Checked.int16 LanguagePrimitives.GenericOne @@>, box 1s + <@@ Checked.int16 3.0M @@>, box 3s + <@@ Checked.int16 "3" @@>, box 3s + + <@@ uint16 3uy @@>, box 3us + <@@ uint16 3y @@>, box 3us + <@@ uint16 3s @@>, box 3us + <@@ uint16 3us @@>, box 3us + <@@ uint16 3 @@>, box 3us + <@@ uint16 3u @@>, box 3us + <@@ uint16 3L @@>, box 3us + <@@ uint16 3UL @@>, box 3us + <@@ uint16 '\003' @@>, box 3us + <@@ uint16 3.0f @@>, box 3us + <@@ uint16 3.0 @@>, box 3us + <@@ uint16 3.0 @@>, box 3us + <@@ uint16 3I @@>, box 3us + <@@ uint16 LanguagePrimitives.GenericOne @@>, box 1us + <@@ uint16 LanguagePrimitives.GenericOne @@>, box 1us + <@@ uint16 3.0M @@>, box 3us + <@@ uint16 "3" @@>, box 3us + <@@ Checked.uint16 3uy @@>, box 3us + <@@ Checked.uint16 3y @@>, box 3us + <@@ Checked.uint16 3s @@>, box 3us + <@@ Checked.uint16 3us @@>, box 3us + <@@ Checked.uint16 3 @@>, box 3us + <@@ Checked.uint16 3u @@>, box 3us + <@@ Checked.uint16 3L @@>, box 3us + <@@ Checked.uint16 3UL @@>, box 3us + <@@ Checked.uint16 '\003' @@>, box 3us + <@@ Checked.uint16 3.0f @@>, box 3us + <@@ Checked.uint16 3.0 @@>, box 3us + <@@ Checked.uint16 3.0 @@>, box 3us + <@@ Checked.uint16 3I @@>, box 3us + <@@ Checked.uint16 LanguagePrimitives.GenericOne @@>, box 1us + <@@ Checked.uint16 LanguagePrimitives.GenericOne @@>, box 1us + <@@ Checked.uint16 3.0M @@>, box 3us + <@@ Checked.uint16 "3" @@>, box 3us + + <@@ int 3uy @@>, box 3 + <@@ int 3y @@>, box 3 + <@@ int 3s @@>, box 3 + <@@ int 3us @@>, box 3 + <@@ int 3 @@>, box 3 + <@@ int 3u @@>, box 3 + <@@ int 3L @@>, box 3 + <@@ int 3UL @@>, box 3 + <@@ int '\003' @@>, box 3 + <@@ int 3.0f @@>, box 3 + <@@ int 3.0 @@>, box 3 + <@@ int 3.0 @@>, box 3 + <@@ int 3I @@>, box 3 + <@@ int LanguagePrimitives.GenericOne @@>, box 1 + <@@ int LanguagePrimitives.GenericOne @@>, box 1 + <@@ int 3.0M @@>, box 3 + <@@ int "3" @@>, box 3 + <@@ int32 3uy @@>, box 3 + <@@ int32 3y @@>, box 3 + <@@ int32 3s @@>, box 3 + <@@ int32 3us @@>, box 3 + <@@ int32 3 @@>, box 3 + <@@ int32 3u @@>, box 3 + <@@ int32 3L @@>, box 3 + <@@ int32 3UL @@>, box 3 + <@@ int32 '\003' @@>, box 3 + <@@ int32 3.0f @@>, box 3 + <@@ int32 3.0 @@>, box 3 + <@@ int32 3.0 @@>, box 3 + <@@ int32 3I @@>, box 3 + <@@ int32 LanguagePrimitives.GenericOne @@>, box 1 + <@@ int32 LanguagePrimitives.GenericOne @@>, box 1 + <@@ int32 3.0M @@>, box 3 + <@@ int32 "3" @@>, box 3 + <@@ Checked.int 3uy @@>, box 3 + <@@ Checked.int 3y @@>, box 3 + <@@ Checked.int 3s @@>, box 3 + <@@ Checked.int 3us @@>, box 3 + <@@ Checked.int 3 @@>, box 3 + <@@ Checked.int 3u @@>, box 3 + <@@ Checked.int 3L @@>, box 3 + <@@ Checked.int 3UL @@>, box 3 + <@@ Checked.int '\003' @@>, box 3 + <@@ Checked.int 3.0f @@>, box 3 + <@@ Checked.int 3.0 @@>, box 3 + <@@ Checked.int 3.0 @@>, box 3 + <@@ Checked.int 3I @@>, box 3 + <@@ Checked.int LanguagePrimitives.GenericOne @@>, box 1 + <@@ Checked.int LanguagePrimitives.GenericOne @@>, box 1 + <@@ Checked.int 3.0M @@>, box 3 + <@@ Checked.int "3" @@>, box 3 + <@@ Checked.int32 3uy @@>, box 3 + <@@ Checked.int32 3y @@>, box 3 + <@@ Checked.int32 3s @@>, box 3 + <@@ Checked.int32 3us @@>, box 3 + <@@ Checked.int32 3 @@>, box 3 + <@@ Checked.int32 3u @@>, box 3 + <@@ Checked.int32 3L @@>, box 3 + <@@ Checked.int32 3UL @@>, box 3 + <@@ Checked.int32 '\003' @@>, box 3 + <@@ Checked.int32 3.0f @@>, box 3 + <@@ Checked.int32 3.0 @@>, box 3 + <@@ Checked.int32 3.0 @@>, box 3 + <@@ Checked.int32 3I @@>, box 3 + <@@ Checked.int32 LanguagePrimitives.GenericOne @@>, box 1 + <@@ Checked.int32 LanguagePrimitives.GenericOne @@>, box 1 + <@@ Checked.int32 3.0M @@>, box 3 + <@@ Checked.int32 "3" @@>, box 3 + + <@@ uint 3uy @@>, box 3u + <@@ uint 3y @@>, box 3u + <@@ uint 3s @@>, box 3u + <@@ uint 3us @@>, box 3u + <@@ uint 3 @@>, box 3u + <@@ uint 3u @@>, box 3u + <@@ uint 3L @@>, box 3u + <@@ uint 3UL @@>, box 3u + <@@ uint '\003' @@>, box 3u + <@@ uint 3.0f @@>, box 3u + <@@ uint 3.0 @@>, box 3u + <@@ uint 3.0 @@>, box 3u + <@@ uint 3I @@>, box 3u + <@@ uint LanguagePrimitives.GenericOne @@>, box 1u + <@@ uint LanguagePrimitives.GenericOne @@>, box 1u + <@@ uint 3.0M @@>, box 3u + <@@ uint "3" @@>, box 3u + <@@ uint32 3uy @@>, box 3u + <@@ uint32 3y @@>, box 3u + <@@ uint32 3s @@>, box 3u + <@@ uint32 3us @@>, box 3u + <@@ uint32 3 @@>, box 3u + <@@ uint32 3u @@>, box 3u + <@@ uint32 3L @@>, box 3u + <@@ uint32 3UL @@>, box 3u + <@@ uint32 '\003' @@>, box 3u + <@@ uint32 3.0f @@>, box 3u + <@@ uint32 3.0 @@>, box 3u + <@@ uint32 3.0 @@>, box 3u + <@@ uint32 3I @@>, box 3u + <@@ uint32 LanguagePrimitives.GenericOne @@>, box 1u + <@@ uint32 LanguagePrimitives.GenericOne @@>, box 1u + <@@ uint32 3.0M @@>, box 3u + <@@ uint32 "3" @@>, box 3u + <@@ Checked.uint32 3uy @@>, box 3u + <@@ Checked.uint32 3y @@>, box 3u + <@@ Checked.uint32 3s @@>, box 3u + <@@ Checked.uint32 3us @@>, box 3u + <@@ Checked.uint32 3 @@>, box 3u + <@@ Checked.uint32 3u @@>, box 3u + <@@ Checked.uint32 3L @@>, box 3u + <@@ Checked.uint32 3UL @@>, box 3u + <@@ Checked.uint32 '\003' @@>, box 3u + <@@ Checked.uint32 3.0f @@>, box 3u + <@@ Checked.uint32 3.0 @@>, box 3u + <@@ Checked.uint32 3.0 @@>, box 3u + <@@ Checked.uint32 3I @@>, box 3u + <@@ Checked.uint32 LanguagePrimitives.GenericOne @@>, box 1u + <@@ Checked.uint32 LanguagePrimitives.GenericOne @@>, box 1u + <@@ Checked.uint32 3.0M @@>, box 3u + <@@ Checked.uint32 "3" @@>, box 3u + + <@@ int64 3uy @@>, box 3L + <@@ int64 3y @@>, box 3L + <@@ int64 3s @@>, box 3L + <@@ int64 3us @@>, box 3L + <@@ int64 3 @@>, box 3L + <@@ int64 3u @@>, box 3L + <@@ int64 3L @@>, box 3L + <@@ int64 3UL @@>, box 3L + <@@ int64 '\003' @@>, box 3L + <@@ int64 3.0f @@>, box 3L + <@@ int64 3.0 @@>, box 3L + <@@ int64 3.0 @@>, box 3L + <@@ int64 3I @@>, box 3L + <@@ int64 LanguagePrimitives.GenericOne @@>, box 1L + <@@ int64 LanguagePrimitives.GenericOne @@>, box 1L + <@@ int64 3.0M @@>, box 3L + <@@ int64 "3" @@>, box 3L + <@@ Checked.int64 3uy @@>, box 3L + <@@ Checked.int64 3y @@>, box 3L + <@@ Checked.int64 3s @@>, box 3L + <@@ Checked.int64 3us @@>, box 3L + <@@ Checked.int64 3 @@>, box 3L + <@@ Checked.int64 3u @@>, box 3L + <@@ Checked.int64 3L @@>, box 3L + <@@ Checked.int64 3UL @@>, box 3L + <@@ Checked.int64 '\003' @@>, box 3L + <@@ Checked.int64 3.0f @@>, box 3L + <@@ Checked.int64 3.0 @@>, box 3L + <@@ Checked.int64 3.0 @@>, box 3L + <@@ Checked.int64 3I @@>, box 3L + <@@ Checked.int64 LanguagePrimitives.GenericOne @@>, box 1L + <@@ Checked.int64 LanguagePrimitives.GenericOne @@>, box 1L + <@@ Checked.int64 3.0M @@>, box 3L + <@@ Checked.int64 "3" @@>, box 3L + + <@@ uint64 3uy @@>, box 3UL + <@@ uint64 3y @@>, box 3UL + <@@ uint64 3s @@>, box 3UL + <@@ uint64 3us @@>, box 3UL + <@@ uint64 3 @@>, box 3UL + <@@ uint64 3u @@>, box 3UL + <@@ uint64 3L @@>, box 3UL + <@@ uint64 3UL @@>, box 3UL + <@@ uint64 '\003' @@>, box 3UL + <@@ uint64 3.0f @@>, box 3UL + <@@ uint64 3.0 @@>, box 3UL + <@@ uint64 3.0 @@>, box 3UL + <@@ uint64 3I @@>, box 3UL + <@@ uint64 LanguagePrimitives.GenericOne @@>, box 1UL + <@@ uint64 LanguagePrimitives.GenericOne @@>, box 1UL + <@@ uint64 3.0M @@>, box 3UL + <@@ uint64 "3" @@>, box 3UL + <@@ Checked.uint64 3uy @@>, box 3UL + <@@ Checked.uint64 3y @@>, box 3UL + <@@ Checked.uint64 3s @@>, box 3UL + <@@ Checked.uint64 3us @@>, box 3UL + <@@ Checked.uint64 3 @@>, box 3UL + <@@ Checked.uint64 3u @@>, box 3UL + <@@ Checked.uint64 3L @@>, box 3UL + <@@ Checked.uint64 3UL @@>, box 3UL + <@@ Checked.uint64 '\003' @@>, box 3UL + <@@ Checked.uint64 3.0f @@>, box 3UL + <@@ Checked.uint64 3.0 @@>, box 3UL + <@@ Checked.uint64 3.0 @@>, box 3UL + <@@ Checked.uint64 3I @@>, box 3UL + <@@ Checked.uint64 LanguagePrimitives.GenericOne @@>, box 1UL + <@@ Checked.uint64 LanguagePrimitives.GenericOne @@>, box 1UL + <@@ Checked.uint64 3.0M @@>, box 3UL + <@@ Checked.uint64 "3" @@>, box 3UL + + <@@ char 51uy @@>, box '3' + <@@ char 51y @@>, box '3' + <@@ char 51s @@>, box '3' + <@@ char 51us @@>, box '3' + <@@ char 51 @@>, box '3' + <@@ char 51u @@>, box '3' + <@@ char 51L @@>, box '3' + <@@ char 51UL @@>, box '3' + <@@ char '3' @@>, box '3' + <@@ char 51.0f @@>, box '3' + <@@ char 51.0 @@>, box '3' + <@@ char 51.0 @@>, box '3' + <@@ char LanguagePrimitives.GenericOne @@>, box '\001' + <@@ char LanguagePrimitives.GenericOne @@>, box '\001' + <@@ char 51.0M @@>, box '3' + <@@ char "3" @@>, box '3' + <@@ Checked.char 51uy @@>, box '3' + <@@ Checked.char 51y @@>, box '3' + <@@ Checked.char 51s @@>, box '3' + <@@ Checked.char 51us @@>, box '3' + <@@ Checked.char 51 @@>, box '3' + <@@ Checked.char 51u @@>, box '3' + <@@ Checked.char 51L @@>, box '3' + <@@ Checked.char 51UL @@>, box '3' + <@@ Checked.char '3' @@>, box '3' + <@@ Checked.char 51.0f @@>, box '3' + <@@ Checked.char 51.0 @@>, box '3' + <@@ Checked.char 51.0 @@>, box '3' + <@@ Checked.char LanguagePrimitives.GenericOne @@>, box '\001' + <@@ Checked.char LanguagePrimitives.GenericOne @@>, box '\001' + <@@ Checked.char 51.0M @@>, box '3' + <@@ Checked.char "3" @@>, box '3' + + <@@ nativeint 3uy @@>, box 3n + <@@ nativeint 3y @@>, box 3n + <@@ nativeint 3s @@>, box 3n + <@@ nativeint 3us @@>, box 3n + <@@ nativeint 3 @@>, box 3n + <@@ nativeint 3u @@>, box 3n + <@@ nativeint 3L @@>, box 3n + <@@ nativeint 3UL @@>, box 3n + <@@ nativeint '\003' @@>, box 3n + <@@ nativeint 3.0f @@>, box 3n + <@@ nativeint 3.0 @@>, box 3n + <@@ nativeint 3.0 @@>, box 3n + <@@ nativeint LanguagePrimitives.GenericOne @@>, box 1n + <@@ nativeint LanguagePrimitives.GenericOne @@>, box 1n + <@@ nativeint 3.0M @@>, box 3n + <@@ nativeint "3" @@>, box 3n + <@@ Checked.nativeint 3uy @@>, box 3n + <@@ Checked.nativeint 3y @@>, box 3n + <@@ Checked.nativeint 3s @@>, box 3n + <@@ Checked.nativeint 3us @@>, box 3n + <@@ Checked.nativeint 3 @@>, box 3n + <@@ Checked.nativeint 3u @@>, box 3n + <@@ Checked.nativeint 3L @@>, box 3n + <@@ Checked.nativeint 3UL @@>, box 3n + <@@ Checked.nativeint '\003' @@>, box 3n + <@@ Checked.nativeint 3.0f @@>, box 3n + <@@ Checked.nativeint 3.0 @@>, box 3n + <@@ Checked.nativeint 3.0 @@>, box 3n + <@@ Checked.nativeint LanguagePrimitives.GenericOne @@>, box 1n + <@@ Checked.nativeint LanguagePrimitives.GenericOne @@>, box 1n + <@@ Checked.nativeint 3.0M @@>, box 3n + <@@ Checked.nativeint "3" @@>, box 3n + + <@@ unativeint 3uy @@>, box 3un + <@@ unativeint 3y @@>, box 3un + <@@ unativeint 3s @@>, box 3un + <@@ unativeint 3us @@>, box 3un + <@@ unativeint 3 @@>, box 3un + <@@ unativeint 3u @@>, box 3un + <@@ unativeint 3L @@>, box 3un + <@@ unativeint 3UL @@>, box 3un + <@@ unativeint '\003' @@>, box 3un + <@@ unativeint 3.0f @@>, box 3un + <@@ unativeint 3.0 @@>, box 3un + <@@ unativeint 3.0 @@>, box 3un + <@@ unativeint LanguagePrimitives.GenericOne @@>, box 1un + <@@ unativeint LanguagePrimitives.GenericOne @@>, box 1un + <@@ unativeint 3.0M @@>, box 3un + <@@ unativeint "3" @@>, box 3un + <@@ Checked.unativeint 3uy @@>, box 3un + <@@ Checked.unativeint 3y @@>, box 3un + <@@ Checked.unativeint 3s @@>, box 3un + <@@ Checked.unativeint 3us @@>, box 3un + <@@ Checked.unativeint 3 @@>, box 3un + <@@ Checked.unativeint 3u @@>, box 3un + <@@ Checked.unativeint 3L @@>, box 3un + <@@ Checked.unativeint 3UL @@>, box 3un + <@@ Checked.unativeint '\003' @@>, box 3un + <@@ Checked.unativeint 3.0f @@>, box 3un + <@@ Checked.unativeint 3.0 @@>, box 3un + <@@ Checked.unativeint 3.0 @@>, box 3un + <@@ Checked.unativeint LanguagePrimitives.GenericOne @@>, box 1un + <@@ Checked.unativeint LanguagePrimitives.GenericOne @@>, box 1un + <@@ Checked.unativeint 3.0M @@>, box 3un + <@@ Checked.unativeint "3" @@>, box 3un + + <@@ single 3uy @@>, box 3f + <@@ single 3y @@>, box 3f + <@@ single 3s @@>, box 3f + <@@ single 3us @@>, box 3f + <@@ single 3 @@>, box 3f + <@@ single 3u @@>, box 3f + <@@ single 3L @@>, box 3f + <@@ single 3UL @@>, box 3f + <@@ single '\003' @@>, box 3f + <@@ single 3.0f @@>, box 3f + <@@ single 3.0 @@>, box 3f + <@@ single 3.0 @@>, box 3f + <@@ single 3I @@>, box 3f + <@@ single LanguagePrimitives.GenericOne @@>, box 1f + <@@ single LanguagePrimitives.GenericOne @@>, box 1f + <@@ single 3.0M @@>, box 3f + <@@ single "3" @@>, box 3f + <@@ float32 3uy @@>, box 3f + <@@ float32 3y @@>, box 3f + <@@ float32 3s @@>, box 3f + <@@ float32 3us @@>, box 3f + <@@ float32 3 @@>, box 3f + <@@ float32 3u @@>, box 3f + <@@ float32 3L @@>, box 3f + <@@ float32 3UL @@>, box 3f + <@@ float32 '\003' @@>, box 3f + <@@ float32 3.0f @@>, box 3f + <@@ float32 3.0 @@>, box 3f + <@@ float32 3.0 @@>, box 3f + <@@ float32 3I @@>, box 3f + <@@ float32 LanguagePrimitives.GenericOne @@>, box 1f + <@@ float32 LanguagePrimitives.GenericOne @@>, box 1f + <@@ float32 3.0M @@>, box 3f + <@@ float32 "3" @@>, box 3f + + <@@ double 3uy @@>, box 3. + <@@ double 3y @@>, box 3. + <@@ double 3s @@>, box 3. + <@@ double 3us @@>, box 3. + <@@ double 3 @@>, box 3. + <@@ double 3u @@>, box 3. + <@@ double 3L @@>, box 3. + <@@ double 3UL @@>, box 3. + <@@ double '\003' @@>, box 3. + <@@ double 3.0f @@>, box 3. + <@@ double 3.0 @@>, box 3. + <@@ double 3.0 @@>, box 3. + <@@ double 3I @@>, box 3. + <@@ double LanguagePrimitives.GenericOne @@>, box 1. + <@@ double LanguagePrimitives.GenericOne @@>, box 1. + <@@ double 3.0M @@>, box 3. + <@@ double "3" @@>, box 3. + <@@ float 3uy @@>, box 3. + <@@ float 3y @@>, box 3. + <@@ float 3s @@>, box 3. + <@@ float 3us @@>, box 3. + <@@ float 3 @@>, box 3. + <@@ float 3u @@>, box 3. + <@@ float 3L @@>, box 3. + <@@ float 3UL @@>, box 3. + <@@ float '\003' @@>, box 3. + <@@ float 3.0f @@>, box 3. + <@@ float 3.0 @@>, box 3. + <@@ float 3.0 @@>, box 3. + <@@ float 3I @@>, box 3. + <@@ float LanguagePrimitives.GenericOne @@>, box 1. + <@@ float LanguagePrimitives.GenericOne @@>, box 1. + <@@ float 3.0M @@>, box 3. + <@@ float "3" @@>, box 3. + + <@@ decimal 3uy @@>, box 3m + <@@ decimal 3y @@>, box 3m + <@@ decimal 3s @@>, box 3m + <@@ decimal 3us @@>, box 3m + <@@ decimal 3 @@>, box 3m + <@@ decimal 3u @@>, box 3m + <@@ decimal 3L @@>, box 3m + <@@ decimal 3UL @@>, box 3m + <@@ decimal '\003' @@>, box 3m + <@@ decimal 3.0f @@>, box 3m + <@@ decimal 3.0 @@>, box 3m + <@@ decimal 3.0 @@>, box 3m + <@@ decimal 3I @@>, box 3m + <@@ decimal LanguagePrimitives.GenericOne @@>, box 1m + <@@ decimal LanguagePrimitives.GenericOne @@>, box 1m + <@@ decimal 3.0M @@>, box 3m + <@@ decimal "3" @@>, box 3m + + <@@ LanguagePrimitives.GenericZero @@>, box 0uy + <@@ LanguagePrimitives.GenericZero @@>, box 0uy + <@@ LanguagePrimitives.GenericZero @@>, box 0y + <@@ LanguagePrimitives.GenericZero @@>, box 0y + <@@ LanguagePrimitives.GenericZero @@>, box 0s + <@@ LanguagePrimitives.GenericZero @@>, box 0us + <@@ LanguagePrimitives.GenericZero @@>, box 0 + <@@ LanguagePrimitives.GenericZero @@>, box 0 + <@@ LanguagePrimitives.GenericZero @@>, box 0u + <@@ LanguagePrimitives.GenericZero @@>, box 0u + <@@ LanguagePrimitives.GenericZero @@>, box 0L + <@@ LanguagePrimitives.GenericZero @@>, box 0UL + <@@ LanguagePrimitives.GenericZero @@>, box 0I + <@@ LanguagePrimitives.GenericZero @@>, box '\000' + <@@ LanguagePrimitives.GenericZero @@>, box 0n + <@@ LanguagePrimitives.GenericZero @@>, box 0un + <@@ LanguagePrimitives.GenericZero @@>, box 0f + <@@ LanguagePrimitives.GenericZero @@>, box 0. + <@@ LanguagePrimitives.GenericZero @@>, box 0m + <@@ LanguagePrimitives.GenericZero> @@>, box 0m + + <@@ LanguagePrimitives.GenericOne @@>, box 1uy + <@@ LanguagePrimitives.GenericOne @@>, box 1uy + <@@ LanguagePrimitives.GenericOne @@>, box 1y + <@@ LanguagePrimitives.GenericOne @@>, box 1y + <@@ LanguagePrimitives.GenericOne @@>, box 1s + <@@ LanguagePrimitives.GenericOne @@>, box 1us + <@@ LanguagePrimitives.GenericOne @@>, box 1 + <@@ LanguagePrimitives.GenericOne @@>, box 1 + <@@ LanguagePrimitives.GenericOne @@>, box 1u + <@@ LanguagePrimitives.GenericOne @@>, box 1u + <@@ LanguagePrimitives.GenericOne @@>, box 1L + <@@ LanguagePrimitives.GenericOne @@>, box 1UL + <@@ LanguagePrimitives.GenericOne @@>, box 1I + <@@ LanguagePrimitives.GenericOne @@>, box '\001' + <@@ LanguagePrimitives.GenericOne @@>, box 1n + <@@ LanguagePrimitives.GenericOne @@>, box 1un + <@@ LanguagePrimitives.GenericOne @@>, box 1f + <@@ LanguagePrimitives.GenericOne @@>, box 1. + <@@ LanguagePrimitives.GenericOne @@>, box 1m + //<@@ LanguagePrimitives.GenericOne> @@>, box 1m // Doesn't typecheck + + <@@ List.sum [ 1; 2 ] @@>, box 3 + <@@ List.sum [ 1I; 2I ] @@>, box 3I + <@@ List.sum [ 1.0f; 2.0f ] @@>, box 3f + <@@ List.sum [ 1.0; 2.0 ] @@>, box 3. + <@@ List.sum [ 1.0M; 2.0M ] @@>, box 3m + <@@ List.sum [ 1.0M; 2.0M ] @@>, box 3m + <@@ List.average [ 1.0; 2.0 ] @@>, box 1.5 + <@@ List.average [ 1.0f; 2.0f ] @@>, box 1.5f + <@@ List.average [ 1.0M; 2.0M ] @@>, box 1.5m + <@@ List.average [ 1.0M; 2.0M ] @@>, box 1.5m + + <@@ Nullable.byte (Nullable<_> 3uy) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3y) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3s) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3us) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3u) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3L) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3UL) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> '\003') @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3.0f) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3.0) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3.0) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> 3I) @@>, box 3uy + <@@ Nullable.byte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy + <@@ Nullable.byte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy + <@@ Nullable.byte (Nullable<_> 3.0M) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3uy) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3y) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3s) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3us) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3u) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3L) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3UL) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> '\003') @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3.0f) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3.0) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3.0) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> 3I) @@>, box 3uy + <@@ Nullable.uint8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy + <@@ Nullable.uint8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1uy + <@@ Nullable.uint8 (Nullable<_> 3.0M) @@>, box 3uy + + <@@ Nullable.sbyte (Nullable<_> 3uy) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3y) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3s) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3us) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3u) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3L) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3UL) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> '\003') @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3.0f) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3.0) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3.0) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> 3I) @@>, box 3y + <@@ Nullable.sbyte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y + <@@ Nullable.sbyte (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y + <@@ Nullable.sbyte (Nullable<_> 3.0M) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3uy) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3y) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3s) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3us) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3u) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3L) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3UL) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> '\003') @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3.0f) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3.0) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3.0) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> 3I) @@>, box 3y + <@@ Nullable.int8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y + <@@ Nullable.int8 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1y + <@@ Nullable.int8 (Nullable<_> 3.0M) @@>, box 3y + + <@@ Nullable.int16 (Nullable<_> 3uy) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3y) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3s) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3us) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3u) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3L) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3UL) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> '\003') @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3.0f) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3.0) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3.0) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> 3I) @@>, box 3s + <@@ Nullable.int16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1s + <@@ Nullable.int16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1s + <@@ Nullable.int16 (Nullable<_> 3.0M) @@>, box 3s + + <@@ Nullable.uint16 (Nullable<_> 3uy) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3y) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3s) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3us) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3u) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3L) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3UL) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> '\003') @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3.0f) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3.0) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3.0) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> 3I) @@>, box 3us + <@@ Nullable.uint16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1us + <@@ Nullable.uint16 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1us + <@@ Nullable.uint16 (Nullable<_> 3.0M) @@>, box 3us + + <@@ Nullable.int (Nullable<_> 3uy) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3y) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3s) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3us) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3u) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3L) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3UL) @@>, box 3 + <@@ Nullable.int (Nullable<_> '\003') @@>, box 3 + <@@ Nullable.int (Nullable<_> 3.0f) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3.0) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3.0) @@>, box 3 + <@@ Nullable.int (Nullable<_> 3I) @@>, box 3 + <@@ Nullable.int (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 + <@@ Nullable.int (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 + <@@ Nullable.int (Nullable<_> 3.0M) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3uy) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3y) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3s) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3us) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3u) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3L) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3UL) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> '\003') @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3.0f) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3.0) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3.0) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> 3I) @@>, box 3 + <@@ Nullable.int32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 + <@@ Nullable.int32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1 + <@@ Nullable.int32 (Nullable<_> 3.0M) @@>, box 3 + + <@@ Nullable.uint (Nullable<_> 3uy) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3y) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3s) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3us) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3u) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3L) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3UL) @@>, box 3u + <@@ Nullable.uint (Nullable<_> '\003') @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3.0f) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3.0) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3.0) @@>, box 3u + <@@ Nullable.uint (Nullable<_> 3I) @@>, box 3u + <@@ Nullable.uint (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u + <@@ Nullable.uint (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u + <@@ Nullable.uint (Nullable<_> 3.0M) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3uy) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3y) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3s) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3us) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3u) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3L) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3UL) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> '\003') @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3.0f) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3.0) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3.0) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> 3I) @@>, box 3u + <@@ Nullable.uint32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u + <@@ Nullable.uint32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1u + <@@ Nullable.uint32 (Nullable<_> 3.0M) @@>, box 3u + + <@@ Nullable.int64 (Nullable<_> 3uy) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3y) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3s) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3us) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3u) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3L) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3UL) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> '\003') @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3.0f) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3.0) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3.0) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> 3I) @@>, box 3L + <@@ Nullable.int64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1L + <@@ Nullable.int64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1L + <@@ Nullable.int64 (Nullable<_> 3.0M) @@>, box 3L + + <@@ Nullable.uint64 (Nullable<_> 3uy) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3y) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3s) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3us) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3u) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3L) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3UL) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> '\003') @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3.0f) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3.0) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3.0) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> 3I) @@>, box 3UL + <@@ Nullable.uint64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1UL + <@@ Nullable.uint64 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1UL + <@@ Nullable.uint64 (Nullable<_> 3.0M) @@>, box 3UL + + <@@ Nullable.char (Nullable<_> 51uy) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51y) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51s) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51us) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51u) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51L) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51UL) @@>, box '3' + <@@ Nullable.char (Nullable<_> '3') @@>, box '3' + <@@ Nullable.char (Nullable<_> 51.0f) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51.0) @@>, box '3' + <@@ Nullable.char (Nullable<_> 51.0) @@>, box '3' + <@@ Nullable.char (Nullable<_> LanguagePrimitives.GenericOne) @@>, box '\001' + <@@ Nullable.char (Nullable<_> LanguagePrimitives.GenericOne) @@>, box '\001' + <@@ Nullable.char (Nullable<_> 51.0M) @@>, box '3' + + <@@ Nullable.single (Nullable<_> 3uy) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3y) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3s) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3us) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3u) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3L) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3UL) @@>, box 3f + <@@ Nullable.single (Nullable<_> '\003') @@>, box 3f + <@@ Nullable.single (Nullable<_> 3.0f) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3.0) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3.0) @@>, box 3f + <@@ Nullable.single (Nullable<_> 3I) @@>, box 3f + <@@ Nullable.single (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f + <@@ Nullable.single (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f + <@@ Nullable.single (Nullable<_> 3.0M) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3uy) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3y) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3s) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3us) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3u) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3L) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3UL) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> '\003') @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3.0f) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3.0) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3.0) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> 3I) @@>, box 3f + <@@ Nullable.float32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f + <@@ Nullable.float32 (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1f + <@@ Nullable.float32 (Nullable<_> 3.0M) @@>, box 3f + + <@@ Nullable.double (Nullable<_> 3uy) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3y) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3s) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3us) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3u) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3L) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3UL) @@>, box 3. + <@@ Nullable.double (Nullable<_> '\003') @@>, box 3. + <@@ Nullable.double (Nullable<_> 3.0f) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3.0) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3.0) @@>, box 3. + <@@ Nullable.double (Nullable<_> 3I) @@>, box 3. + <@@ Nullable.double (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. + <@@ Nullable.double (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. + <@@ Nullable.double (Nullable<_> 3.0M) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3uy) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3y) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3s) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3us) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3u) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3L) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3UL) @@>, box 3. + <@@ Nullable.float (Nullable<_> '\003') @@>, box 3. + <@@ Nullable.float (Nullable<_> 3.0f) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3.0) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3.0) @@>, box 3. + <@@ Nullable.float (Nullable<_> 3I) @@>, box 3. + <@@ Nullable.float (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. + <@@ Nullable.float (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1. + <@@ Nullable.float (Nullable<_> 3.0M) @@>, box 3. + + <@@ Nullable.decimal (Nullable<_> 3uy) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3y) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3s) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3us) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3u) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3L) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3UL) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> '\003') @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3.0f) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3.0) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3.0) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> 3I) @@>, box 3m + <@@ Nullable.decimal (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1m + <@@ Nullable.decimal (Nullable<_> LanguagePrimitives.GenericOne) @@>, box 1m + <@@ Nullable.decimal (Nullable<_> 3.0M) @@>, box 3m + + <@@ Nullable<_> 1y ?+ 4y @@>, box 5y + <@@ Nullable<_> 1uy ?+ 4uy @@>, box 5uy + <@@ Nullable<_> 1s ?+ 4s @@>, box 5s + <@@ Nullable<_> 1us ?+ 4us @@>, box 5us + <@@ Nullable<_> 1 ?+ 4 @@>, box 5 + <@@ Nullable<_> 1u ?+ 4u @@>, box 5u + <@@ Nullable<_> 1L ?+ 4L @@>, box 5L + <@@ Nullable<_> 1uL ?+ 4uL @@>, box 5uL + <@@ Nullable<_> 1.0f ?+ 4.0f @@>, box 5f + <@@ Nullable<_> 1.0 ?+ 4.0 @@>, box 5. + <@@ Nullable<_> 1m ?+ 4m @@>, box 5m + <@@ Nullable<_> 1m ?+ 4m @@>, box 5m + <@@ Nullable<_> 1I ?+ 4I @@>, box 5I + <@@ Nullable<_> '1' ?+ '\004' @@>, box '5' + <@@ Nullable<_> LanguagePrimitives.GenericOne ?+ LanguagePrimitives.GenericOne @@>, box 2n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?+ LanguagePrimitives.GenericOne @@>, box 2un + + <@@ 1y +? Nullable<_> 4y @@>, box 5y + <@@ 1uy +? Nullable<_> 4uy @@>, box 5uy + <@@ 1s +? Nullable<_> 4s @@>, box 5s + <@@ 1us +? Nullable<_> 4us @@>, box 5us + <@@ 1 +? Nullable<_> 4 @@>, box 5 + <@@ 1u +? Nullable<_> 4u @@>, box 5u + <@@ 1L +? Nullable<_> 4L @@>, box 5L + <@@ 1uL +? Nullable<_> 4uL @@>, box 5uL + <@@ 1.0f +? Nullable<_> 4.0f @@>, box 5f + <@@ 1.0 +? Nullable<_> 4.0 @@>, box 5. + <@@ 1m +? Nullable<_> 4m @@>, box 5m + <@@ 1m +? Nullable<_> 4m @@>, box 5m + <@@ 1I +? Nullable<_> 4I @@>, box 5I + <@@ '1' +? Nullable<_> '\004' @@>, box '5' + <@@ LanguagePrimitives.GenericOne +? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2n + <@@ LanguagePrimitives.GenericOne +? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2un + + <@@ Nullable<_> 1y ?+? Nullable<_> 4y @@>, box 5y + <@@ Nullable<_> 1uy ?+? Nullable<_> 4uy @@>, box 5uy + <@@ Nullable<_> 1s ?+? Nullable<_> 4s @@>, box 5s + <@@ Nullable<_> 1us ?+? Nullable<_> 4us @@>, box 5us + <@@ Nullable<_> 1 ?+? Nullable<_> 4 @@>, box 5 + <@@ Nullable<_> 1u ?+? Nullable<_> 4u @@>, box 5u + <@@ Nullable<_> 1L ?+? Nullable<_> 4L @@>, box 5L + <@@ Nullable<_> 1uL ?+? Nullable<_> 4uL @@>, box 5uL + <@@ Nullable<_> 1.0f ?+? Nullable<_> 4.0f @@>, box 5f + <@@ Nullable<_> 1.0 ?+? Nullable<_> 4.0 @@>, box 5. + <@@ Nullable<_> 1m ?+? Nullable<_> 4m @@>, box 5m + <@@ Nullable<_> 1m ?+? Nullable<_> 4m @@>, box 5m + <@@ Nullable<_> 1I ?+? Nullable<_> 4I @@>, box 5I + <@@ Nullable<_> '1' ?+? Nullable<_> '\004' @@>, box '5' + <@@ Nullable<_> LanguagePrimitives.GenericOne ?+? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?+? Nullable<_> LanguagePrimitives.GenericOne @@>, box 2un + + <@@ Nullable<_> 4y ?- 1y @@>, box 3y + <@@ Nullable<_> 4uy ?- 1uy @@>, box 3uy + <@@ Nullable<_> 4s ?- 1s @@>, box 3s + <@@ Nullable<_> 4us ?- 1us @@>, box 3us + <@@ Nullable<_> 4 ?- 1 @@>, box 3 + <@@ Nullable<_> 4u ?- 1u @@>, box 3u + <@@ Nullable<_> 4L ?- 1L @@>, box 3L + <@@ Nullable<_> 4uL ?- 1uL @@>, box 3uL + <@@ Nullable<_> 4.0f ?- 1.0f @@>, box 3f + <@@ Nullable<_> 4.0 ?- 1.0 @@>, box 3. + <@@ Nullable<_> 4m ?- 1m @@>, box 3m + <@@ Nullable<_> 4m ?- 1m @@>, box 3m + <@@ Nullable<_> 4I ?- 1I @@>, box 3I + <@@ Nullable<_> '4' ?- '\001' @@>, box '3' + <@@ Nullable<_> LanguagePrimitives.GenericOne ?- LanguagePrimitives.GenericOne @@>, box 0n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?- LanguagePrimitives.GenericOne @@>, box 0un + + <@@ 4y -? Nullable<_> 1y @@>, box 3y + <@@ 4uy -? Nullable<_> 1uy @@>, box 3uy + <@@ 4s -? Nullable<_> 1s @@>, box 3s + <@@ 4us -? Nullable<_> 1us @@>, box 3us + <@@ 4 -? Nullable<_> 1 @@>, box 3 + <@@ 4u -? Nullable<_> 1u @@>, box 3u + <@@ 4L -? Nullable<_> 1L @@>, box 3L + <@@ 4uL -? Nullable<_> 1uL @@>, box 3uL + <@@ 4.0f -? Nullable<_> 1.0f @@>, box 3f + <@@ 4.0 -? Nullable<_> 1.0 @@>, box 3. + <@@ 4m -? Nullable<_> 1m @@>, box 3m + <@@ 4m -? Nullable<_> 1m @@>, box 3m + <@@ 4I -? Nullable<_> 1I @@>, box 3I + <@@ '4' -? Nullable<_> '\001' @@>, box '3' + <@@ LanguagePrimitives.GenericOne -? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n + <@@ LanguagePrimitives.GenericOne -? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un + + <@@ Nullable<_> 4y ?-? Nullable<_> 1y @@>, box 3y + <@@ Nullable<_> 4uy ?-? Nullable<_> 1uy @@>, box 3uy + <@@ Nullable<_> 4s ?-? Nullable<_> 1s @@>, box 3s + <@@ Nullable<_> 4us ?-? Nullable<_> 1us @@>, box 3us + <@@ Nullable<_> 4 ?-? Nullable<_> 1 @@>, box 3 + <@@ Nullable<_> 4u ?-? Nullable<_> 1u @@>, box 3u + <@@ Nullable<_> 4L ?-? Nullable<_> 1L @@>, box 3L + <@@ Nullable<_> 4uL ?-? Nullable<_> 1uL @@>, box 3uL + <@@ Nullable<_> 4.0f ?-? Nullable<_> 1.0f @@>, box 3f + <@@ Nullable<_> 4.0 ?-? Nullable<_> 1.0 @@>, box 3. + <@@ Nullable<_> 4m ?-? Nullable<_> 1m @@>, box 3m + <@@ Nullable<_> 4m ?-? Nullable<_> 1m @@>, box 3m + <@@ Nullable<_> 4I ?-? Nullable<_> 1I @@>, box 3I + <@@ Nullable<_> '4' ?-? Nullable<_> '\001' @@>, box '3' + <@@ Nullable<_> LanguagePrimitives.GenericOne ?-? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?-? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un + + <@@ Nullable<_> 2y ?* 4y @@>, box 8y + <@@ Nullable<_> 2uy ?* 4uy @@>, box 8uy + <@@ Nullable<_> 2s ?* 4s @@>, box 8s + <@@ Nullable<_> 2us ?* 4us @@>, box 8us + <@@ Nullable<_> 2 ?* 4 @@>, box 8 + <@@ Nullable<_> 2u ?* 4u @@>, box 8u + <@@ Nullable<_> 2L ?* 4L @@>, box 8L + <@@ Nullable<_> 2uL ?* 4uL @@>, box 8uL + <@@ Nullable<_> 2.0f ?* 4.0f @@>, box 8f + <@@ Nullable<_> 2.0 ?* 4.0 @@>, box 8. + <@@ Nullable<_> 2m ?* 4m @@>, box 8m + <@@ Nullable<_> 2m ?* 4m @@>, box 8m + <@@ Nullable<_> 2I ?* 4I @@>, box 8I + <@@ Nullable<_> LanguagePrimitives.GenericOne ?* LanguagePrimitives.GenericOne @@>, box 1n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?* LanguagePrimitives.GenericOne @@>, box 1un + + <@@ 2y *? Nullable<_> 4y @@>, box 8y + <@@ 2uy *? Nullable<_> 4uy @@>, box 8uy + <@@ 2s *? Nullable<_> 4s @@>, box 8s + <@@ 2us *? Nullable<_> 4us @@>, box 8us + <@@ 2 *? Nullable<_> 4 @@>, box 8 + <@@ 2u *? Nullable<_> 4u @@>, box 8u + <@@ 2L *? Nullable<_> 4L @@>, box 8L + <@@ 2uL *? Nullable<_> 4uL @@>, box 8uL + <@@ 2.0f *? Nullable<_> 4.0f @@>, box 8f + <@@ 2.0 *? Nullable<_> 4.0 @@>, box 8. + <@@ 2m *? Nullable<_> 4m @@>, box 8m + <@@ 2m *? Nullable<_> 4m @@>, box 8m + <@@ 2I *? Nullable<_> 4I @@>, box 8I + <@@ LanguagePrimitives.GenericOne *? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n + <@@ LanguagePrimitives.GenericOne *? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un + + <@@ Nullable<_> 2y ?*? Nullable<_> 4y @@>, box 8y + <@@ Nullable<_> 2uy ?*? Nullable<_> 4uy @@>, box 8uy + <@@ Nullable<_> 2s ?*? Nullable<_> 4s @@>, box 8s + <@@ Nullable<_> 2us ?*? Nullable<_> 4us @@>, box 8us + <@@ Nullable<_> 2 ?*? Nullable<_> 4 @@>, box 8 + <@@ Nullable<_> 2u ?*? Nullable<_> 4u @@>, box 8u + <@@ Nullable<_> 2L ?*? Nullable<_> 4L @@>, box 8L + <@@ Nullable<_> 2uL ?*? Nullable<_> 4uL @@>, box 8uL + <@@ Nullable<_> 2.0f ?*? Nullable<_> 4.0f @@>, box 8f + <@@ Nullable<_> 2.0 ?*? Nullable<_> 4.0 @@>, box 8. + <@@ Nullable<_> 2m ?*? Nullable<_> 4m @@>, box 8m + <@@ Nullable<_> 2m ?*? Nullable<_> 4m @@>, box 8m + <@@ Nullable<_> 2I ?*? Nullable<_> 4I @@>, box 8I + <@@ Nullable<_> LanguagePrimitives.GenericOne ?*? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?*? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un + + <@@ Nullable<_> 6y ?/ 3y @@>, box 2y + <@@ Nullable<_> 6uy ?/ 3uy @@>, box 2uy + <@@ Nullable<_> 6s ?/ 3s @@>, box 2s + <@@ Nullable<_> 6us ?/ 3us @@>, box 2us + <@@ Nullable<_> 6 ?/ 3 @@>, box 2 + <@@ Nullable<_> 6u ?/ 3u @@>, box 2u + <@@ Nullable<_> 6L ?/ 3L @@>, box 2L + <@@ Nullable<_> 6uL ?/ 3uL @@>, box 2uL + <@@ Nullable<_> 6.0f ?/ 3.0f @@>, box 2f + <@@ Nullable<_> 6.0 ?/ 3.0 @@>, box 2. + <@@ Nullable<_> 6m ?/ 3m @@>, box 2m + <@@ Nullable<_> 6m ?/ 3m @@>, box 2m + <@@ Nullable<_> 6I ?/ 3I @@>, box 2I + <@@ Nullable<_> LanguagePrimitives.GenericOne ?/ LanguagePrimitives.GenericOne @@>, box 1n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?/ LanguagePrimitives.GenericOne @@>, box 1un + + <@@ 6y /? Nullable<_> 3y @@>, box 2y + <@@ 6uy /? Nullable<_> 3uy @@>, box 2uy + <@@ 6s /? Nullable<_> 3s @@>, box 2s + <@@ 6us /? Nullable<_> 3us @@>, box 2us + <@@ 6 /? Nullable<_> 3 @@>, box 2 + <@@ 6u /? Nullable<_> 3u @@>, box 2u + <@@ 6L /? Nullable<_> 3L @@>, box 2L + <@@ 6uL /? Nullable<_> 3uL @@>, box 2uL + <@@ 6.0f /? Nullable<_> 3.0f @@>, box 2f + <@@ 6.0 /? Nullable<_> 3.0 @@>, box 2. + <@@ 6m /? Nullable<_> 3m @@>, box 2m + <@@ 6m /? Nullable<_> 3m @@>, box 2m + <@@ 6I /? Nullable<_> 3I @@>, box 2I + <@@ LanguagePrimitives.GenericOne /? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n + <@@ LanguagePrimitives.GenericOne /? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un + + <@@ Nullable<_> 6y ?/? Nullable<_> 3y @@>, box 2y + <@@ Nullable<_> 6uy ?/? Nullable<_> 3uy @@>, box 2uy + <@@ Nullable<_> 6s ?/? Nullable<_> 3s @@>, box 2s + <@@ Nullable<_> 6us ?/? Nullable<_> 3us @@>, box 2us + <@@ Nullable<_> 6 ?/? Nullable<_> 3 @@>, box 2 + <@@ Nullable<_> 6u ?/? Nullable<_> 3u @@>, box 2u + <@@ Nullable<_> 6L ?/? Nullable<_> 3L @@>, box 2L + <@@ Nullable<_> 6uL ?/? Nullable<_> 3uL @@>, box 2uL + <@@ Nullable<_> 6.0f ?/? Nullable<_> 3.0f @@>, box 2f + <@@ Nullable<_> 6.0 ?/? Nullable<_> 3.0 @@>, box 2. + <@@ Nullable<_> 6m ?/? Nullable<_> 3m @@>, box 2m + <@@ Nullable<_> 6m ?/? Nullable<_> 3m @@>, box 2m + <@@ Nullable<_> 6I ?/? Nullable<_> 3I @@>, box 2I + <@@ Nullable<_> LanguagePrimitives.GenericOne ?/? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?/? Nullable<_> LanguagePrimitives.GenericOne @@>, box 1un + + <@@ Nullable<_> 9y ?% 4y @@>, box 1y + <@@ Nullable<_> 9uy ?% 4uy @@>, box 1uy + <@@ Nullable<_> 9s ?% 4s @@>, box 1s + <@@ Nullable<_> 9us ?% 4us @@>, box 1us + <@@ Nullable<_> 9 ?% 4 @@>, box 1 + <@@ Nullable<_> 9u ?% 4u @@>, box 1u + <@@ Nullable<_> 9L ?% 4L @@>, box 1L + <@@ Nullable<_> 9uL ?% 4uL @@>, box 1uL + <@@ Nullable<_> 9.0f ?% 4.0f @@>, box 1f + <@@ Nullable<_> 9.0 ?% 4.0 @@>, box 1. + <@@ Nullable<_> 9m ?% 4m @@>, box 1m + <@@ Nullable<_> 9m ?% 4m @@>, box 1m + <@@ Nullable<_> 9I ?% 4I @@>, box 1I + <@@ Nullable<_> LanguagePrimitives.GenericOne ?% LanguagePrimitives.GenericOne @@>, box 0n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?% LanguagePrimitives.GenericOne @@>, box 0un + + <@@ 9y %? Nullable<_> 4y @@>, box 1y + <@@ 9uy %? Nullable<_> 4uy @@>, box 1uy + <@@ 9s %? Nullable<_> 4s @@>, box 1s + <@@ 9us %? Nullable<_> 4us @@>, box 1us + <@@ 9 %? Nullable<_> 4 @@>, box 1 + <@@ 9u %? Nullable<_> 4u @@>, box 1u + <@@ 9L %? Nullable<_> 4L @@>, box 1L + <@@ 9uL %? Nullable<_> 4uL @@>, box 1uL + <@@ 9.0f %? Nullable<_> 4.0f @@>, box 1f + <@@ 9.0 %? Nullable<_> 4.0 @@>, box 1. + <@@ 9m %? Nullable<_> 4m @@>, box 1m + <@@ 9m %? Nullable<_> 4m @@>, box 1m + <@@ 9I %? Nullable<_> 4I @@>, box 1I + <@@ LanguagePrimitives.GenericOne %? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n + <@@ LanguagePrimitives.GenericOne %? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un + + <@@ Nullable<_> 9y ?%? Nullable<_> 4y @@>, box 1y + <@@ Nullable<_> 9uy ?%? Nullable<_> 4uy @@>, box 1uy + <@@ Nullable<_> 9s ?%? Nullable<_> 4s @@>, box 1s + <@@ Nullable<_> 9us ?%? Nullable<_> 4us @@>, box 1us + <@@ Nullable<_> 9 ?%? Nullable<_> 4 @@>, box 1 + <@@ Nullable<_> 9u ?%? Nullable<_> 4u @@>, box 1u + <@@ Nullable<_> 9L ?%? Nullable<_> 4L @@>, box 1L + <@@ Nullable<_> 9uL ?%? Nullable<_> 4uL @@>, box 1uL + <@@ Nullable<_> 9.0f ?%? Nullable<_> 4.0f @@>, box 1f + <@@ Nullable<_> 9.0 ?%? Nullable<_> 4.0 @@>, box 1. + <@@ Nullable<_> 9m ?%? Nullable<_> 4m @@>, box 1m + <@@ Nullable<_> 9m ?%? Nullable<_> 4m @@>, box 1m + <@@ Nullable<_> 9I ?%? Nullable<_> 4I @@>, box 1I + <@@ Nullable<_> LanguagePrimitives.GenericOne ?%? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0n + <@@ Nullable<_> LanguagePrimitives.GenericOne ?%? Nullable<_> LanguagePrimitives.GenericOne @@>, box 0un + + <@@ NonStructuralComparison.(=) 3y 3y @@>, box true + <@@ NonStructuralComparison.(=) 3uy 3uy @@>, box true + <@@ NonStructuralComparison.(=) 3s 3s @@>, box true + <@@ NonStructuralComparison.(=) 3us 3us @@>, box true + <@@ NonStructuralComparison.(=) 3 3 @@>, box true + <@@ NonStructuralComparison.(=) 3u 3u @@>, box true + <@@ NonStructuralComparison.(=) 3L 3L @@>, box true + <@@ NonStructuralComparison.(=) 3UL 3UL @@>, box true + <@@ NonStructuralComparison.(=) '3' '3' @@>, box true + <@@ NonStructuralComparison.(=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true + <@@ NonStructuralComparison.(=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true + <@@ NonStructuralComparison.(=) 3f 3f @@>, box true + <@@ NonStructuralComparison.(=) 3. 3. @@>, box true + <@@ NonStructuralComparison.(=) 3m 3m @@>, box true + <@@ NonStructuralComparison.(=) 3m 3m @@>, box true + <@@ NonStructuralComparison.(=) 3I 3I @@>, box true + <@@ NonStructuralComparison.(=) "3" "3" @@>, box true + + <@@ NonStructuralComparison.(<>) 3y 3y @@>, box false + <@@ NonStructuralComparison.(<>) 3uy 3uy @@>, box false + <@@ NonStructuralComparison.(<>) 3s 3s @@>, box false + <@@ NonStructuralComparison.(<>) 3us 3us @@>, box false + <@@ NonStructuralComparison.(<>) 3 3 @@>, box false + <@@ NonStructuralComparison.(<>) 3u 3u @@>, box false + <@@ NonStructuralComparison.(<>) 3L 3L @@>, box false + <@@ NonStructuralComparison.(<>) 3UL 3UL @@>, box false + <@@ NonStructuralComparison.(<>) '3' '3' @@>, box false + <@@ NonStructuralComparison.(<>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ NonStructuralComparison.(<>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ NonStructuralComparison.(<>) 3f 3f @@>, box false + <@@ NonStructuralComparison.(<>) 3. 3. @@>, box false + <@@ NonStructuralComparison.(<>) 3m 3m @@>, box false + <@@ NonStructuralComparison.(<>) 3m 3m @@>, box false + <@@ NonStructuralComparison.(<>) 3I 3I @@>, box false + <@@ NonStructuralComparison.(<>) "3" "3" @@>, box false + + <@@ NonStructuralComparison.(<=) 3y 3y @@>, box true + <@@ NonStructuralComparison.(<=) 3uy 3uy @@>, box true + <@@ NonStructuralComparison.(<=) 3s 3s @@>, box true + <@@ NonStructuralComparison.(<=) 3us 3us @@>, box true + <@@ NonStructuralComparison.(<=) 3 3 @@>, box true + <@@ NonStructuralComparison.(<=) 3u 3u @@>, box true + <@@ NonStructuralComparison.(<=) 3L 3L @@>, box true + <@@ NonStructuralComparison.(<=) 3UL 3UL @@>, box true + <@@ NonStructuralComparison.(<=) '3' '3' @@>, box true + <@@ NonStructuralComparison.(<=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true + <@@ NonStructuralComparison.(<=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true + <@@ NonStructuralComparison.(<=) 3f 3f @@>, box true + <@@ NonStructuralComparison.(<=) 3. 3. @@>, box true + <@@ NonStructuralComparison.(<=) 3m 3m @@>, box true + <@@ NonStructuralComparison.(<=) 3m 3m @@>, box true + <@@ NonStructuralComparison.(<=) 3I 3I @@>, box true + <@@ NonStructuralComparison.(<=) "3" "3" @@>, box true + + <@@ NonStructuralComparison.(<) 3y 3y @@>, box false + <@@ NonStructuralComparison.(<) 3uy 3uy @@>, box false + <@@ NonStructuralComparison.(<) 3s 3s @@>, box false + <@@ NonStructuralComparison.(<) 3us 3us @@>, box false + <@@ NonStructuralComparison.(<) 3 3 @@>, box false + <@@ NonStructuralComparison.(<) 3u 3u @@>, box false + <@@ NonStructuralComparison.(<) 3L 3L @@>, box false + <@@ NonStructuralComparison.(<) 3UL 3UL @@>, box false + <@@ NonStructuralComparison.(<) '3' '3' @@>, box false + <@@ NonStructuralComparison.(<) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ NonStructuralComparison.(<) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ NonStructuralComparison.(<) 3f 3f @@>, box false + <@@ NonStructuralComparison.(<) 3. 3. @@>, box false + <@@ NonStructuralComparison.(<) 3m 3m @@>, box false + <@@ NonStructuralComparison.(<) 3m 3m @@>, box false + <@@ NonStructuralComparison.(<) 3I 3I @@>, box false + <@@ NonStructuralComparison.(<) "3" "3" @@>, box false + + <@@ NonStructuralComparison.(>=) 3y 3y @@>, box true + <@@ NonStructuralComparison.(>=) 3uy 3uy @@>, box true + <@@ NonStructuralComparison.(>=) 3s 3s @@>, box true + <@@ NonStructuralComparison.(>=) 3us 3us @@>, box true + <@@ NonStructuralComparison.(>=) 3 3 @@>, box true + <@@ NonStructuralComparison.(>=) 3u 3u @@>, box true + <@@ NonStructuralComparison.(>=) 3L 3L @@>, box true + <@@ NonStructuralComparison.(>=) 3UL 3UL @@>, box true + <@@ NonStructuralComparison.(>=) '3' '3' @@>, box true + <@@ NonStructuralComparison.(>=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true + <@@ NonStructuralComparison.(>=) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box true + <@@ NonStructuralComparison.(>=) 3f 3f @@>, box true + <@@ NonStructuralComparison.(>=) 3. 3. @@>, box true + <@@ NonStructuralComparison.(>=) 3m 3m @@>, box true + <@@ NonStructuralComparison.(>=) 3m 3m @@>, box true + <@@ NonStructuralComparison.(>=) 3I 3I @@>, box true + <@@ NonStructuralComparison.(>=) "3" "3" @@>, box true + + <@@ NonStructuralComparison.(>) 3y 3y @@>, box false + <@@ NonStructuralComparison.(>) 3uy 3uy @@>, box false + <@@ NonStructuralComparison.(>) 3s 3s @@>, box false + <@@ NonStructuralComparison.(>) 3us 3us @@>, box false + <@@ NonStructuralComparison.(>) 3 3 @@>, box false + <@@ NonStructuralComparison.(>) 3u 3u @@>, box false + <@@ NonStructuralComparison.(>) 3L 3L @@>, box false + <@@ NonStructuralComparison.(>) 3UL 3UL @@>, box false + <@@ NonStructuralComparison.(>) '3' '3' @@>, box false + <@@ NonStructuralComparison.(>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ NonStructuralComparison.(>) LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ NonStructuralComparison.(>) 3f 3f @@>, box false + <@@ NonStructuralComparison.(>) 3. 3. @@>, box false + <@@ NonStructuralComparison.(>) 3m 3m @@>, box false + <@@ NonStructuralComparison.(>) 3m 3m @@>, box false + <@@ NonStructuralComparison.(>) 3I 3I @@>, box false + <@@ NonStructuralComparison.(>) "3" "3" @@>, box false + |] + + tests |> Array.map (fun (test, eval) -> + begin + printfn "--> Checking we can evaluate %A" test + let res = FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation test + let b = res = eval + if b then printfn "--- Success, it is %A which is equal to %A" res eval + else printfn "!!! FAILURE, it is %A which is not equal to %A" res eval + b + end + && + match test with + | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> + minfo1.IsStatic && + minfo2.IsStatic && + minfo2.Name = minfo1.Name + "$W" && + (* + (printfn "checking minfo2.GetParameters().Length = %d..." (minfo2.GetParameters().Length); true) && + minfo2.GetParameters().Length = 3 && + (printfn "checking witnessArgs.Length..."; true) && + witnessArgs.Length = 1 && + (printfn "checking args.Length..."; true) && + args.Length = 2 && + (printfn "witnessArgs..."; true) && + (match witnessArgs with [ Lambda _ ] -> true | _ -> false) && + (printfn "args..."; true) && + (match args with [ _; _ ] -> true | _ -> false) + *) + (printfn "<-- Successfully checked with Quotations.Patterns.(|CallWithWitnesses|_|)"; true) + || (printfn "<-- FAILURE, failed after matching with Quotations.Patterns.(|CallWithWitnesses|_|)"; true) + | _ -> + printfn " Array.forall id) // Don't short circuit on a failed test + + test "check non-CallWithWitnesses operators" + (let tests = [| + <@@ LanguagePrimitives.PhysicalEquality [|3|] [|3|] @@>, box false + <@@ let x = [|3|] in LanguagePrimitives.PhysicalEquality x x @@>, box true + <@@ LanguagePrimitives.PhysicalEquality (seq { 3 }) (seq { 3 }) @@>, box false + <@@ let x = seq { 3 } in LanguagePrimitives.PhysicalEquality x x @@>, box true + <@@ LanguagePrimitives.PhysicalEquality (obj()) (obj()) @@>, box false + <@@ let x = obj() in LanguagePrimitives.PhysicalEquality x x @@>, box true + + <@@ 3y = 3y @@>, box true + <@@ 3uy = 3uy @@>, box true + <@@ 3s = 3s @@>, box true + <@@ 3us = 3us @@>, box true + <@@ 3 = 3 @@>, box true + <@@ 3u = 3u @@>, box true + <@@ 3L = 3L @@>, box true + <@@ 3UL = 3UL @@>, box true + <@@ '3' = '3' @@>, box true + <@@ LanguagePrimitives.GenericOne = LanguagePrimitives.GenericOne @@>, box true + <@@ LanguagePrimitives.GenericOne = LanguagePrimitives.GenericOne @@>, box true + <@@ 3f = 3f @@>, box true + <@@ 3. = 3. @@>, box true + <@@ 3m = 3m @@>, box true + <@@ 3m = 3m @@>, box true + <@@ 3I = 3I @@>, box true + <@@ "3" = "3" @@>, box true + <@@ [3] = [3] @@>, box true + <@@ [|3|] = [|3|] @@>, box true + <@@ seq { 3 } = seq { 3 } @@>, box false // Reference equality + <@@ let x = seq { 3 } in x = x @@>, box true + <@@ obj() = obj() @@>, box false + <@@ let x = obj() in x = x @@>, box true + + <@@ 3y <> 3y @@>, box false + <@@ 3uy <> 3uy @@>, box false + <@@ 3s <> 3s @@>, box false + <@@ 3us <> 3us @@>, box false + <@@ 3 <> 3 @@>, box false + <@@ 3u <> 3u @@>, box false + <@@ 3L <> 3L @@>, box false + <@@ 3UL <> 3UL @@>, box false + <@@ '3' <> '3' @@>, box false + <@@ LanguagePrimitives.GenericOne <> LanguagePrimitives.GenericOne @@>, box false + <@@ LanguagePrimitives.GenericOne <> LanguagePrimitives.GenericOne @@>, box false + <@@ 3f <> 3f @@>, box false + <@@ 3. <> 3. @@>, box false + <@@ 3m <> 3m @@>, box false + <@@ 3m <> 3m @@>, box false + <@@ 3I <> 3I @@>, box false + <@@ "3" <> "3" @@>, box false + <@@ [3] <> [3] @@>, box false + <@@ [|3|] <> [|3|] @@>, box false + <@@ seq { 3 } <> seq { 3 } @@>, box true // Reference equality + <@@ let x = seq { 3 } in x <> x @@>, box false + <@@ obj() <> obj() @@>, box true + <@@ let x = obj() in x <> x @@>, box false + + <@@ 3y <= 3y @@>, box true + <@@ 3uy <= 3uy @@>, box true + <@@ 3s <= 3s @@>, box true + <@@ 3us <= 3us @@>, box true + <@@ 3 <= 3 @@>, box true + <@@ 3u <= 3u @@>, box true + <@@ 3L <= 3L @@>, box true + <@@ 3UL <= 3UL @@>, box true + <@@ '3' <= '3' @@>, box true + <@@ LanguagePrimitives.GenericOne <= LanguagePrimitives.GenericOne @@>, box true + <@@ LanguagePrimitives.GenericOne <= LanguagePrimitives.GenericOne @@>, box true + <@@ 3f <= 3f @@>, box true + <@@ 3. <= 3. @@>, box true + <@@ 3m <= 3m @@>, box true + <@@ 3m <= 3m @@>, box true + <@@ 3I <= 3I @@>, box true + <@@ "3" <= "3" @@>, box true + <@@ [3] <= [3] @@>, box true + <@@ [|3|] <= [|3|] @@>, box true + + <@@ 3y < 3y @@>, box false + <@@ 3uy < 3uy @@>, box false + <@@ 3s < 3s @@>, box false + <@@ 3us < 3us @@>, box false + <@@ 3 < 3 @@>, box false + <@@ 3u < 3u @@>, box false + <@@ 3L < 3L @@>, box false + <@@ 3UL < 3UL @@>, box false + <@@ '3' < '3' @@>, box false + <@@ LanguagePrimitives.GenericOne < LanguagePrimitives.GenericOne @@>, box false + <@@ LanguagePrimitives.GenericOne < LanguagePrimitives.GenericOne @@>, box false + <@@ 3f < 3f @@>, box false + <@@ 3. < 3. @@>, box false + <@@ 3m < 3m @@>, box false + <@@ 3m < 3m @@>, box false + <@@ 3I < 3I @@>, box false + <@@ "3" < "3" @@>, box false + <@@ [3] < [3] @@>, box false + <@@ [|3|] < [|3|] @@>, box false + + <@@ 3y >= 3y @@>, box true + <@@ 3uy >= 3uy @@>, box true + <@@ 3s >= 3s @@>, box true + <@@ 3us >= 3us @@>, box true + <@@ 3 >= 3 @@>, box true + <@@ 3u >= 3u @@>, box true + <@@ 3L >= 3L @@>, box true + <@@ 3UL >= 3UL @@>, box true + <@@ '3' >= '3' @@>, box true + <@@ LanguagePrimitives.GenericOne >= LanguagePrimitives.GenericOne @@>, box true + <@@ LanguagePrimitives.GenericOne >= LanguagePrimitives.GenericOne @@>, box true + <@@ 3f >= 3f @@>, box true + <@@ 3. >= 3. @@>, box true + <@@ 3m >= 3m @@>, box true + <@@ 3m >= 3m @@>, box true + <@@ 3I >= 3I @@>, box true + <@@ "3" >= "3" @@>, box true + <@@ [3] >= [3] @@>, box true + <@@ [|3|] >= [|3|] @@>, box true + + <@@ 3y > 3y @@>, box false + <@@ 3uy > 3uy @@>, box false + <@@ 3s > 3s @@>, box false + <@@ 3us > 3us @@>, box false + <@@ 3 > 3 @@>, box false + <@@ 3u > 3u @@>, box false + <@@ 3L > 3L @@>, box false + <@@ 3UL > 3UL @@>, box false + <@@ '3' > '3' @@>, box false + <@@ LanguagePrimitives.GenericOne > LanguagePrimitives.GenericOne @@>, box false + <@@ LanguagePrimitives.GenericOne > LanguagePrimitives.GenericOne @@>, box false + <@@ 3f > 3f @@>, box false + <@@ 3. > 3. @@>, box false + <@@ 3m > 3m @@>, box false + <@@ 3m > 3m @@>, box false + <@@ 3I > 3I @@>, box false + <@@ "3" > "3" @@>, box false + <@@ [3] > [3] @@>, box false + <@@ [|3|] > [|3|] @@>, box false + + <@@ Nullable<_> 1y ?= 1y @@>, box true + <@@ Nullable<_> 1uy ?= 1uy @@>, box true + <@@ Nullable<_> 1s ?= 1s @@>, box true + <@@ Nullable<_> 1us ?= 1us @@>, box true + <@@ Nullable<_> 1 ?= 1 @@>, box true + <@@ Nullable<_> 1u ?= 1u @@>, box true + <@@ Nullable<_> 1L ?= 1L @@>, box true + <@@ Nullable<_> 1uL ?= 1uL @@>, box true + <@@ Nullable<_> 1.0f ?= 1.0f @@>, box true + <@@ Nullable<_> 1.0 ?= 1.0 @@>, box true + <@@ Nullable<_> 1m ?= 1m @@>, box true + <@@ Nullable<_> 1m ?= 1m @@>, box true + <@@ Nullable<_> 1I ?= 1I @@>, box true + <@@ Nullable<_> '1' ?= '1' @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?= LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?= LanguagePrimitives.GenericOne @@>, box true + + <@@ 1y =? Nullable<_> 1y @@>, box true + <@@ 1uy =? Nullable<_> 1uy @@>, box true + <@@ 1s =? Nullable<_> 1s @@>, box true + <@@ 1us =? Nullable<_> 1us @@>, box true + <@@ 1 =? Nullable<_> 1 @@>, box true + <@@ 1u =? Nullable<_> 1u @@>, box true + <@@ 1L =? Nullable<_> 1L @@>, box true + <@@ 1uL =? Nullable<_> 1uL @@>, box true + <@@ 1.0f =? Nullable<_> 1.0f @@>, box true + <@@ 1.0 =? Nullable<_> 1.0 @@>, box true + <@@ 1m =? Nullable<_> 1m @@>, box true + <@@ 1m =? Nullable<_> 1m @@>, box true + <@@ 1I =? Nullable<_> 1I @@>, box true + <@@ '1' =? Nullable<_> '1' @@>, box true + <@@ LanguagePrimitives.GenericOne =? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ LanguagePrimitives.GenericOne =? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + + <@@ Nullable<_> 1y ?=? Nullable<_> 1y @@>, box true + <@@ Nullable<_> 1uy ?=? Nullable<_> 1uy @@>, box true + <@@ Nullable<_> 1s ?=? Nullable<_> 1s @@>, box true + <@@ Nullable<_> 1us ?=? Nullable<_> 1us @@>, box true + <@@ Nullable<_> 1 ?=? Nullable<_> 1 @@>, box true + <@@ Nullable<_> 1u ?=? Nullable<_> 1u @@>, box true + <@@ Nullable<_> 1L ?=? Nullable<_> 1L @@>, box true + <@@ Nullable<_> 1uL ?=? Nullable<_> 1uL @@>, box true + <@@ Nullable<_> 1.0f ?=? Nullable<_> 1.0f @@>, box true + <@@ Nullable<_> 1.0 ?=? Nullable<_> 1.0 @@>, box true + <@@ Nullable<_> 1m ?=? Nullable<_> 1m @@>, box true + <@@ Nullable<_> 1m ?=? Nullable<_> 1m @@>, box true + <@@ Nullable<_> 1I ?=? Nullable<_> 1I @@>, box true + <@@ Nullable<_> '1' ?=? Nullable<_> '1' @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + + <@@ Nullable<_> 3y ?<> 3y @@>, box false + <@@ Nullable<_> 3uy ?<> 3uy @@>, box false + <@@ Nullable<_> 3s ?<> 3s @@>, box false + <@@ Nullable<_> 3us ?<> 3us @@>, box false + <@@ Nullable<_> 3 ?<> 3 @@>, box false + <@@ Nullable<_> 3u ?<> 3u @@>, box false + <@@ Nullable<_> 3L ?<> 3L @@>, box false + <@@ Nullable<_> 3UL ?<> 3UL @@>, box false + <@@ Nullable<_> '3' ?<> '3' @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> 3f ?<> 3f @@>, box false + <@@ Nullable<_> 3. ?<> 3. @@>, box false + <@@ Nullable<_> 3m ?<> 3m @@>, box false + <@@ Nullable<_> 3m ?<> 3m @@>, box false + <@@ Nullable<_> 3I ?<> 3I @@>, box false + + <@@ 3y <>? Nullable<_> 3y @@>, box false + <@@ 3uy <>? Nullable<_> 3uy @@>, box false + <@@ 3s <>? Nullable<_> 3s @@>, box false + <@@ 3us <>? Nullable<_> 3us @@>, box false + <@@ 3 <>? Nullable<_> 3 @@>, box false + <@@ 3u <>? Nullable<_> 3u @@>, box false + <@@ 3L <>? Nullable<_> 3L @@>, box false + <@@ 3UL <>? Nullable<_> 3UL @@>, box false + <@@ '3' <>? Nullable<_> '3' @@>, box false + <@@ LanguagePrimitives.GenericOne <>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ LanguagePrimitives.GenericOne <>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ 3f <>? Nullable<_> 3f @@>, box false + <@@ 3. <>? Nullable<_> 3. @@>, box false + <@@ 3m <>? Nullable<_> 3m @@>, box false + <@@ 3m <>? Nullable<_> 3m @@>, box false + <@@ 3I <>? Nullable<_> 3I @@>, box false + + <@@ Nullable<_> 3y ?<>? Nullable<_> 3y @@>, box false + <@@ Nullable<_> 3uy ?<>? Nullable<_> 3uy @@>, box false + <@@ Nullable<_> 3s ?<>? Nullable<_> 3s @@>, box false + <@@ Nullable<_> 3us ?<>? Nullable<_> 3us @@>, box false + <@@ Nullable<_> 3 ?<>? Nullable<_> 3 @@>, box false + <@@ Nullable<_> 3u ?<>? Nullable<_> 3u @@>, box false + <@@ Nullable<_> 3L ?<>? Nullable<_> 3L @@>, box false + <@@ Nullable<_> 3UL ?<>? Nullable<_> 3UL @@>, box false + <@@ Nullable<_> '3' ?<>? Nullable<_> '3' @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> 3f ?<>? Nullable<_> 3f @@>, box false + <@@ Nullable<_> 3. ?<>? Nullable<_> 3. @@>, box false + <@@ Nullable<_> 3m ?<>? Nullable<_> 3m @@>, box false + <@@ Nullable<_> 3m ?<>? Nullable<_> 3m @@>, box false + <@@ Nullable<_> 3I ?<>? Nullable<_> 3I @@>, box false + + <@@ Nullable<_> 3y ?<= 3y @@>, box true + <@@ Nullable<_> 3uy ?<= 3uy @@>, box true + <@@ Nullable<_> 3s ?<= 3s @@>, box true + <@@ Nullable<_> 3us ?<= 3us @@>, box true + <@@ Nullable<_> 3 ?<= 3 @@>, box true + <@@ Nullable<_> 3u ?<= 3u @@>, box true + <@@ Nullable<_> 3L ?<= 3L @@>, box true + <@@ Nullable<_> 3UL ?<= 3UL @@>, box true + <@@ Nullable<_> '3' ?<= '3' @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<= LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<= LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> 3f ?<= 3f @@>, box true + <@@ Nullable<_> 3. ?<= 3. @@>, box true + <@@ Nullable<_> 3m ?<= 3m @@>, box true + <@@ Nullable<_> 3m ?<= 3m @@>, box true + <@@ Nullable<_> 3I ?<= 3I @@>, box true + + <@@ 3y <=? Nullable<_> 3y @@>, box true + <@@ 3uy <=? Nullable<_> 3uy @@>, box true + <@@ 3s <=? Nullable<_> 3s @@>, box true + <@@ 3us <=? Nullable<_> 3us @@>, box true + <@@ 3 <=? Nullable<_> 3 @@>, box true + <@@ 3u <=? Nullable<_> 3u @@>, box true + <@@ 3L <=? Nullable<_> 3L @@>, box true + <@@ 3UL <=? Nullable<_> 3UL @@>, box true + <@@ '3' <=? Nullable<_> '3' @@>, box true + <@@ LanguagePrimitives.GenericOne <=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ LanguagePrimitives.GenericOne <=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ 3f <=? Nullable<_> 3f @@>, box true + <@@ 3. <=? Nullable<_> 3. @@>, box true + <@@ 3m <=? Nullable<_> 3m @@>, box true + <@@ 3m <=? Nullable<_> 3m @@>, box true + <@@ 3I <=? Nullable<_> 3I @@>, box true + + <@@ Nullable<_> 3y ?<=? Nullable<_> 3y @@>, box true + <@@ Nullable<_> 3uy ?<=? Nullable<_> 3uy @@>, box true + <@@ Nullable<_> 3s ?<=? Nullable<_> 3s @@>, box true + <@@ Nullable<_> 3us ?<=? Nullable<_> 3us @@>, box true + <@@ Nullable<_> 3 ?<=? Nullable<_> 3 @@>, box true + <@@ Nullable<_> 3u ?<=? Nullable<_> 3u @@>, box true + <@@ Nullable<_> 3L ?<=? Nullable<_> 3L @@>, box true + <@@ Nullable<_> 3UL ?<=? Nullable<_> 3UL @@>, box true + <@@ Nullable<_> '3' ?<=? Nullable<_> '3' @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?<=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> 3f ?<=? Nullable<_> 3f @@>, box true + <@@ Nullable<_> 3. ?<=? Nullable<_> 3. @@>, box true + <@@ Nullable<_> 3m ?<=? Nullable<_> 3m @@>, box true + <@@ Nullable<_> 3m ?<=? Nullable<_> 3m @@>, box true + <@@ Nullable<_> 3I ?<=? Nullable<_> 3I @@>, box true + + <@@ Nullable<_> 3y ?< 3y @@>, box false + <@@ Nullable<_> 3uy ?< 3uy @@>, box false + <@@ Nullable<_> 3s ?< 3s @@>, box false + <@@ Nullable<_> 3us ?< 3us @@>, box false + <@@ Nullable<_> 3 ?< 3 @@>, box false + <@@ Nullable<_> 3u ?< 3u @@>, box false + <@@ Nullable<_> 3L ?< 3L @@>, box false + <@@ Nullable<_> 3UL ?< 3UL @@>, box false + <@@ Nullable<_> '3' ?< '3' @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?< LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?< LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> 3f ?< 3f @@>, box false + <@@ Nullable<_> 3. ?< 3. @@>, box false + <@@ Nullable<_> 3m ?< 3m @@>, box false + <@@ Nullable<_> 3m ?< 3m @@>, box false + <@@ Nullable<_> 3I ?< 3I @@>, box false + + <@@ 3y 3y @@>, box false + <@@ 3uy 3uy @@>, box false + <@@ 3s 3s @@>, box false + <@@ 3us 3us @@>, box false + <@@ 3 3 @@>, box false + <@@ 3u 3u @@>, box false + <@@ 3L 3L @@>, box false + <@@ 3UL 3UL @@>, box false + <@@ '3' '3' @@>, box false + <@@ LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ LanguagePrimitives.GenericOne LanguagePrimitives.GenericOne @@>, box false + <@@ 3f 3f @@>, box false + <@@ 3. 3. @@>, box false + <@@ 3m 3m @@>, box false + <@@ 3m 3m @@>, box false + <@@ 3I 3I @@>, box false + + <@@ Nullable<_> 3y ? 3y @@>, box false + <@@ Nullable<_> 3uy ? 3uy @@>, box false + <@@ Nullable<_> 3s ? 3s @@>, box false + <@@ Nullable<_> 3us ? 3us @@>, box false + <@@ Nullable<_> 3 ? 3 @@>, box false + <@@ Nullable<_> 3u ? 3u @@>, box false + <@@ Nullable<_> 3L ? 3L @@>, box false + <@@ Nullable<_> 3UL ? 3UL @@>, box false + <@@ Nullable<_> '3' ? '3' @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ? LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ? LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> 3f ? 3f @@>, box false + <@@ Nullable<_> 3. ? 3. @@>, box false + <@@ Nullable<_> 3m ? 3m @@>, box false + <@@ Nullable<_> 3m ? 3m @@>, box false + <@@ Nullable<_> 3I ? 3I @@>, box false + + <@@ Nullable<_> 3y ?>= 3y @@>, box true + <@@ Nullable<_> 3uy ?>= 3uy @@>, box true + <@@ Nullable<_> 3s ?>= 3s @@>, box true + <@@ Nullable<_> 3us ?>= 3us @@>, box true + <@@ Nullable<_> 3 ?>= 3 @@>, box true + <@@ Nullable<_> 3u ?>= 3u @@>, box true + <@@ Nullable<_> 3L ?>= 3L @@>, box true + <@@ Nullable<_> 3UL ?>= 3UL @@>, box true + <@@ Nullable<_> '3' ?>= '3' @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?>= LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?>= LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> 3f ?>= 3f @@>, box true + <@@ Nullable<_> 3. ?>= 3. @@>, box true + <@@ Nullable<_> 3m ?>= 3m @@>, box true + <@@ Nullable<_> 3m ?>= 3m @@>, box true + <@@ Nullable<_> 3I ?>= 3I @@>, box true + + <@@ 3y >=? Nullable<_> 3y @@>, box true + <@@ 3uy >=? Nullable<_> 3uy @@>, box true + <@@ 3s >=? Nullable<_> 3s @@>, box true + <@@ 3us >=? Nullable<_> 3us @@>, box true + <@@ 3 >=? Nullable<_> 3 @@>, box true + <@@ 3u >=? Nullable<_> 3u @@>, box true + <@@ 3L >=? Nullable<_> 3L @@>, box true + <@@ 3UL >=? Nullable<_> 3UL @@>, box true + <@@ '3' >=? Nullable<_> '3' @@>, box true + <@@ LanguagePrimitives.GenericOne >=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ LanguagePrimitives.GenericOne >=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ 3f >=? Nullable<_> 3f @@>, box true + <@@ 3. >=? Nullable<_> 3. @@>, box true + <@@ 3m >=? Nullable<_> 3m @@>, box true + <@@ 3m >=? Nullable<_> 3m @@>, box true + <@@ 3I >=? Nullable<_> 3I @@>, box true + + <@@ Nullable<_> 3y ?>=? Nullable<_> 3y @@>, box true + <@@ Nullable<_> 3uy ?>=? Nullable<_> 3uy @@>, box true + <@@ Nullable<_> 3s ?>=? Nullable<_> 3s @@>, box true + <@@ Nullable<_> 3us ?>=? Nullable<_> 3us @@>, box true + <@@ Nullable<_> 3 ?>=? Nullable<_> 3 @@>, box true + <@@ Nullable<_> 3u ?>=? Nullable<_> 3u @@>, box true + <@@ Nullable<_> 3L ?>=? Nullable<_> 3L @@>, box true + <@@ Nullable<_> 3UL ?>=? Nullable<_> 3UL @@>, box true + <@@ Nullable<_> '3' ?>=? Nullable<_> '3' @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?>=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> LanguagePrimitives.GenericOne ?>=? Nullable<_> LanguagePrimitives.GenericOne @@>, box true + <@@ Nullable<_> 3f ?>=? Nullable<_> 3f @@>, box true + <@@ Nullable<_> 3. ?>=? Nullable<_> 3. @@>, box true + <@@ Nullable<_> 3m ?>=? Nullable<_> 3m @@>, box true + <@@ Nullable<_> 3m ?>=? Nullable<_> 3m @@>, box true + <@@ Nullable<_> 3I ?>=? Nullable<_> 3I @@>, box true + + <@@ Nullable<_> 3y ?> 3y @@>, box false + <@@ Nullable<_> 3uy ?> 3uy @@>, box false + <@@ Nullable<_> 3s ?> 3s @@>, box false + <@@ Nullable<_> 3us ?> 3us @@>, box false + <@@ Nullable<_> 3 ?> 3 @@>, box false + <@@ Nullable<_> 3u ?> 3u @@>, box false + <@@ Nullable<_> 3L ?> 3L @@>, box false + <@@ Nullable<_> 3UL ?> 3UL @@>, box false + <@@ Nullable<_> '3' ?> '3' @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> 3f ?> 3f @@>, box false + <@@ Nullable<_> 3. ?> 3. @@>, box false + <@@ Nullable<_> 3m ?> 3m @@>, box false + <@@ Nullable<_> 3m ?> 3m @@>, box false + <@@ Nullable<_> 3I ?> 3I @@>, box false + + <@@ 3y >? Nullable<_> 3y @@>, box false + <@@ 3uy >? Nullable<_> 3uy @@>, box false + <@@ 3s >? Nullable<_> 3s @@>, box false + <@@ 3us >? Nullable<_> 3us @@>, box false + <@@ 3 >? Nullable<_> 3 @@>, box false + <@@ 3u >? Nullable<_> 3u @@>, box false + <@@ 3L >? Nullable<_> 3L @@>, box false + <@@ 3UL >? Nullable<_> 3UL @@>, box false + <@@ '3' >? Nullable<_> '3' @@>, box false + <@@ LanguagePrimitives.GenericOne >? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ LanguagePrimitives.GenericOne >? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ 3f >? Nullable<_> 3f @@>, box false + <@@ 3. >? Nullable<_> 3. @@>, box false + <@@ 3m >? Nullable<_> 3m @@>, box false + <@@ 3m >? Nullable<_> 3m @@>, box false + <@@ 3I >? Nullable<_> 3I @@>, box false + + <@@ Nullable<_> 3y ?>? Nullable<_> 3y @@>, box false + <@@ Nullable<_> 3uy ?>? Nullable<_> 3uy @@>, box false + <@@ Nullable<_> 3s ?>? Nullable<_> 3s @@>, box false + <@@ Nullable<_> 3us ?>? Nullable<_> 3us @@>, box false + <@@ Nullable<_> 3 ?>? Nullable<_> 3 @@>, box false + <@@ Nullable<_> 3u ?>? Nullable<_> 3u @@>, box false + <@@ Nullable<_> 3L ?>? Nullable<_> 3L @@>, box false + <@@ Nullable<_> 3UL ?>? Nullable<_> 3UL @@>, box false + <@@ Nullable<_> '3' ?>? Nullable<_> '3' @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> LanguagePrimitives.GenericOne ?>? Nullable<_> LanguagePrimitives.GenericOne @@>, box false + <@@ Nullable<_> 3f ?>? Nullable<_> 3f @@>, box false + <@@ Nullable<_> 3. ?>? Nullable<_> 3. @@>, box false + <@@ Nullable<_> 3m ?>? Nullable<_> 3m @@>, box false + <@@ Nullable<_> 3m ?>? Nullable<_> 3m @@>, box false + <@@ Nullable<_> 3I ?>? Nullable<_> 3I @@>, box false + |] + + tests |> Array.map (fun (test, eval) -> + begin + printfn "--> Checking we can evaluate %A" test + let res = FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation test + let b = res = eval + if b then printfn "--- Success, it is %A which is equal to %A" res eval + else printfn "!!! FAILURE, it is %A which is not equal to %A" res eval + b + end + && + match test with + | CallWithWitnesses(None, minfo1, minfo2, witnessArgs, args) -> + printfn " + printfn "<-- Success, it did not match Quotations.Patterns.(|CallWithWitnesses|_|)" + true) |> Array.forall id) // Don't short circuit on a failed test +module MoreWitnessTests = + + open System.Runtime.CompilerServices + open System.IO + + [] + module Tests = + let inline f0 (x: 'T) : (unit -> 'T) list = + [] + + let inline f (x: 'T) : (unit -> 'T) list = + [(fun () -> x + x)] + + type C() = + member inline __.F(x: 'T) = x + x + + [] + module M = + + type C with + member inline __.F2(x: 'T) = x + x + static member inline F2Static(x: 'T) = x + x + + [] + type FileExt = + [] + static member CreateDirectory(fileInfo: FileInfo) = + Directory.CreateDirectory fileInfo.Directory.FullName + + [] + static member inline F3(s: string, x: 'T) = + x + x + + [] + static member inline F4(s: string, x1: 'T, x2: 'T) = + x1 + x2 + + + [] + module Usage = + let q0 = <@ f0 3 @> + let q1 = <@ f 3 @> + let q2 = <@ C().F(3) @> + let q3 = <@ C().F2(3) @> + let q4 = <@ C.F2Static(3) @> + let q5 = <@ "".F3(3) @> + let q6 = <@ "".F4(3, 4) @> + + check "wekncjeck1" (q0.ToString()) "Call (None, f0, [Value (3)])" + check "wekncjeck2" (q1.ToString()) "Call (None, f, [Value (3)])" + check "wekncjeck3" (q2.ToString()) "Call (Some (NewObject (C)), F, [Value (3)])" + check "wekncjeck4" (q3.ToString()) "Call (None, C.F2, [NewObject (C), Value (3)])" + check "wekncjeck5" (q4.ToString()) "Call (None, C.F2Static.Static, [Value (3)])" + check "wekncjeck6" (q5.ToString()) "Call (None, F3, [Value (\"\"), Value (3)])" + check "wekncjeck7" (q6.ToString()) "Call (None, F4, [Value (\"\"), Value (3), Value (4)])" + + check "ewlknweknl1" (FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q0) (box ([] : (unit -> int) list)) + check "ewlknweknl2" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q1 with :? ((unit -> int) list) as x -> x.[0] ()) 6 + check "ewlknweknl3" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q2 with :? int as x -> x) 6 + check "ewlknweknl4" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q3 with :? int as x -> x) 6 + check "ewlknweknl5" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q4 with :? int as x -> x) 6 + check "ewlknweknl6" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q5 with :? int as x -> x) 6 + check "ewlknweknl7" (match FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation q6 with :? int as x -> x) 7 + +// Check we can take ReflectedDefinition of things involving witness and trait calls +module QuotationsOfGenericCodeWithWitnesses = + [] + let inline f1 (x: ^T) = x + x // ( ^T : (static member Foo: int -> int) (3)) + + match <@ f1 1 @> with + | Quotations.Patterns.Call(_, mi, _) -> + let mi1 = mi.GetGenericMethodDefinition() + let q1 = Quotations.Expr.TryGetReflectedDefinition(mi1) + check "vwehwevrwv" q1 None + | q -> report_failure (sprintf "gfwhoewvioh - unexpected %A" q) + + + match <@ f1 1 @> with + | Quotations.Patterns.CallWithWitnesses(_, mi, minfoWithWitnesses, _, _) -> + let q2 = Quotations.Expr.TryGetReflectedDefinition(minfoWithWitnesses) + + match q2 with + | Some (Lambda (witnessArgVar, Lambda(v, CallWithWitnesses(None, mi, minfoWithWitnesses, [Var witnessArgVar2], [a2;b2])))) -> + + check "cewlkjwvw0a" witnessArgVar.Name "op_Addition" + check "cewlkjwvw0b" witnessArgVar.Type (typeof int -> int>) + check "cewlkjwvw1a" witnessArgVar2.Name "op_Addition" + check "cewlkjwvw1b" witnessArgVar2.Type (typeof int -> int>) + check "cewlkjwvw2" minfoWithWitnesses.Name "op_Addition$W" + check "vjnvwiowve" a2 b2 + check "cewlkjwvw0" witnessArgVar witnessArgVar2 + + | q -> report_failure (sprintf "gfwhoewvioh32 - unexpected %A" q) + + | q -> report_failure (sprintf "gfwhoewvioh37 - unexpected %A" q) + + + type C() = + static member Foo (x:int) = x + + [] + let inline f3 (x: ^T) = + ( ^T : (static member Foo: int -> int) (3)) + + match <@ f3 (C()) @> with + | Quotations.Patterns.Call(_, mi, _) -> + let mi3 = mi.GetGenericMethodDefinition() + let q3 = Quotations.Expr.TryGetReflectedDefinition(mi3) + check "fekjevwlw" q3 None + | q -> report_failure (sprintf "3kjhhjkkjhe9 - %A unexpected" q) + + match <@ f3 (C()) @> with + | Quotations.Patterns.CallWithWitnesses(_, mi, miw, [w4], _) -> + let q4 = Quotations.Expr.TryGetReflectedDefinition(miw) + + check "vwroirvjkn" miw.Name "f3$W" + + match q4 with + | Some (Lambda(witnessArgVar, Lambda(v, Application(Var witnessArgVar2, Int32 3)))) -> + check "vwehjrwlkj0" witnessArgVar.Name "Foo" + check "vwehjrwlkj1" witnessArgVar.Type (typeof int>) + check "vwehjrwlkj2" witnessArgVar2.Name "Foo" + check "vwehjrwlkj3" witnessArgVar2 witnessArgVar + | _ -> report_failure (sprintf "3kjhhjkkjhe1 - %A unexpected" q4) + + match w4 with + | Lambda(v, Call(None, miFoo, [Var v2])) -> + check "vewhjwveoi1" miFoo.Name "Foo" + check "vewhjwveoi2" v v2 + | _ -> report_failure (sprintf "3kjhhjkkjhe2 - %A unexpected" w4) + + | q -> report_failure (sprintf "3kjhhjkkjhe0 - %A unexpected" q) + +/// Check we can take quotations of implicit operator trait calls + +module QuotationOfConcreteTraitCalls = + + type Foo(s: string) = + member _.S = s + static member (?) (foo : Foo, name : string) = foo.S + name + static member (++) (foo : Foo, name : string) = foo.S + name + static member (?<-) (foo : Foo, name : string, v : string) = () + + let foo = Foo("hello, ") + + // Desugared form is ok, but ? desugars to a method with constraints which aren't allowed in quotes + let q1 = <@ Foo.op_Dynamic(foo, "uhh") @> + let q2 = <@ foo ? uhh @> + + let q3 = <@ Foo.op_DynamicAssignment(foo, "uhh", "hm") @> + let q4 = <@ foo ? uhh <- "hm" @> + let q5 = <@ foo ++ "uhh" @> + + let cleanup (s:string) = s.Replace(" ","").Replace("\n","").Replace("\r","") + check "wekncjeck112a" (cleanup (sprintf "%0A" q1)) "Call(None,op_Dynamic,[PropertyGet(None,foo,[]),Value(\"uhh\")])" + check "wekncjeck112b" (cleanup (sprintf "%0A" q2)) "Application(Application(Lambda(arg0,Lambda(arg1,Call(None,op_Dynamic,[arg0,arg1]))),PropertyGet(None,foo,[])),Value(\"uhh\"))" + check "wekncjeck112c" (cleanup (sprintf "%0A" q3)) "Call(None,op_DynamicAssignment,[PropertyGet(None,foo,[]),Value(\"uhh\"),Value(\"hm\")])" + check "wekncjeck112d" (cleanup (sprintf "%0A" q4)) "Application(Application(Application(Lambda(arg0,Lambda(arg1,Lambda(arg2,Call(None,op_DynamicAssignment,[arg0,arg1,arg2])))),PropertyGet(None,foo,[])),Value(\"uhh\")),Value(\"hm\"))" + check "wekncjeck112e" (cleanup (sprintf "%0A" q5)) "Application(Application(Lambda(arg0,Lambda(arg1,Call(None,op_PlusPlus,[arg0,arg1]))),PropertyGet(None,foo,[])),Value(\"uhh\"))" + + // Let bound functions handle this ok + let (?) o s = + printfn "%s" s + + // No error here because it binds to the let bound version + let q8 = <@ foo ? uhh @> + +// Check we can take ReflectedDefinition of things involving multiple implicit witnesses and trait calls +module QuotationsOfGenericCodeWithMultipleWitnesses = + + // This has three type paramters and two witnesses, one for + and one for - + [] + let inline f1 x y z = (x + y) - z + + match <@ f1 1 2 3 @> with + | Quotations.Patterns.Call(_, mi, _) -> + let q1 = Quotations.Expr.TryGetReflectedDefinition(mi) + check "vwehwevrwv" q1 None + | q -> report_failure (sprintf "gfwhoewvioh - unexpected %A" q) + + match <@ f1 1 2 3 @> with + | Quotations.Patterns.CallWithWitnesses(_, mi, minfoWithWitnesses, _, _) -> + let q2 = Quotations.Expr.TryGetReflectedDefinition(minfoWithWitnesses) + + match q2 with + | Some (Lambda (witnessArgVarAdd, + Lambda (witnessArgVarSub, + Lambda(xVar, + Lambda(yVar, + Lambda(zVar, + CallWithWitnesses(None, mi1, minfoWithWitnesses1, [Var witnessArgVarSub2], + [CallWithWitnesses(None, mi2, minfoWithWitnesses2, [Var witnessArgVarAdd2], + [Var xVar2; Var yVar2]); + Var zVar2]))))))) -> + + check "cewlkjwv54" witnessArgVarAdd.Name "op_Addition" + check "cewlkjwv55" witnessArgVarSub.Name "op_Subtraction" + check "cewlkjwv56" witnessArgVarAdd.Type (typeof int -> int>) + check "cewlkjwv57" witnessArgVarSub.Type (typeof int -> int>) + check "cewlkjwv58" witnessArgVarAdd witnessArgVarAdd2 + check "cewlkjwv59" witnessArgVarSub witnessArgVarSub2 + check "cewlkjwv60" xVar xVar2 + check "cewlkjwv61" yVar yVar2 + check "cewlkjwv62" zVar zVar2 + + | q -> report_failure (sprintf "gfwhoewvioh32 - unexpected %A" q) + + | q -> report_failure (sprintf "gfwhoewvioh37 - unexpected %A" q) + +// Like QuotationsOfGenericCodeWithMultipleWitnesses but with implementation code the other way around +module QuotationsOfGenericCodeWithMultipleWitnesses2 = + + [] + let inline f1 x y z = (x - y) + z + + match <@ f1 1 2 3 @> with + | Quotations.Patterns.Call(_, mi, _) -> + let q1 = Quotations.Expr.TryGetReflectedDefinition(mi) + check "xvwehwevrwv" q1 None + | q -> report_failure (sprintf "xgfwhoewvioh - unexpected %A" q) + + match <@ f1 1 2 3 @> with + | Quotations.Patterns.CallWithWitnesses(_, mi, minfoWithWitnesses, _, _) -> + let q2 = Quotations.Expr.TryGetReflectedDefinition(minfoWithWitnesses) + + match q2 with + | Some (Lambda (witnessArgVarAdd, + Lambda (witnessArgVarSub, + Lambda(xVar, + Lambda(yVar, + Lambda(zVar, + CallWithWitnesses(None, mi1, minfoWithWitnesses1, [Var witnessArgVarAdd2], + [CallWithWitnesses(None, mi2, minfoWithWitnesses2, [Var witnessArgVarSub2], + [Var xVar2; Var yVar2]); + Var zVar2]))))))) -> + + check "xcewlkjwv54" witnessArgVarAdd.Name "op_Addition" + check "xcewlkjwv55" witnessArgVarSub.Name "op_Subtraction" + check "xcewlkjwv56" witnessArgVarAdd.Type (typeof int -> int>) + check "xcewlkjwv57" witnessArgVarSub.Type (typeof int -> int>) + check "xcewlkjwv58" witnessArgVarAdd witnessArgVarAdd2 + check "xcewlkjwv59" witnessArgVarSub witnessArgVarSub2 + check "xcewlkjwv60" xVar xVar2 + check "xcewlkjwv61" yVar yVar2 + check "xcewlkjwv62" zVar zVar2 + + | q -> report_failure (sprintf "xgfwhoewvioh32 - unexpected %A" q) + + | q -> report_failure (sprintf "xgfwhoewvioh37 - unexpected %A" q) + + +module TestOuterConstrainedClass = + // This example where there is an outer constrained class caused numerous failures + // because it was trying to pass witnesses for the constraint in the type + // + // No witnesses are passed for these + type hoop< ^a when ^a : (static member (+) : ^a * ^a -> ^a) > = + { Group1 : ^a + Group2 : ^a } + static member inline (+) (x, y) = x.Group1 + y.Group2 + //member inline this.Sum = this.Group1 + this.Group2 + + let z = { Group1 = 1; Group2 = 2 } + { Group1 = 2; Group2 = 3 } // ok + +module TestInlineQuotationOfAbsOperator = + + let inline f x = <@ abs x @> + + type C(n:int) = + static member Abs(c: C) = C(-c.P) + member x.P = n + + let v1 = f 3 + let v2 = f 3.4 + let v3 = f (C(4)) + + test "check abs1" + (match v1 with + | CallWithWitnesses(None, minfo1, minfo2, [Value(f,_)], [Int32 3]) -> + minfo1.Name = "Abs" && minfo2.Name = "Abs$W" && ((f :?> (int -> int)) -3 = 3) + | _ -> false) + + test "check abs2" + (match v2 with + | CallWithWitnesses(None, minfo1, minfo2, [Value(f,_)], [Double 3.4]) -> + minfo1.Name = "Abs" && minfo2.Name = "Abs$W" && ((f :?> (double -> double)) -3.0 = 3.0) + | _ -> false) + + test "check abs3" + (match v3 with + | CallWithWitnesses(None, minfo1, minfo2, [Value(f,_)], [Value (v,_)]) -> + minfo1.Name = "Abs" && minfo2.Name = "Abs$W" && ((v :?> C).P = 4) && (((f :?> (C -> C)) (C(-7))).P = 7) + | _ -> false) + + +module TestQuotationOfListSum = + type Point = + { x: int; y: int } + static member Zero = { x=0; y=0 } + static member (+) (p1, p2) = { x= p1.x + p2.x; y = p1.y + p2.y } + let points = [{x=1; y=10}] + + let q = <@ List.sum points @> + + match q with + | CallWithWitnesses(None, minfo1, minfo2, [w1; w2], [_]) -> + test "check List.sum 111" (minfo1.Name = "Sum") + test "check List.sum 112" (minfo2.Name = "Sum$W") + printfn "w1 = %A" w1 + match w1 with + | Lambda(v, PropertyGet(None, miFoo, [])) -> + test "check List.sum 113" (miFoo.Name = "Zero") + | _ -> + test "check List.sum 114" false + match w2 with + | Lambda(v, Lambda(v2, Call(None, miFoo, [_;_]))) -> + test "check List.sum 115" (miFoo.Name = "op_Addition") + | _ -> + test "check List.sum 116" false + | _ -> + test "check List.sum 117" false + + +module TestQuotationOfListSum2 = + type Point = + { x: int; y: int } + static member Zero = { x=0; y=0 } + static member (+) (p1, p2) = { x= p1.x + p2.x; y = p1.y + p2.y } + let points = [{x=1; y=10}] + + let inline quoteListSum points = <@ List.sum points @> + + match quoteListSum points with + | CallWithWitnesses(None, minfo1, minfo2, [Value (f1, _); Value (f2, _)], [Value (v,_)]) -> + test "check List.sum 211" (minfo1.Name = "Sum") + test "check List.sum 212" (minfo2.Name = "Sum$W") + test "check List.sum 213" (((v :?> Point list) = points)) + test "check List.sum 214" ((((f1 :?> (unit -> Point)) ()) = Point.Zero)) + test "check List.sum 215" ((((f2 :?> (Point -> Point -> Point)) {x=1;y=1} {x=1;y=2}) = {x=2;y=3})) + | _ -> + test "check List.sum 216" false + + +module ComputationExpressionWithOptionalsAndParamArray = + open System + type InputKind = + | Text of placeholder:string option + | Password of placeholder: string option + type InputOptions = + { Label: string option + Kind : InputKind + Validators : (string -> bool) array } + type InputBuilder() = + member t.Yield(_) = + { Label = None + Kind = Text None + Validators = [||] } + [] + member this.Text(io, ?placeholder) = + { io with Kind = Text placeholder } + [] + member this.Password(io, ?placeholder) = + { io with Kind = Password placeholder } + [] + member this.Label(io, label) = + { io with Label = Some label } + [] + member this.Validators(io, [] validators) = + { io with Validators = validators } + + let input = InputBuilder() + let name = + input { + label "Name" + text + with_validators + (String.IsNullOrWhiteSpace >> not) + } + let email = + input { + label "Email" + text "Your email" + with_validators + (String.IsNullOrWhiteSpace >> not) + (fun s -> s.Contains "@") + } + let password = + input { + label "Password" + password "Must contains at least 6 characters, one number and one uppercase" + with_validators + (String.exists Char.IsUpper) + (String.exists Char.IsDigit) + (fun s -> s.Length >= 6) + } + check "vewhkvh1" name.Kind (Text None) + check "vewhkvh2" email.Kind (Text (Some "Your email")) + check "vewhkvh3" email.Label (Some "Email") + check "vewhkvh4" email.Validators.Length 2 + check "vewhkvh5" password.Label (Some "Password") + check "vewhkvh6" password.Validators.Length 3 + +module QuotationOfComputationExpressionZipOperation = + + type Builder() = + member __.Bind (x, f) = f x + member __.Return x = x + member __.For (x, f) = f x + member __.Yield x = x + [] + member __.Var (x, y, f) = f x y + + let builder = Builder() + + let q = + <@ builder { + let! x = 1 + var y in 2 + return x + y + } @> + + let actual = (q.ToString()) + checkStrings "brewbreebr" actual + """Application (Lambda (builder@, + Call (Some (builder@), For, + [Call (Some (builder@), Var, + [Call (Some (builder@), Bind, + [Value (1), + Lambda (_arg1, + Let (x, _arg1, + Call (Some (builder@), + Yield, [x])))]), + Value (2), + Lambda (x, Lambda (y, NewTuple (x, y)))]), + Lambda (_arg2, + Let (y, TupleGet (_arg2, 1), + Let (x, TupleGet (_arg2, 0), + Call (Some (builder@), Return, + [Call (None, op_Addition, + [x, y])]))))])), + PropertyGet (None, builder, []))""" + +module CheckEliminatedConstructs = + let isNullQuoted (ts : 't[]) = + <@ + match ts with + | null -> true + | _ -> false + @> + + let actual1 = ((isNullQuoted [| |]).ToString()) + checkStrings "brewbreebrvwe1" actual1 + """IfThenElse (Call (None, op_Equality, [ValueWithName ([||], ts), Value ()]), + Value (true), Value (false))""" + +module Interpolation = + let interpolatedNoHoleQuoted = <@ $"abc" @> + let actual1 = interpolatedNoHoleQuoted.ToString() + checkStrings "brewbreebrwhat1" actual1 """Value ("abc")""" + + let interpolatedWithLiteralQuoted = <@ $"abc {1} def" @> + let actual2 = interpolatedWithLiteralQuoted.ToString() + checkStrings "brewbreebrwhat2" actual2 + """Call (None, PrintFormatToString, + [NewObject (PrintfFormat`5, Value ("abc %P() def"), + NewArray (Object, Call (None, Box, [Value (1)])), + Value ())])""" + +module TestQuotationWithIdetnicalStaticInstanceMethods = + type C() = + static member M(c: int) = 1 + c + member this.M(c: int) = 2 + c + let res = + <@ C().M(3) @> + |> FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation + :?> int + + check "vewhwveh" res 5 + + +module TestAssemblyAttributes = + let attributes = System.Reflection.Assembly.GetExecutingAssembly().GetCustomAttributes(false) + + +module TestTaskQuotationExecution = + + open System.Threading.Tasks + + let q = <@ task.Run(task.Delay(fun () -> task.Return "bar")) @> + + let task = + q + |> FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation + :?> Task + + check "vewhwveh" task.Result "bar" + +module QuotationCapturingMutableThatGetsBoxed = + + // Debug compilation failed + type Test () = + static member g ([< ReflectedDefinition>] f : Quotations.Expr unit>) = printfn "%A" f + + let f () = + let mutable x = 0 + fun _ -> + Test.g (fun _ -> x |> ignore) + + f () () + +#if TESTS_AS_APP +let RUN() = !failures +#else +let aa = + match !failures with + | [] -> + stdout.WriteLine "Test Passed" + System.IO.File.WriteAllText("test.ok","ok") + exit 0 + | errs -> + printfn "Test Failed, errors = %A" errs + exit 1 +#endif diff --git a/tests/fsharp/test.fs b/tests/fsharp/test.fs deleted file mode 100644 index b63c8829282..00000000000 --- a/tests/fsharp/test.fs +++ /dev/null @@ -1,13 +0,0 @@ - -module Test - -type Input<'T>(_v: 'T) = - static member op_Implicit(value: 'T): Input<'T> = Input<'T>(value) - -type OtherArgs() = - member val Name: string = Unchecked.defaultof<_> with get,set -type SomeArgs() = - member val OtherArgs: Input = Unchecked.defaultof<_> with get, set - -let test() = - SomeArgs(OtherArgs = OtherArgs(Name = "test")) diff --git a/tests/fsharp/test.fsi b/tests/fsharp/test.fsi deleted file mode 100644 index f9b617238a5..00000000000 --- a/tests/fsharp/test.fsi +++ /dev/null @@ -1,14 +0,0 @@ - -namespace Microsoft.FSharp.Core - open System - [] - [] - type NoDynamicInvocationAttribute = - inherit Attribute - new: unit -> NoDynamicInvocationAttribute - internal new: isLegacy: bool -> NoDynamicInvocationAttribute - - module Operators = - [] - val inline id: value: 'T -> 'T - \ No newline at end of file diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index 59e2db4e95f..6f04f0e0a60 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -785,6 +785,51 @@ module CoreTests = #endif #if !NETCOREAPP + [] + let quotes () = + let cfg = testConfig "core/quotes" + + + csc cfg """/nologo /target:library /out:cslib.dll""" ["cslib.cs"] + + fsc cfg "%s -o:test.exe -r cslib.dll -g" cfg.fsc_flags ["test.fsx"] + + peverify cfg "test.exe" + + begin + use testOkFile = fileguard cfg "test.ok" + exec cfg ("." ++ "test.exe") "" + testOkFile.CheckExists() + end + + fsc cfg "%s -o:test-with-debug-data.exe --quotations-debug+ -r cslib.dll -g" cfg.fsc_flags ["test.fsx"] + + peverify cfg "test-with-debug-data.exe" + + fsc cfg "%s --optimize -o:test--optimize.exe -r cslib.dll -g" cfg.fsc_flags ["test.fsx"] + + peverify cfg "test--optimize.exe" + + begin + use testOkFile = fileguard cfg "test.ok" + + fsi cfg "%s -r cslib.dll" cfg.fsi_flags ["test.fsx"] + + testOkFile.CheckExists() + end + + begin + use testOkFile = fileguard cfg "test.ok" + exec cfg ("." ++ "test-with-debug-data.exe") "" + testOkFile.CheckExists() + end + + begin + use testOkFile = fileguard cfg "test.ok" + exec cfg ("." ++ "test--optimize.exe") "" + testOkFile.CheckExists() + end + [] let parsing () = let cfg = testConfig "core/parsing" From 45dafe5468cb378c60335d27a548fa27ce170091 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 23 Feb 2024 12:59:03 -0800 Subject: [PATCH 51/58] moar quotes --- tests/fsharp/tests.fs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/fsharp/tests.fs b/tests/fsharp/tests.fs index 6f04f0e0a60..d5943a1366a 100644 --- a/tests/fsharp/tests.fs +++ b/tests/fsharp/tests.fs @@ -36,6 +36,19 @@ let testConfig = getTestsDirectory >> testConfig [] module CoreTests = +#if !NETCOREAPP +// This test stays in FsharpSuite for a later migration phases, it uses hardcoded #r to a C# compiled cslib.dll inside + [] + let ``quotes-FSC-FSC_DEBUG`` () = singleTestBuildAndRun "core/quotes" FSC_DEBUG + + [] + let ``quotes-FSC-BASIC`` () = singleTestBuildAndRun "core/quotes" FSC_OPTIMIZED + + [] + let ``quotes-FSI-BASIC`` () = singleTestBuildAndRun "core/quotes" FSI +#endif + + #if !NETCOREAPP // This test has hardcoded expectations about current synchronization context // Will be moved out of FsharpSuite.Tests in a later phase for desktop framework From 8f12c53bb10d6e8f7ce3dba6558e75411c529d53 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 23 Feb 2024 15:14:32 -0800 Subject: [PATCH 52/58] mutable police --- src/Compiler/CodeGen/IlxGen.fs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 78e4ac2e8a7..7fb37918e39 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8232,24 +8232,19 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( | true -> v.DeclaringEntity.Deref.Stamp let groupBinds = - let mutable bindings: Binding list list = [ [] ] - - let rec loopAllBinds remainder = + let rec loopAllBinds bindings remainder = match remainder with | [] -> bindings |> List.rev | _ -> let stamp = remainder |> List.head |> (fun (TBind(v, _, _)) -> getStampForVal v) - let taken = remainder |> List.takeWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) - let remainder = remainder |> List.skipWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) + + loopAllBinds (taken :: bindings) remainder + loopAllBinds [ [] ] allBinds - bindings <- taken :: bindings - loopAllBinds remainder - - loopAllBinds allBinds let _ = (recursiveVars, groupBinds) From 434617a8f608a29991166dda3977d5858eee7238 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 23 Feb 2024 16:26:04 -0800 Subject: [PATCH 53/58] fantomas --- src/Compiler/CodeGen/IlxGen.fs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Compiler/CodeGen/IlxGen.fs b/src/Compiler/CodeGen/IlxGen.fs index 7fb37918e39..976bba1c82f 100644 --- a/src/Compiler/CodeGen/IlxGen.fs +++ b/src/Compiler/CodeGen/IlxGen.fs @@ -8237,14 +8237,16 @@ and GenLetRecBindings cenv (cgbuf: CodeGenBuffer) eenv (allBinds: Bindings, m) ( | [] -> bindings |> List.rev | _ -> let stamp = remainder |> List.head |> (fun (TBind(v, _, _)) -> getStampForVal v) + let taken = remainder |> List.takeWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) + let remainder = remainder |> List.skipWhile (fun (TBind(v, _, _)) -> stamp = getStampForVal v) - + loopAllBinds (taken :: bindings) remainder - loopAllBinds [ [] ] allBinds + loopAllBinds [ [] ] allBinds let _ = (recursiveVars, groupBinds) From 347bb2ef692fb5d062b9813469e8a1e215d77ed3 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Tue, 27 Feb 2024 23:43:49 -0800 Subject: [PATCH 54/58] t --- src/Compiler/Optimize/Optimizer.fs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Compiler/Optimize/Optimizer.fs b/src/Compiler/Optimize/Optimizer.fs index 4c9feb0896c..fafb8184600 100644 --- a/src/Compiler/Optimize/Optimizer.fs +++ b/src/Compiler/Optimize/Optimizer.fs @@ -3097,7 +3097,7 @@ and TryOptimizeVal cenv env (vOpt: ValRef option, shouldInline, inlineIfLambda, warning(Error(FSComp.SR.optValueMarkedInlineHasUnexpectedValue(), m)) None - | _ when mustInline -> + | _ when shouldInline -> warning(Error(FSComp.SR.optValueMarkedInlineCouldNotBeInlined(), m)) None @@ -3653,8 +3653,8 @@ and OptimizeApplication cenv env (f0, f0ty, tyargs, args, m) = | None -> true // over-application of a known function, which presumably returns a function. This counts as an indirect call else true // application of a function that may make a critical tailcall - - | _ -> + + | _ -> // All indirect calls (calls to unknown functions) are assumed to be critical tailcalls true From b2f1973520dbf699682e69bb3b76a1f541467e0c Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Wed, 28 Feb 2024 15:01:11 -0800 Subject: [PATCH 55/58] Update baselines --- ...t1.fs.RealInternalSignatureOn.il.debug.bsl | 4 +- ...t2.fs.RealInternalSignatureOn.il.debug.bsl | 4 +- ...t3.fs.RealInternalSignatureOn.il.debug.bsl | 4 +- ...t4.fs.RealInternalSignatureOn.il.debug.bsl | 4 +- ...t5.fs.RealInternalSignatureOn.il.debug.bsl | 4 +- ...t6.fs.RealInternalSignatureOn.il.debug.bsl | 4 +- ...lt.fs.RealInternalSignatureOn.il.debug.bsl | 2 +- ...ld.fs.RealInternalSignatureOn.il.debug.bsl | 2 +- ...ty.fs.RealInternalSignatureOn.il.debug.bsl | 2 +- ...InternalSignatureOn.fs.il.net472.debug.bsl | 2 +- ...nternalSignatureOn.fs.il.netcore.debug.bsl | 2 +- ...01.fs.RealInternalSignatureOn.il.debug.bsl | 2 +- .../EmittedIL/NoCompilerInlining.fs | 156 ++++- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 2 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 2 +- ...ssionSteppingTest07.fs.il.net472.debug.bsl | 2 +- ...sionSteppingTest07.fs.il.netcore.debug.bsl | 2 +- ...ealInternalSignatureOn.il.net472.debug.bsl | 4 +- ...alInternalSignatureOn.il.netcore.debug.bsl | 4 +- .../FloatsAndDoubles_2.fs.il.debug.bsl | 2 +- ...43_RealInternalSignatureOn.fs.il.debug.bsl | 2 +- ...InternalSignatureOn.fs.il.net472.debug.bsl | 2 +- ...nternalSignatureOn.fs.il.netcore.debug.bsl | 2 +- .../TypeChecks/PropertyShadowingTests.fs | 8 +- ...qCount.fsx.realInternalSignatureOff.il.bsl | 117 ++++ ...nqCount.fsx.realInternalSignatureOn.il.bsl | 136 ++++ ...operty.fsx.realInternalSignatureOff.il.bsl | 189 ++++++ ...roperty.fsx.realInternalSignatureOn.il.bsl | 216 +++++++ ...Method.fsx.realInternalSignatureOff.il.bsl | 222 +++++++ ...nMethod.fsx.realInternalSignatureOn.il.bsl | 241 +++++++ ...nsions.fsx.realInternalSignatureOff.il.bsl | 571 +++++++++++++++++ ...ensions.fsx.realInternalSignatureOn.il.bsl | 598 ++++++++++++++++++ ...ension.fsx.realInternalSignatureOff.il.bsl | 221 +++++++ ...tension.fsx.realInternalSignatureOn.il.bsl | 240 +++++++ ...dCalls.fsx.realInternalSignatureOff.il.bsl | 246 +++++++ ...edCalls.fsx.realInternalSignatureOn.il.bsl | 265 ++++++++ 54 files changed, 3463 insertions(+), 59 deletions(-) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOff.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.il.bsl create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.debug.bsl index 8cb9e1adb0e..b8ab856f75a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest1.fs.RealInternalSignatureOn.il.debug.bsl @@ -119,7 +119,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -152,7 +152,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.debug.bsl index ba47f8fe54a..39b879bc70a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest2.fs.RealInternalSignatureOn.il.debug.bsl @@ -217,7 +217,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -250,7 +250,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.debug.bsl index 030770c0d33..a6484ab298b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest3.fs.RealInternalSignatureOn.il.debug.bsl @@ -182,7 +182,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -215,7 +215,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.debug.bsl index 4e38d7b48c4..968ce31a441 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest4.fs.RealInternalSignatureOn.il.debug.bsl @@ -328,7 +328,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -361,7 +361,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.debug.bsl index 15b97638127..2962a173205 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest5.fs.RealInternalSignatureOn.il.debug.bsl @@ -363,7 +363,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 6 @@ -413,7 +413,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.debug.bsl index c47f644e650..6565fbe138b 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AsyncExpressionStepping/AsyncExpressionSteppingTest6.fs.RealInternalSignatureOn.il.debug.bsl @@ -751,7 +751,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 5 @@ -784,7 +784,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.debug.bsl index a3ed8269dab..fdd3ee27a69 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Default.fs.RealInternalSignatureOn.il.debug.bsl @@ -83,7 +83,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.debug.bsl index 63be332b043..c5544f82a78 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Field.fs.RealInternalSignatureOn.il.debug.bsl @@ -83,7 +83,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.debug.bsl index f4a6cfcd6df..1abdfba7578 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/AttributeTargets/Property.fs.RealInternalSignatureOn.il.debug.bsl @@ -82,7 +82,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl index f117b1d6a00..4f200c9131a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.net472.debug.bsl @@ -346,7 +346,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl index 833f576f2d3..23bd08a2e1a 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/CompiledNameAttribute/CompiledNameAttribute04_RealInternalSignatureOn.fs.il.netcore.debug.bsl @@ -347,7 +347,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl index a695e1d5a87..36c41338aa7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Misc/StructsAsArrayElements01.fs.RealInternalSignatureOn.il.debug.bsl @@ -315,7 +315,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/NoCompilerInlining.fs b/tests/FSharp.Compiler.ComponentTests/EmittedIL/NoCompilerInlining.fs index f9be4e7def9..bc967c9c88d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/NoCompilerInlining.fs +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/NoCompilerInlining.fs @@ -53,7 +53,7 @@ module MiddleModule .entrypoint .maxstack 8 - IL_0000: call void [middleModule]MiddleModule::sayMiddleModuleHello() + IL_0000: call void assembly::staticInitialization@() IL_0005: ret } """ ] @@ -101,7 +101,7 @@ module MiddleModule .entrypoint .maxstack 8 - IL_0000: call void [middleModule]MiddleModule::sayMiddleModuleHello() + IL_0000: call void assembly::staticInitialization@() IL_0005: ret } """ ] @@ -148,9 +148,23 @@ module MiddleModule |> compileExeAndRun |> shouldSucceed |> verifyIL [ """ - .method public static void main@() cil managed +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed { - .entrypoint .maxstack 8 IL_0000: ldstr "x + y: {0} + {1} = " @@ -165,6 +179,26 @@ module MiddleModule IL_001b: call void [runtime]System.Console::WriteLine(string) IL_0020: ret } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} """ ] @@ -203,15 +237,49 @@ module MiddleModule |> compileExeAndRun |> shouldSucceed |> verifyIL [ """ - .method public static void main@() cil managed +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed { - .entrypoint .maxstack 8 IL_0000: ldstr "Hello World" IL_0005: call void [runtime]System.Console::WriteLine(string) IL_000a: ret } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} """ ] @@ -256,15 +324,49 @@ module MiddleModule |> compileExeAndRun |> shouldSucceed |> verifyIL [ """ - .method public static void main@() cil managed +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed { - .entrypoint .maxstack 8 IL_0000: ldstr "Hello World" IL_0005: call void [runtime]System.Console::WriteLine(string) IL_000a: ret } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} """ ] [] @@ -305,15 +407,49 @@ module MiddleModule |> compileExeAndRun |> shouldSucceed |> verifyIL [ """ - .method public static void main@() cil managed +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly::init@ + IL_0006: ldsfld int32 ''.$assembly::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed { - .entrypoint .maxstack 8 IL_0000: ldstr "Hello World" IL_0005: call void [runtime]System.Console::WriteLine(string) IL_000a: ret } + +} + +.class private abstract auto ansi sealed ''.$assembly + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method public static void main@() cil managed + { + .entrypoint + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} """ ] diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 43adbfc6177..9f2155759bf 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -6265,7 +6265,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 854f1bc7695..151902f9f56 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Aggregates01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -6265,7 +6265,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl index daa482d8266..c649190faa6 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 4f96c84ef93..fee4817e146 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101ElementOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 2f2c7dd3ec4..3ac4071a8d2 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -1247,7 +1247,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index e652ee27fb2..f1572eba9b3 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Grouping01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -1247,7 +1247,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 5f34461ea49..2851858eb06 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -1097,7 +1097,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index c39cd03c3fa..88c309312cf 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Joins01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -1097,7 +1097,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 222178b86c3..747c16cfd99 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -1606,7 +1606,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 6361468d351..b3476f7d00d 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Ordering01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -1606,7 +1606,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 664a79bacda..afbad574fbe 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -1635,7 +1635,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 0640187da90..5e10bfe4ec9 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Partitioning01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -1635,7 +1635,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 681890e5921..0b529d2bb16 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -1205,7 +1205,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 456ef335b0e..0762597cbf5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Quantifiers01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -1205,7 +1205,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 10 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 2ece91ba7af..b51d44ce3a7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -3279,7 +3279,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index e597228efef..9455d7f1589 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Select01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -3279,7 +3279,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 5be630403be..4fc8a2245fd 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 416d1ff8756..303f6f4ed2f 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101SetOperators01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -1286,7 +1286,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.debug.bsl index 25026f3d0c1..7cdc7a9d4e7 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -985,7 +985,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index 6b7d9fb6114..f0e638e9a04 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/QueryExpressionStepping/Linq101Where01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -985,7 +985,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 13 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl index a9c75cd06b9..f0812837c64 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.net472.debug.bsl @@ -745,7 +745,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl index 33cb4361953..e3eea368d57 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/SeqExpressionStepping/SeqExpressionSteppingTest07.fs.il.netcore.debug.bsl @@ -746,7 +746,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 4 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.debug.bsl index e8a8df843ff..b533fbc20e4 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.net472.debug.bsl @@ -311,7 +311,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -337,7 +337,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.debug.bsl index e7782b1de3d..89fbc9a2786 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/StaticInit/StaticInit_Struct01.fs.RealInternalSignatureOn.il.netcore.debug.bsl @@ -311,7 +311,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 @@ -337,7 +337,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl index 7cb7c732b1f..eaa9b097b91 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/Structure/FloatsAndDoubles_2.fs.il.debug.bsl @@ -1292,7 +1292,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 6 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl index e8cad3ccbb0..0862fa8c6f5 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/TestFunctions/Verify13043_RealInternalSignatureOn.fs.il.debug.bsl @@ -330,7 +330,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 6 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl index 3c1919809c3..e845b923b38 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.net472.debug.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl index bb5aa490e07..71cfc585372 100644 --- a/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl +++ b/tests/FSharp.Compiler.ComponentTests/EmittedIL/operators/decimal_comparison_RealInternalSignatureOn.fs.il.netcore.debug.bsl @@ -55,7 +55,7 @@ IL_000c: ret } - .method assembly static void staticInitialization@() cil managed + .method assembly specialname static void staticInitialization@() cil managed { .maxstack 8 diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs index b3a73b6aadc..f74a6c951b7 100644 --- a/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/PropertyShadowingTests.fs @@ -5,7 +5,7 @@ open FSharp.Test.Compiler module PropertyShadowingTests = - let [] folder = __SOURCE_DIRECTORY__ + "/PropertyShadowing" + let [] folder = __SOURCE_DIRECTORY__ + "/Shadowing" [ asFsx + |> withNoDebug |> withOptions ["--langversion:preview"] |> withRealInternalSignatureOff |> verifyBaselines @@ -45,12 +46,14 @@ module PropertyShadowingTests = let ``can hide property - realInternalSignatureOn`` compilation = compilation |> asFsx + |> withNoDebug |> withOptions ["--langversion:preview"] |> withRealInternalSignatureOn |> verifyBaselines |> compileAndRun |> shouldSucceed + [ asFsx + |> withNoDebug |> withOptions ["--langversion:7.0"] |> verifyBaselines |> compile @@ -86,6 +90,7 @@ module PropertyShadowingTests = let ``cannot hide property`` compilation = compilation |> asFsx + |> withNoDebug |> withOptions ["--langversion:preview"] |> verifyBaselines |> compile @@ -106,6 +111,7 @@ module PropertyShadowingTests = let ``cannot hide property v7_0`` compilation = compilation |> asFsx + |> withNoDebug |> withOptions ["--langversion:7.0"] |> verifyBaselines |> compile diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl new file mode 100644 index 00000000000..4504a6f2f5f --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl @@ -0,0 +1,117 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname clo@4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + } + + .method public specialname static class [System.Collections]System.Collections.Generic.List`1 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [System.Collections]System.Collections.Generic.List`1 ''.$assembly$fsx::r@2 + IL_0005: ret + } + + .property class [System.Collections]System.Collections.Generic.List`1 + r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly initonly class [System.Collections]System.Collections.Generic.List`1 r@2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor() + IL_0005: stsfld class [System.Collections]System.Collections.Generic.List`1 ''.$assembly$fsx::r@2 + IL_000a: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_000f: callvirt instance int32 class [System.Collections]System.Collections.Generic.List`1::get_Count() + IL_0014: pop + IL_0015: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_001a: ldnull + IL_001b: ldftn bool assembly/clo@4::Invoke(int32) + IL_0021: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_0026: call int32 [System.Linq]System.Linq.Enumerable::Count(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_002b: pop + IL_002c: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..93f09f050af --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,136 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Collections +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly extern System.Linq +{ + .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) + .ver 8:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname clo@4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + } + + .field static assembly class [System.Collections]System.Collections.Generic.List`1 r@2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [System.Collections]System.Collections.Generic.List`1 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [System.Collections]System.Collections.Generic.List`1 assembly::r@2 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class [System.Collections]System.Collections.Generic.List`1::.ctor() + IL_0005: stsfld class [System.Collections]System.Collections.Generic.List`1 assembly::r@2 + IL_000a: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_000f: callvirt instance int32 class [System.Collections]System.Collections.Generic.List`1::get_Count() + IL_0014: pop + IL_0015: call class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + IL_001a: ldnull + IL_001b: ldftn bool assembly/clo@4::Invoke(int32) + IL_0021: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_0026: call int32 [System.Linq]System.Linq.Enumerable::Count(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_002b: pop + IL_002c: ret + } + + .property class [System.Collections]System.Collections.Generic.List`1 + r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [System.Collections]System.Collections.Generic.List`1 assembly::get_r() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOff.il.bsl new file mode 100644 index 00000000000..cd96ae8b94e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOff.il.bsl @@ -0,0 +1,189 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@1 + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public specialname static int32 get_X() cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@1 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 assembly/Foo::x + IL_0016: ret + } + + .method public specialname static void set_X(int32 v) cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@1 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 assembly/Foo::x + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .property int32 X() + { + .set void assembly/Foo::set_X(int32) + .get int32 assembly/Foo::get_X() + } + } + + .class abstract auto ansi sealed nested public Exts2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: mul + IL_0003: call void assembly/Foo::set_X(int32) + IL_0008: ret + } + + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: ret + } + + } + +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 assembly/Foo::x + IL_0006: ldc.i4.1 + IL_0007: volatile. + IL_0009: stsfld int32 assembly/Foo::init@1 + IL_000e: ldc.i4.1 + IL_000f: call void assembly/Foo::set_X(int32) + IL_0014: call int32 assembly/Foo::get_X() + IL_0019: ldc.i4.1 + IL_001a: beq.s IL_0024 + + IL_001c: ldc.i4.1 + IL_001d: call void [runtime]System.Environment::Exit(int32) + IL_0022: br.s IL_0024 + + IL_0024: ldc.i4.4 + IL_0025: call void assembly/Foo::set_X(int32) + IL_002a: call int32 assembly/Foo::get_X() + IL_002f: ldc.i4.4 + IL_0030: beq.s IL_003a + + IL_0032: ldc.i4.2 + IL_0033: call void [runtime]System.Environment::Exit(int32) + IL_0038: br.s IL_003a + + IL_003a: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..4b50483a50b --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowStaticProperty.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,216 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@1 + .method private specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public specialname static int32 get_X() cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@1 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 assembly/Foo::x + IL_0016: ret + } + + .method public specialname static void set_X(int32 v) cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@1 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 assembly/Foo::x + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 assembly/Foo::x + IL_0006: ldc.i4.1 + IL_0007: volatile. + IL_0009: stsfld int32 assembly/Foo::init@1 + IL_000e: ret + } + + .property int32 X() + { + .set void assembly/Foo::set_X(int32) + .get int32 assembly/Foo::get_X() + } + } + + .class abstract auto ansi sealed nested public Exts2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: mul + IL_0003: call void assembly/Foo::set_X(int32) + IL_0008: ret + } + + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: ret + } + + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: call void assembly/Foo::staticInitialization@() + IL_0005: ldc.i4.1 + IL_0006: call void assembly/Foo::set_X(int32) + IL_000b: call int32 assembly/Foo::get_X() + IL_0010: ldc.i4.1 + IL_0011: beq.s IL_001b + + IL_0013: ldc.i4.1 + IL_0014: call void [runtime]System.Environment::Exit(int32) + IL_0019: br.s IL_001b + + IL_001b: ldc.i4.4 + IL_001c: call void assembly/Foo::set_X(int32) + IL_0021: call int32 assembly/Foo::get_X() + IL_0026: ldc.i4.4 + IL_0027: beq.s IL_0031 + + IL_0029: ldc.i4.2 + IL_002a: call void [runtime]System.Environment::Exit(int32) + IL_002f: br.s IL_0031 + + IL_0031: ret + } + +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.il.bsl new file mode 100644 index 00000000000..e19df3fd009 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOff.il.bsl @@ -0,0 +1,222 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable nested public FooExt + extends [runtime]System.Object + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public static class assembly/Foo + X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + } + + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::f@12 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::'f@9-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@9-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::'f@9-2' + IL_0005: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@9() + } + .property class assembly/Foo + 'f@9-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@9-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly initonly class assembly/Foo f@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class assembly/Foo 'f@9-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class assembly/Foo 'f@9-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo ''.$assembly$fsx::f@12 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo ''.$assembly$fsx::'f@9-2' + IL_0045: call class assembly/Foo assembly::'get_f@9-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@9-1'() + IL_0055: stsfld class assembly/Foo ''.$assembly$fsx::'f@9-1' + IL_005a: call class assembly/Foo assembly::get_f@9() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@9() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..93ac1ea9b3e --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithExtensionMethod.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,241 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable nested public FooExt + extends [runtime]System.Object + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public static class assembly/Foo + X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + } + + .field static assembly class assembly/Foo f@12 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@9-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@9-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::f@12 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@9() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@9-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@9-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@9-2' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo assembly::f@12 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo assembly::'f@9-2' + IL_0045: call class assembly/Foo assembly::'get_f@9-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@9-1'() + IL_0055: stsfld class assembly/Foo assembly::'f@9-1' + IL_005a: call class assembly/Foo assembly::get_f@9() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@9() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@9() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@9() + } + .property class assembly/Foo + 'f@9-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@9-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.il.bsl new file mode 100644 index 00000000000..a0e89588014 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOff.il.bsl @@ -0,0 +1,571 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public specialname static int32 get_X() cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 assembly/Foo::x + IL_0016: ret + } + + .method public specialname static void set_X(int32 v) cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 assembly/Foo::x + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .property int32 X() + { + .set void assembly/Foo::set_X(int32) + .get int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo1@20-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@20-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@20-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo1@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@22-2'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@22-2'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit todo1@18 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field static assembly initonly class assembly/todo1@18 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 V_0) + IL_0000: ldc.i4.1 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: call int32 assembly/Foo::get_X() + IL_000b: ldc.i4.1 + IL_000c: beq.s IL_0023 + + IL_000e: ldc.i4.1 + IL_000f: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewError(!1) + IL_0014: stloc.0 + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/'todo1@20-1'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_001b: tail. + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0022: ret + + IL_0023: ldnull + IL_0024: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewOk(!0) + IL_0029: stloc.0 + IL_002a: ldloc.0 + IL_002b: newobj instance void assembly/'todo1@22-2'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_0030: tail. + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0037: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/todo1@18::.ctor() + IL_0005: stsfld class assembly/todo1@18 assembly/todo1@18::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo2@39-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@39-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@39-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo2@41-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@41-2'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@41-2'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit todo2@37 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field static assembly initonly class assembly/todo2@37 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 V_0) + IL_0000: ldc.i4.2 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: call int32 assembly/Foo::get_X() + IL_000b: ldc.i4.2 + IL_000c: beq.s IL_0023 + + IL_000e: ldc.i4.2 + IL_000f: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewError(!1) + IL_0014: stloc.0 + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/'todo2@39-1'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_001b: tail. + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0022: ret + + IL_0023: ldnull + IL_0024: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewOk(!0) + IL_0029: stloc.0 + IL_002a: ldloc.0 + IL_002b: newobj instance void assembly/'todo2@41-2'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_0030: tail. + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0037: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/todo2@37::.ctor() + IL_0005: stsfld class assembly/todo2@37 assembly/todo2@37::@_instance + IL_000a: ret + } + + } + + .class abstract auto ansi sealed nested public Exts2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: mul + IL_0003: call void assembly/Foo::set_X(int32) + IL_0008: ret + } + + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: ret + } + + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_todo1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::todo1@16 + IL_0005: ret + } + + .method assembly specialname static valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 get_matchValue@25() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::matchValue@25 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_computation@25() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::computation@25 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_todo2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::todo2@35 + IL_0005: ret + } + + .method assembly specialname static valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'get_matchValue@44-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::'matchValue@44-1' + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> 'get_computation@44-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::'computation@44-1' + IL_0005: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + todo1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo1() + } + .property valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 + matchValue@25() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::get_matchValue@25() + } + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + computation@25() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_computation@25() + } + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + todo2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo2() + } + .property valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 + 'matchValue@44-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'get_matchValue@44-1'() + } + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + 'computation@44-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::'get_computation@44-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly initonly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> todo1@16 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 matchValue@25 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> computation@25 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> todo2@35 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'matchValue@44-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> 'computation@44-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 5 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 assembly/Foo::x + IL_0006: ldc.i4.1 + IL_0007: volatile. + IL_0009: stsfld int32 assembly/Foo::init@4 + IL_000e: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0013: ldsfld class assembly/todo1@18 assembly/todo1@18::@_instance + IL_0018: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_001d: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::todo1@16 + IL_0022: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo1() + IL_0027: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::computation@25 + IL_002c: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_computation@25() + IL_0031: ldnull + IL_0032: ldnull + IL_0033: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously>(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0038: stsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::matchValue@25 + IL_003d: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::matchValue@25 + IL_0042: call instance int32 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_Tag() + IL_0047: ldc.i4.1 + IL_0048: bne.un.s IL_004c + + IL_004a: br.s IL_004e + + IL_004c: br.s IL_005d + + IL_004e: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::matchValue@25 + IL_0053: call instance !1 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_ErrorValue() + IL_0058: call void [runtime]System.Environment::Exit(int32) + IL_005d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0062: ldsfld class assembly/todo2@37 assembly/todo2@37::@_instance + IL_0067: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_006c: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::todo2@35 + IL_0071: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo2() + IL_0076: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> ''.$assembly$fsx::'computation@44-1' + IL_007b: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::'get_computation@44-1'() + IL_0080: ldnull + IL_0081: ldnull + IL_0082: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously>(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_0087: stsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::'matchValue@44-1' + IL_008c: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::'matchValue@44-1' + IL_0091: call instance int32 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_Tag() + IL_0096: ldc.i4.1 + IL_0097: bne.un.s IL_009b + + IL_0099: br.s IL_009d + + IL_009b: br.s IL_00ac + + IL_009d: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 ''.$assembly$fsx::'matchValue@44-1' + IL_00a2: call instance !1 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_ErrorValue() + IL_00a7: call void [runtime]System.Environment::Exit(int32) + IL_00ac: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..c6f995e96f1 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithLastOpenedTypeExtensions.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,598 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field static assembly int32 x + .field static assembly int32 init@4 + .method private specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ret + } + + .method public specialname static int32 get_X() cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldsfld int32 assembly/Foo::x + IL_0016: ret + } + + .method public specialname static void set_X(int32 v) cil managed + { + + .maxstack 8 + IL_0000: volatile. + IL_0002: ldsfld int32 assembly/Foo::init@4 + IL_0007: ldc.i4.1 + IL_0008: bge.s IL_0011 + + IL_000a: call void [FSharp.Core]Microsoft.FSharp.Core.LanguagePrimitives/IntrinsicFunctions::FailStaticInit() + IL_000f: br.s IL_0011 + + IL_0011: ldarg.0 + IL_0012: stsfld int32 assembly/Foo::x + IL_0017: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 assembly/Foo::x + IL_0006: ldc.i4.1 + IL_0007: volatile. + IL_0009: stsfld int32 assembly/Foo::init@4 + IL_000e: ret + } + + .property int32 X() + { + .set void assembly/Foo::set_X(int32) + .get int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo1@20-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@20-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@20-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo1@22-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@22-2'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo1@22-2'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit todo1@18 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field static assembly initonly class assembly/todo1@18 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 V_0) + IL_0000: ldc.i4.1 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: call int32 assembly/Foo::get_X() + IL_000b: ldc.i4.1 + IL_000c: beq.s IL_0023 + + IL_000e: ldc.i4.1 + IL_000f: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewError(!1) + IL_0014: stloc.0 + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/'todo1@20-1'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_001b: tail. + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0022: ret + + IL_0023: ldnull + IL_0024: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewOk(!0) + IL_0029: stloc.0 + IL_002a: ldloc.0 + IL_002b: newobj instance void assembly/'todo1@22-2'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_0030: tail. + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0037: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/todo1@18::.ctor() + IL_0005: stsfld class assembly/todo1@18 assembly/todo1@18::@_instance + IL_000a: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo2@39-1' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@39-1'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@39-1'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit 'todo2@41-2' + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn> + { + .field public valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method assembly specialname rtspecialname instance void .ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'value') cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>::.ctor() + IL_0006: ldarg.0 + IL_0007: ldarg.1 + IL_0008: stfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@41-2'::'value' + IL_000d: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn Invoke(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1> ctxt) cil managed + { + + .maxstack 8 + IL_0000: ldarg.1 + IL_0001: ldarg.0 + IL_0002: ldfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly/'todo2@41-2'::'value' + IL_0007: tail. + IL_0009: call class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1>::Success(valuetype [FSharp.Core]Microsoft.FSharp.Control.AsyncActivation`1, + !0) + IL_000e: ret + } + + } + + .class auto ansi serializable sealed nested assembly beforefieldinit todo2@37 + extends class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>> + { + .field static assembly initonly class assembly/todo2@37 @_instance + .method assembly specialname rtspecialname instance void .ctor() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call instance void class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>>::.ctor() + IL_0006: ret + } + + .method public strict virtual instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> Invoke(class [FSharp.Core]Microsoft.FSharp.Core.Unit unitVar) cil managed + { + + .maxstack 6 + .locals init (valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 V_0) + IL_0000: ldc.i4.2 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: call int32 assembly/Foo::get_X() + IL_000b: ldc.i4.2 + IL_000c: beq.s IL_0023 + + IL_000e: ldc.i4.2 + IL_000f: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewError(!1) + IL_0014: stloc.0 + IL_0015: ldloc.0 + IL_0016: newobj instance void assembly/'todo2@39-1'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_001b: tail. + IL_001d: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0022: ret + + IL_0023: ldnull + IL_0024: call valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::NewOk(!0) + IL_0029: stloc.0 + IL_002a: ldloc.0 + IL_002b: newobj instance void assembly/'todo2@41-2'::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2) + IL_0030: tail. + IL_0032: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.AsyncPrimitives::MakeAsync>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2,class [FSharp.Core]Microsoft.FSharp.Control.AsyncReturn>) + IL_0037: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 10 + IL_0000: newobj instance void assembly/todo2@37::.ctor() + IL_0005: stsfld class assembly/todo2@37 assembly/todo2@37::@_instance + IL_000a: ret + } + + } + + .class abstract auto ansi sealed nested public Exts2 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldc.i4.2 + IL_0002: mul + IL_0003: call void assembly/Foo::set_X(int32) + IL_0008: ret + } + + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static void Foo.X.Static(int32 v) cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: call void assembly/Foo::set_X(int32) + IL_0006: ret + } + + } + + .field static assembly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> todo1@16 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 matchValue@25 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> computation@25 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> todo2@35 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'matchValue@44-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> 'computation@44-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_todo1() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo1@16 + IL_0005: ret + } + + .method assembly specialname static valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 get_matchValue@25() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_computation@25() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::computation@25 + IL_0005: ret + } + + .method public specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> get_todo2() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo2@35 + IL_0005: ret + } + + .method assembly specialname static valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 'get_matchValue@44-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_0005: ret + } + + .method assembly specialname static class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> 'get_computation@44-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::'computation@44-1' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 5 + IL_0000: call void assembly/Foo::staticInitialization@() + IL_0005: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_000a: ldsfld class assembly/todo1@18 assembly/todo1@18::@_instance + IL_000f: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0014: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo1@16 + IL_0019: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo1() + IL_001e: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::computation@25 + IL_0023: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_computation@25() + IL_0028: ldnull + IL_0029: ldnull + IL_002a: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously>(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_002f: stsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_0034: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_0039: call instance int32 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_Tag() + IL_003e: ldc.i4.1 + IL_003f: bne.un.s IL_0043 + + IL_0041: br.s IL_0045 + + IL_0043: br.s IL_0054 + + IL_0045: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::matchValue@25 + IL_004a: call instance !1 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_ErrorValue() + IL_004f: call void [runtime]System.Environment::Exit(int32) + IL_0054: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder [FSharp.Core]Microsoft.FSharp.Core.ExtraTopLevelOperators::get_DefaultAsyncBuilder() + IL_0059: ldsfld class assembly/todo2@37 assembly/todo2@37::@_instance + IL_005e: callvirt instance class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsyncBuilder::Delay>(class [FSharp.Core]Microsoft.FSharp.Core.FSharpFunc`2>) + IL_0063: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::todo2@35 + IL_0068: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo2() + IL_006d: stsfld class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::'computation@44-1' + IL_0072: call class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::'get_computation@44-1'() + IL_0077: ldnull + IL_0078: ldnull + IL_0079: call !!0 [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync::RunSynchronously>(class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1, + class [FSharp.Core]Microsoft.FSharp.Core.FSharpOption`1) + IL_007e: stsfld valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_0083: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_0088: call instance int32 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_Tag() + IL_008d: ldc.i4.1 + IL_008e: bne.un.s IL_0092 + + IL_0090: br.s IL_0094 + + IL_0092: br.s IL_00a3 + + IL_0094: ldsflda valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'matchValue@44-1' + IL_0099: call instance !1 valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2::get_ErrorValue() + IL_009e: call void [runtime]System.Environment::Exit(int32) + IL_00a3: ret + } + + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + todo1() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo1() + } + .property valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 + matchValue@25() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::get_matchValue@25() + } + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + computation@25() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_computation@25() + } + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + todo2() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::get_todo2() + } + .property valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 + 'matchValue@44-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get valuetype [FSharp.Core]Microsoft.FSharp.Core.FSharpResult`2 assembly::'get_matchValue@44-1'() + } + .property class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> + 'computation@44-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [FSharp.Core]Microsoft.FSharp.Control.FSharpAsync`1> assembly::'get_computation@44-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.il.bsl new file mode 100644 index 00000000000..8707d390da5 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOff.il.bsl @@ -0,0 +1,221 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class assembly/Foo + Foo.X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + } + + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::f@11 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@8() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::'f@8-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@8-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::'f@8-2' + IL_0005: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@8() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@8() + } + .property class assembly/Foo + 'f@8-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@8-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly initonly class assembly/Foo f@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class assembly/Foo 'f@8-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class assembly/Foo 'f@8-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo ''.$assembly$fsx::f@11 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo ''.$assembly$fsx::'f@8-2' + IL_0045: call class assembly/Foo assembly::'get_f@8-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@8-1'() + IL_0055: stsfld class assembly/Foo ''.$assembly$fsx::'f@8-1' + IL_005a: call class assembly/Foo assembly::get_f@8() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@8() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..dbcbebee176 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowWithTypeExtension.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,240 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class abstract auto ansi sealed nested public Exts + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .method public static class assembly/Foo + Foo.X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationArgumentCountsAttribute::.ctor(int32[]) = ( 01 00 02 00 00 00 01 00 00 00 01 00 00 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + } + + .field static assembly class assembly/Foo f@11 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@8-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@8-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::f@11 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@8() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@8-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@8-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@8-2' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo assembly::f@11 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo assembly::'f@8-2' + IL_0045: call class assembly/Foo assembly::'get_f@8-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@8-1'() + IL_0055: stsfld class assembly/Foo assembly::'f@8-1' + IL_005a: call class assembly/Foo assembly::get_f@8() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@8() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@8() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@8() + } + .property class assembly/Foo + 'f@8-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@8-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.il.bsl new file mode 100644 index 00000000000..6d38176836d --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOff.il.bsl @@ -0,0 +1,246 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable nested public FooExt + extends [runtime]System.Object + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public static class assembly/Foo + X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + .method public static class assembly/Foo + X(class assembly/Foo f, + string i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/Foo::X@ + IL_0007: stloc.0 + IL_0008: ldloca.s V_0 + IL_000a: constrained. [runtime]System.Int32 + IL_0010: callvirt instance string [runtime]System.Object::ToString() + IL_0015: callvirt instance int32 [runtime]System.String::get_Length() + IL_001a: ldarg.1 + IL_001b: callvirt instance int32 [runtime]System.String::get_Length() + IL_0020: add + IL_0021: stfld int32 assembly/Foo::X@ + IL_0026: ldarg.0 + IL_0027: ret + } + + } + + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::f@17 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@10() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::'f@10-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@10-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo ''.$assembly$fsx::'f@10-2' + IL_0005: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@10() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@10() + } + .property class assembly/Foo + 'f@10-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@10-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly initonly class assembly/Foo f@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class assembly/Foo 'f@10-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly initonly class assembly/Foo 'f@10-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo ''.$assembly$fsx::f@17 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo ''.$assembly$fsx::'f@10-2' + IL_0045: call class assembly/Foo assembly::'get_f@10-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@10-1'() + IL_0055: stsfld class assembly/Foo ''.$assembly$fsx::'f@10-1' + IL_005a: call class assembly/Foo assembly::get_f@10() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@10() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl new file mode 100644 index 00000000000..c696c9e43d0 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/ShadowingAndStillOkWithChainedCalls.fsx.realInternalSignatureOn.il.bsl @@ -0,0 +1,265 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class auto ansi serializable nested public Foo + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .field assembly int32 X@ + .method public specialname rtspecialname instance void .ctor() cil managed + { + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: callvirt instance void [runtime]System.Object::.ctor() + IL_0006: ldarg.0 + IL_0007: pop + IL_0008: ldarg.0 + IL_0009: ldc.i4.0 + IL_000a: stfld int32 assembly/Foo::X@ + IL_000f: ret + } + + .method public hidebysig specialname instance int32 get_X() cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldfld int32 assembly/Foo::X@ + IL_0006: ret + } + + .method public hidebysig specialname instance void set_X(int32 v) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ret + } + + .property instance int32 X() + { + .set instance void assembly/Foo::set_X(int32) + .get instance int32 assembly/Foo::get_X() + } + } + + .class auto ansi serializable nested public FooExt + extends [runtime]System.Object + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 03 00 00 00 00 00 ) + .method public static class assembly/Foo + X(class assembly/Foo f, + int32 i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 8 + IL_0000: ldarg.0 + IL_0001: ldarg.1 + IL_0002: stfld int32 assembly/Foo::X@ + IL_0007: ldarg.0 + IL_0008: ret + } + + .method public static class assembly/Foo + X(class assembly/Foo f, + string i) cil managed + { + .custom instance void [runtime]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = ( 01 00 00 00 ) + + .maxstack 5 + .locals init (int32 V_0) + IL_0000: ldarg.0 + IL_0001: ldarg.0 + IL_0002: ldfld int32 assembly/Foo::X@ + IL_0007: stloc.0 + IL_0008: ldloca.s V_0 + IL_000a: constrained. [runtime]System.Int32 + IL_0010: callvirt instance string [runtime]System.Object::ToString() + IL_0015: callvirt instance int32 [runtime]System.String::get_Length() + IL_001a: ldarg.1 + IL_001b: callvirt instance int32 [runtime]System.String::get_Length() + IL_0020: add + IL_0021: stfld int32 assembly/Foo::X@ + IL_0026: ldarg.0 + IL_0027: ret + } + + } + + .field static assembly class assembly/Foo f@17 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@10-1' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly class assembly/Foo 'f@10-2' + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class assembly/Foo get_f() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::f@17 + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo get_f@10() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@10-1' + IL_0005: ret + } + + .method assembly specialname static class assembly/Foo 'get_f@10-1'() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class assembly/Foo assembly::'f@10-2' + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 4 + IL_0000: newobj instance void assembly/Foo::.ctor() + IL_0005: stsfld class assembly/Foo assembly::f@17 + IL_000a: call class assembly/Foo assembly::get_f() + IL_000f: ldc.i4.1 + IL_0010: stfld int32 assembly/Foo::X@ + IL_0015: call class assembly/Foo assembly::get_f() + IL_001a: pop + IL_001b: call class assembly/Foo assembly::get_f() + IL_0020: ldfld int32 assembly/Foo::X@ + IL_0025: ldc.i4.1 + IL_0026: beq.s IL_0030 + + IL_0028: ldc.i4.1 + IL_0029: call void [runtime]System.Environment::Exit(int32) + IL_002e: br.s IL_0030 + + IL_0030: call class assembly/Foo assembly::get_f() + IL_0035: ldc.i4.1 + IL_0036: stfld int32 assembly/Foo::X@ + IL_003b: call class assembly/Foo assembly::get_f() + IL_0040: stsfld class assembly/Foo assembly::'f@10-2' + IL_0045: call class assembly/Foo assembly::'get_f@10-1'() + IL_004a: ldc.i4.2 + IL_004b: stfld int32 assembly/Foo::X@ + IL_0050: call class assembly/Foo assembly::'get_f@10-1'() + IL_0055: stsfld class assembly/Foo assembly::'f@10-1' + IL_005a: call class assembly/Foo assembly::get_f@10() + IL_005f: ldc.i4.3 + IL_0060: stfld int32 assembly/Foo::X@ + IL_0065: call class assembly/Foo assembly::get_f@10() + IL_006a: pop + IL_006b: call class assembly/Foo assembly::get_f() + IL_0070: ldfld int32 assembly/Foo::X@ + IL_0075: ldc.i4.3 + IL_0076: beq.s IL_0080 + + IL_0078: ldc.i4.2 + IL_0079: call void [runtime]System.Environment::Exit(int32) + IL_007e: br.s IL_0080 + + IL_0080: ret + } + + .property class assembly/Foo + f() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f() + } + .property class assembly/Foo + f@10() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::get_f@10() + } + .property class assembly/Foo + 'f@10-1'() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class assembly/Foo assembly::'get_f@10-1'() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + From 1134abf168f85fde99a3ad4e020cd234b9a2f1e3 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 29 Feb 2024 13:55:43 -0800 Subject: [PATCH 56/58] Shadowing/LinqCount.fsx baseline --- ....fsx.realInternalSignatureOn.il.net472.bsl | 131 ++++++++++++++++++ ...sx.realInternalSignatureOn.il.netcore.bsl} | 0 2 files changed, 131 insertions(+) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/{LinqCount.fsx.realInternalSignatureOn.il.bsl => LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl} (100%) diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl new file mode 100644 index 00000000000..53e00c11f9c --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.net472.bsl @@ -0,0 +1,131 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname clo@4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + } + + .field static assembly class [runtime]System.Collections.Generic.List`1 r@2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .method public specialname static class [runtime]System.Collections.Generic.List`1 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.List`1 assembly::r@2 + IL_0005: ret + } + + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.0 + IL_0001: stsfld int32 ''.$assembly$fsx::init@ + IL_0006: ldsfld int32 ''.$assembly$fsx::init@ + IL_000b: pop + IL_000c: ret + } + + .method assembly specialname static void staticInitialization@() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor() + IL_0005: stsfld class [runtime]System.Collections.Generic.List`1 assembly::r@2 + IL_000a: call class [runtime]System.Collections.Generic.List`1 assembly::get_r() + IL_000f: callvirt instance int32 class [runtime]System.Collections.Generic.List`1::get_Count() + IL_0014: pop + IL_0015: call class [runtime]System.Collections.Generic.List`1 assembly::get_r() + IL_001a: ldnull + IL_001b: ldftn bool assembly/clo@4::Invoke(int32) + IL_0021: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_0026: call int32 [System.Core]System.Linq.Enumerable::Count(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_002b: pop + IL_002c: ret + } + + .property class [runtime]System.Collections.Generic.List`1 + r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.List`1 assembly::get_r() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: call void assembly::staticInitialization@() + IL_0005: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOn.il.netcore.bsl From 65314789d5c10aba61ce06fe01e690b0a4d8aca7 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 29 Feb 2024 15:56:10 -0800 Subject: [PATCH 57/58] Shadowing lingcount --- ...fsx.realInternalSignatureOff.il.net472.bsl | 112 ++++++++++++++++++ ...x.realInternalSignatureOff.il.netcore.bsl} | 0 2 files changed, 112 insertions(+) create mode 100644 tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.net472.bsl rename tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/{LinqCount.fsx.realInternalSignatureOff.il.bsl => LinqCount.fsx.realInternalSignatureOff.il.netcore.bsl} (100%) diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.net472.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.net472.bsl new file mode 100644 index 00000000000..9a1fec0d897 --- /dev/null +++ b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.net472.bsl @@ -0,0 +1,112 @@ + + + + + +.assembly extern runtime { } +.assembly extern FSharp.Core { } +.assembly extern System.Core +{ + .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) + .ver 4:0:0:0 +} +.assembly assembly +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.FSharpInterfaceDataVersionAttribute::.ctor(int32, + int32, + int32) = ( 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 ) + .hash algorithm 0x00008004 + .ver 0:0:0:0 +} +.mresource public FSharpSignatureData.assembly +{ + + +} +.mresource public FSharpOptimizationData.assembly +{ + + +} +.module assembly.dll + +.imagebase {value} +.file alignment 0x00000200 +.stackreserve 0x00100000 +.subsystem 0x0003 +.corflags 0x00000001 + + + + + +.class public abstract auto ansi sealed assembly + extends [runtime]System.Object +{ + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 07 00 00 00 00 00 ) + .class abstract auto autochar serializable sealed nested assembly beforefieldinit specialname clo@4 + extends [runtime]System.Object + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 06 00 00 00 00 00 ) + .method assembly static bool Invoke(int32 _arg1) cil managed + { + + .maxstack 8 + IL_0000: ldc.i4.1 + IL_0001: ret + } + + } + + .method public specialname static class [runtime]System.Collections.Generic.List`1 get_r() cil managed + { + + .maxstack 8 + IL_0000: ldsfld class [runtime]System.Collections.Generic.List`1 ''.$assembly$fsx::r@2 + IL_0005: ret + } + + .property class [runtime]System.Collections.Generic.List`1 + r() + { + .custom instance void [FSharp.Core]Microsoft.FSharp.Core.CompilationMappingAttribute::.ctor(valuetype [FSharp.Core]Microsoft.FSharp.Core.SourceConstructFlags) = ( 01 00 09 00 00 00 00 00 ) + .get class [runtime]System.Collections.Generic.List`1 assembly::get_r() + } +} + +.class private abstract auto ansi sealed ''.$assembly$fsx + extends [runtime]System.Object +{ + .field static assembly initonly class [runtime]System.Collections.Generic.List`1 r@2 + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .field static assembly int32 init@ + .custom instance void [runtime]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [runtime]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 ) + .custom instance void [runtime]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 ) + .custom instance void [runtime]System.Diagnostics.DebuggerNonUserCodeAttribute::.ctor() = ( 01 00 00 00 ) + .method private specialname rtspecialname static void .cctor() cil managed + { + + .maxstack 8 + IL_0000: newobj instance void class [runtime]System.Collections.Generic.List`1::.ctor() + IL_0005: stsfld class [runtime]System.Collections.Generic.List`1 ''.$assembly$fsx::r@2 + IL_000a: call class [runtime]System.Collections.Generic.List`1 assembly::get_r() + IL_000f: callvirt instance int32 class [runtime]System.Collections.Generic.List`1::get_Count() + IL_0014: pop + IL_0015: call class [runtime]System.Collections.Generic.List`1 assembly::get_r() + IL_001a: ldnull + IL_001b: ldftn bool assembly/clo@4::Invoke(int32) + IL_0021: newobj instance void class [runtime]System.Func`2::.ctor(object, + native int) + IL_0026: call int32 [System.Core]System.Linq.Enumerable::Count(class [runtime]System.Collections.Generic.IEnumerable`1, + class [runtime]System.Func`2) + IL_002b: pop + IL_002c: ret + } + +} + + + + + + diff --git a/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl b/tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.netcore.bsl similarity index 100% rename from tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.bsl rename to tests/FSharp.Compiler.ComponentTests/TypeChecks/Shadowing/LinqCount.fsx.realInternalSignatureOff.il.netcore.bsl From 1523b217991a25024d8cfe49e53cf977d7e906b0 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 29 Feb 2024 19:01:52 -0800 Subject: [PATCH 58/58] access.fsx --- .../access.fsx | 408 +++++++++--------- 1 file changed, 204 insertions(+), 204 deletions(-) diff --git a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx index 25eab1787ca..5051e238db5 100644 --- a/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx +++ b/tests/FSharp.Compiler.ComponentTests/Signatures/TestCasesForGenerationRoundTrip/access.fsx @@ -18,213 +18,213 @@ let test (s : string) b = // Test cases for bug://1562 // Checking that generated signature can be compiled against the file. -//type internal typInternal = | AAA1 -//type private typPrivate = | AAA2 -//type public typPublic = | AAA3 -//type typDefault = | AAA4 -//type internal rrr = | AAA -// -//let internal ValInternal = 1212 -//let private ValPrivate = 1212 -//let public ValPublic = 1212 -//let ValDefault = 1212 -// -//[] -//type MyClassFields = -// val internal fieldInternal : int -// val private fieldPrivate : int -// val public fieldPublic : int -// -//[] -//type MyClassMutableFields = -// val mutable internal mfieldInternal : int -// val mutable private mfieldPrivate : int -// val mutable public mfieldPublic : int -// -//[] -//type MyClassStaticMembers = -// static member internal SInternal = 12 -// static member private SPrivate = 12 -// static member public SPublic = 12 -// static member SDefault = 12 -// static member internal SMInternal() = 12 -// static member private SMPrivate() = 12 -// static member public SMPublic() = 12 -// static member SMDefault() = 12 -// -//[] -//type MyClassPropertiyGetters = -// member internal x.InstInternal = 12 -// member private x.InstPrivate = 12 -// member public x.InstPublic = 12 -// member x.InstDefault = 12 -// -//type MyClassExplicitCtors = -// val v : int -// internal new(x) = { v = x } -// private new(x,y) = { v = x + y} -// public new(x,y,z) = { v = x + y + z} -// -//type MyClassExplicitCtors2 = -// new() = {} -// internal new(x) = let v : int = x in {} -// private new(x,y) = let v : int = x + y in {} -// public new(x,y,z) = let v : int = x + y + z in {} -// -//[] -//type MyClassPropertyGetSetterMatrix = -// //-- -// member obj.PropGetSetInternalInternal -// with internal get() = 1 -// and internal set(x:int) = () -// member obj.PropGetSetInternalPrivate -// with internal get() = 1 -// and private set(x:int) = () -// member obj.PropGetSetInternalPublic -// with internal get() = 1 -// and public set(x:int) = () -// //-- -// member obj.PropGetSetPrivateInternal -// with private get() = 1 -// and internal set(x:int) = () -// member obj.PropGetSetPrivatePrivate -// with private get() = 1 -// and private set(x:int) = () -// member obj.PropGetSetPrivatePublic -// with private get() = 1 -// and public set(x:int) = () -// //-- -// member obj.PropGetSetPublicInternal -// with public get() = 1 -// and internal set(x:int) = () -// member obj.PropGetSetPublicPrivate -// with public get() = 1 -// and private set(x:int) = () -// member obj.PropGetSetPublicPublic -// with public get() = 1 -// and public set(x:int) = () -// -//[] -//type MyClassImplicitCtorInternal internal() = -// member obj.Res = 12 -// -//[] -//type MyClassImplicitCtorPrivate private() = -// member obj.Res = 12 -// -//module internal ModInternal = begin end -//module private ModPrivate = begin end -//module public ModPublic = begin end -// -//type recordRepInternal = internal { rfA1 : int } -//type recordRepPrivate = private { rfA2 : int } -//type recordRepPublic = public { rfA3 : int } -// -//type dtypeRepInternal = internal | AA1 | BB1 -//type dtypeRepPrivate = private | AA2 | BB2 -//type dtypeRepPublic = public | AA3 | BB3 -// -//type internal dtypeRepPublic2 = private | AA3 | BB3 -//type private dtypeRepPublic3 = internal | AA3 | BB3 -// -//type internal dtypeRepPublic4 = -// private -// | AA3 -// | BB3 -// -//module internal M = -// module private PP = -// type dtypeRepPublic5 = -// | AA3 -// | BB3 -// -//module private M2 = -// module internal P = -// let vv = 12 -// +type internal typInternal = | AAA1 +type private typPrivate = | AAA2 +type public typPublic = | AAA3 +type typDefault = | AAA4 +type internal rrr = | AAA + +let internal ValInternal = 1212 +let private ValPrivate = 1212 +let public ValPublic = 1212 +let ValDefault = 1212 + +[] +type MyClassFields = + val internal fieldInternal : int + val private fieldPrivate : int + val public fieldPublic : int + +[] +type MyClassMutableFields = + val mutable internal mfieldInternal : int + val mutable private mfieldPrivate : int + val mutable public mfieldPublic : int + +[] +type MyClassStaticMembers = + static member internal SInternal = 12 + static member private SPrivate = 12 + static member public SPublic = 12 + static member SDefault = 12 + static member internal SMInternal() = 12 + static member private SMPrivate() = 12 + static member public SMPublic() = 12 + static member SMDefault() = 12 + +[] +type MyClassPropertiyGetters = + member internal x.InstInternal = 12 + member private x.InstPrivate = 12 + member public x.InstPublic = 12 + member x.InstDefault = 12 + +type MyClassExplicitCtors = + val v : int + internal new(x) = { v = x } + private new(x,y) = { v = x + y} + public new(x,y,z) = { v = x + y + z} + +type MyClassExplicitCtors2 = + new() = {} + internal new(x) = let v : int = x in {} + private new(x,y) = let v : int = x + y in {} + public new(x,y,z) = let v : int = x + y + z in {} + +[] +type MyClassPropertyGetSetterMatrix = + //-- + member obj.PropGetSetInternalInternal + with internal get() = 1 + and internal set(x:int) = () + member obj.PropGetSetInternalPrivate + with internal get() = 1 + and private set(x:int) = () + member obj.PropGetSetInternalPublic + with internal get() = 1 + and public set(x:int) = () + //-- + member obj.PropGetSetPrivateInternal + with private get() = 1 + and internal set(x:int) = () + member obj.PropGetSetPrivatePrivate + with private get() = 1 + and private set(x:int) = () + member obj.PropGetSetPrivatePublic + with private get() = 1 + and public set(x:int) = () + //-- + member obj.PropGetSetPublicInternal + with public get() = 1 + and internal set(x:int) = () + member obj.PropGetSetPublicPrivate + with public get() = 1 + and private set(x:int) = () + member obj.PropGetSetPublicPublic + with public get() = 1 + and public set(x:int) = () + +[] +type MyClassImplicitCtorInternal internal() = + member obj.Res = 12 + +[] +type MyClassImplicitCtorPrivate private() = + member obj.Res = 12 + +module internal ModInternal = begin end +module private ModPrivate = begin end +module public ModPublic = begin end + +type recordRepInternal = internal { rfA1 : int } +type recordRepPrivate = private { rfA2 : int } +type recordRepPublic = public { rfA3 : int } + +type dtypeRepInternal = internal | AA1 | BB1 +type dtypeRepPrivate = private | AA2 | BB2 +type dtypeRepPublic = public | AA3 | BB3 + +type internal dtypeRepPublic2 = private | AA3 | BB3 +type private dtypeRepPublic3 = internal | AA3 | BB3 + +type internal dtypeRepPublic4 = + private + | AA3 + | BB3 + +module internal M = + module private PP = + type dtypeRepPublic5 = + | AA3 + | BB3 + +module private M2 = + module internal P = + let vv = 12 + module RestrictedRecordsAndUnionsUsingPrivateAndInternalTypes = -// module public Test1 = -// -// type internal Data = -// { -// Datum: int -// } -// -// type public Datum = -// internal -// { -// Thing: Data -// } -// -// type public Datum2 = -// internal | A of Data * Data | B of Data -// -// module public Test2 = -// -// type internal Data = -// { -// Datum: int -// } -// -// type internal Datum = -// { -// Thing: Data -// } -// -// type internal Datum2 = -// | A of Data * Data | B of Data -// -// module public Test3 = -// -// type public Data = -// internal -// { -// Datum: int -// } -// -// type internal Datum = -// { -// Thing: Data -// } -// -// type internal Datum2 = -// internal | A of Data * Data | B of Data -// -// -// module public Test4 = -// -// type internal Data = -// { -// Datum: int -// } -// -// type public Datum = -// internal -// { -// Thing: Data -// } -// -// type public Datum2 = -// internal | A of Data * Data | B of Data -// -// -// module public Test5 = -// -// type private Data = -// { -// Datum: int -// } -// -// type public Datum = -// private -// { -// Thing: Data -// } -// -// type public Datum2 = -// private | A of Data * Data | B of Data + module public Test1 = + + type internal Data = + { + Datum: int + } + + type public Datum = + internal + { + Thing: Data + } + + type public Datum2 = + internal | A of Data * Data | B of Data + + module public Test2 = + + type internal Data = + { + Datum: int + } + + type internal Datum = + { + Thing: Data + } + + type internal Datum2 = + | A of Data * Data | B of Data + + module public Test3 = + + type public Data = + internal + { + Datum: int + } + + type internal Datum = + { + Thing: Data + } + + type internal Datum2 = + internal | A of Data * Data | B of Data + + + module public Test4 = + + type internal Data = + { + Datum: int + } + + type public Datum = + internal + { + Thing: Data + } + + type public Datum2 = + internal | A of Data * Data | B of Data + + + module public Test5 = + + type private Data = + { + Datum: int + } + + type public Datum = + private + { + Thing: Data + } + + type public Datum2 = + private | A of Data * Data | B of Data module Test6 =